[
  {
    "path": ".gitattributes",
    "content": "# This is a hack to get lingquist to ignore the SQL dumps that are causing\n# this repo to not be viewed as a pythong project.\ntests/* linguist-documentation"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: [totalhack]"
  },
  {
    "path": ".gitignore",
    "content": "*.egg-info\nbuild\ndocs/site\n*.pyc\n*.out\ndist\n.DS_Store\n.idea/\ntests/test_wh_config.yaml\nvolumes\n.python-version\nGEMINI.md\ntest-all.sh\n"
  },
  {
    "path": ".pre-commit-config.yaml",
    "content": "repos:\n-   repo: https://github.com/psf/black\n    rev: stable\n    hooks:\n    - id: black\n      language_version: python3.7\n"
  },
  {
    "path": ".pylintrc",
    "content": "[MASTER]\n\n# A comma-separated list of package or module names from where C extensions may\n# be loaded. Extensions are loading into the active Python interpreter and may\n# run arbitrary code.\nextension-pkg-whitelist=\n\n# Add files or directories to the blacklist. They should be base names, not\n# paths.\nignore=CVS\n\n# Add files or directories matching the regex patterns to the blacklist. The\n# regex matches against base names, not paths.\nignore-patterns=\n\n# Python code to execute, usually for sys.path manipulation such as\n# pygtk.require().\n#init-hook=\n\n# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the\n# number of processors available to use.\njobs=1\n\n# Control the amount of potential inferred values when inferring a single\n# object. This can help the performance when dealing with large functions or\n# complex, nested conditions.\nlimit-inference-results=100\n\n# List of plugins (as comma separated values of python modules names) to load,\n# usually to register additional checkers.\nload-plugins=\n\n# Pickle collected data for later comparisons.\npersistent=yes\n\n# Specify a configuration file.\n#rcfile=\n\n# When enabled, pylint would attempt to guess common misconfiguration and emit\n# user-friendly hints instead of false-positive error messages.\nsuggestion-mode=yes\n\n# Allow loading of arbitrary C extensions. Extensions are imported into the\n# active Python interpreter and may run arbitrary code.\nunsafe-load-any-extension=no\n\n\n[MESSAGES CONTROL]\n\n# Only show warnings with the listed confidence levels. Leave empty to show\n# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.\nconfidence=\n\n# Disable the message, report, category or checker with the given id(s). You\n# can either give multiple identifiers separated by comma (,) or put this\n# option multiple times (only on the command line, not in the configuration\n# file where it should appear only once). You can also use \"--disable=all\" to\n# disable everything first and then reenable specific checks. For example, if\n# you want to run only the similarities checker, you can use \"--disable=all\n# --enable=similarities\". If you want to run only the classes checker, but have\n# no Warning level messages displayed, use \"--disable=all --enable=classes\n# --disable=W\".\ndisable=print-statement,\n        parameter-unpacking,\n        unpacking-in-except,\n        old-raise-syntax,\n        backtick,\n        long-suffix,\n        old-ne-operator,\n        old-octal-literal,\n        import-star-module-level,\n        non-ascii-bytes-literal,\n        raw-checker-failed,\n        bad-inline-option,\n        locally-disabled,\n        file-ignored,\n        suppressed-message,\n        useless-suppression,\n        deprecated-pragma,\n        use-symbolic-message-instead,\n        apply-builtin,\n        basestring-builtin,\n        buffer-builtin,\n        cmp-builtin,\n        coerce-builtin,\n        execfile-builtin,\n        file-builtin,\n        long-builtin,\n        raw_input-builtin,\n        reduce-builtin,\n        standarderror-builtin,\n        unicode-builtin,\n        xrange-builtin,\n        coerce-method,\n        delslice-method,\n        getslice-method,\n        setslice-method,\n        no-absolute-import,\n        old-division,\n        dict-iter-method,\n        dict-view-method,\n        next-method-called,\n        metaclass-assignment,\n        indexing-exception,\n        raising-string,\n        reload-builtin,\n        oct-method,\n        hex-method,\n        nonzero-method,\n        cmp-method,\n        input-builtin,\n        round-builtin,\n        intern-builtin,\n        unichr-builtin,\n        map-builtin-not-iterating,\n        zip-builtin-not-iterating,\n        range-builtin-not-iterating,\n        filter-builtin-not-iterating,\n        using-cmp-argument,\n        eq-without-hash,\n        div-method,\n        idiv-method,\n        rdiv-method,\n        exception-message-attribute,\n        invalid-str-codec,\n        sys-max-int,\n        bad-python3-import,\n        deprecated-string-function,\n        deprecated-str-translate-call,\n        deprecated-itertools-function,\n        deprecated-types-field,\n        next-method-defined,\n        dict-items-not-iterating,\n        dict-keys-not-iterating,\n        dict-values-not-iterating,\n        deprecated-operator-function,\n        deprecated-urllib-function,\n        xreadlines-attribute,\n        deprecated-sys-function,\n        exception-escape,\n        comprehension-escape,\n        bad-continuation,\n        too-many-lines,\n        redefined-builtin,\n        too-few-public-methods,\n        too-many-ancestors,\n        invalid-name,\n        no-member,\n        unnecessary-pass,\n        abstract-method,\n        arguments-differ,\n        no-self-use,\n        protected-access,\n        too-many-arguments,\n        unused-argument,\n        attribute-defined-outside-init,\n        broad-except,\n        return-in-init,\n        bare-except,\n        unused-wildcard-import,\n        too-many-locals,\n        too-many-branches,\n        duplicate-code\n\n# Enable the message, report, category or checker with the given id(s). You can\n# either give multiple identifier separated by comma (,) or put this option\n# multiple time (only on the command line, not in the configuration file where\n# it should appear only once). See also the \"--disable\" option for examples.\nenable=c-extension-no-member\n\n\n[REPORTS]\n\n# Python expression which should return a note less than 10 (10 is the highest\n# note). You have access to the variables errors warning, statement which\n# respectively contain the number of errors / warnings messages and the total\n# number of statements analyzed. This is used by the global evaluation report\n# (RP0004).\nevaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)\n\n# Template used to display messages. This is a python new-style format string\n# used to format the message information. See doc for all details.\n#msg-template=\n\n# Set the output format. Available formats are text, parseable, colorized, json\n# and msvs (visual studio). You can also give a reporter class, e.g.\n# mypackage.mymodule.MyReporterClass.\noutput-format=text\n\n# Tells whether to display a full report or only the messages.\nreports=no\n\n# Activate the evaluation score.\nscore=yes\n\n\n[REFACTORING]\n\n# Maximum number of nested blocks for function / method body\nmax-nested-blocks=5\n\n# Complete name of functions that never returns. When checking for\n# inconsistent-return-statements if a never returning function is called then\n# it will be considered as an explicit return statement and no message will be\n# printed.\nnever-returning-functions=sys.exit\n\n\n[BASIC]\n\n# Naming style matching correct argument names.\nargument-naming-style=snake_case\n\n# Regular expression matching correct argument names. Overrides argument-\n# naming-style.\n#argument-rgx=\n\n# Naming style matching correct attribute names.\nattr-naming-style=snake_case\n\n# Regular expression matching correct attribute names. Overrides attr-naming-\n# style.\n#attr-rgx=\n\n# Bad variable names which should always be refused, separated by a comma.\nbad-names=foo,\n          bar,\n          baz,\n          toto,\n          tutu,\n          tata\n\n# Naming style matching correct class attribute names.\nclass-attribute-naming-style=any\n\n# Regular expression matching correct class attribute names. Overrides class-\n# attribute-naming-style.\n#class-attribute-rgx=\n\n# Naming style matching correct class names.\nclass-naming-style=PascalCase\n\n# Regular expression matching correct class names. Overrides class-naming-\n# style.\n#class-rgx=\n\n# Naming style matching correct constant names.\nconst-naming-style=UPPER_CASE\n\n# Regular expression matching correct constant names. Overrides const-naming-\n# style.\n#const-rgx=\n\n# Minimum line length for functions/classes that require docstrings, shorter\n# ones are exempt.\ndocstring-min-length=-1\n\n# Naming style matching correct function names.\nfunction-naming-style=snake_case\n\n# Regular expression matching correct function names. Overrides function-\n# naming-style.\n#function-rgx=\n\n# Good variable names which should always be accepted, separated by a comma.\ngood-names=i,\n           j,\n           k,\n           ex,\n           Run,\n           _\n\n# Include a hint for the correct naming format with invalid-name.\ninclude-naming-hint=no\n\n# Naming style matching correct inline iteration names.\ninlinevar-naming-style=any\n\n# Regular expression matching correct inline iteration names. Overrides\n# inlinevar-naming-style.\n#inlinevar-rgx=\n\n# Naming style matching correct method names.\nmethod-naming-style=snake_case\n\n# Regular expression matching correct method names. Overrides method-naming-\n# style.\n#method-rgx=\n\n# Naming style matching correct module names.\nmodule-naming-style=snake_case\n\n# Regular expression matching correct module names. Overrides module-naming-\n# style.\n#module-rgx=\n\n# Colon-delimited sets of names that determine each other's naming style when\n# the name regexes allow several styles.\nname-group=\n\n# Regular expression which should only match function or class names that do\n# not require a docstring.\nno-docstring-rgx=^_\n\n# List of decorators that produce properties, such as abc.abstractproperty. Add\n# to this list to register other decorators that produce valid properties.\n# These decorators are taken in consideration only for invalid-name.\nproperty-classes=abc.abstractproperty\n\n# Naming style matching correct variable names.\nvariable-naming-style=snake_case\n\n# Regular expression matching correct variable names. Overrides variable-\n# naming-style.\n#variable-rgx=\n\n\n[FORMAT]\n\n# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.\nexpected-line-ending-format=\n\n# Regexp for a line that is allowed to be longer than the limit.\nignore-long-lines=^\\s*(# )?<?https?://\\S+>?$\n\n# Number of spaces of indent required inside a hanging or continued line.\nindent-after-paren=4\n\n# String used as indentation unit. This is usually \"    \" (4 spaces) or \"\\t\" (1\n# tab).\nindent-string='    '\n\n# Maximum number of characters on a single line.\nmax-line-length=100\n\n# Maximum number of lines in a module.\nmax-module-lines=1000\n\n# List of optional constructs for which whitespace checking is disabled. `dict-\n# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\\n222: 2}.\n# `trailing-comma` allows a space between comma and closing bracket: (a, ).\n# `empty-line` allows space-only lines.\nno-space-check=trailing-comma,\n               dict-separator\n\n# Allow the body of a class to be on the same line as the declaration if body\n# contains single statement.\nsingle-line-class-stmt=no\n\n# Allow the body of an if to be on the same line as the test if there is no\n# else.\nsingle-line-if-stmt=no\n\n\n[LOGGING]\n\n# Format style used to check logging format string. `old` means using %\n# formatting, while `new` is for `{}` formatting.\nlogging-format-style=old\n\n# Logging modules to check that the string format arguments are in logging\n# function parameter format.\nlogging-modules=logging\n\n\n[MISCELLANEOUS]\n\n# List of note tags to take in consideration, separated by a comma.\nnotes=FIXME,\n      XXX,\n      TODO\n\n\n[SIMILARITIES]\n\n# Ignore comments when computing similarities.\nignore-comments=yes\n\n# Ignore docstrings when computing similarities.\nignore-docstrings=yes\n\n# Ignore imports when computing similarities.\nignore-imports=no\n\n# Minimum lines number of a similarity.\nmin-similarity-lines=4\n\n\n[SPELLING]\n\n# Limits count of emitted suggestions for spelling mistakes.\nmax-spelling-suggestions=4\n\n# Spelling dictionary name. Available dictionaries: none. To make it working\n# install python-enchant package..\nspelling-dict=\n\n# List of comma separated words that should not be checked.\nspelling-ignore-words=\n\n# A path to a file that contains private dictionary; one word per line.\nspelling-private-dict-file=\n\n# Tells whether to store unknown words to indicated private dictionary in\n# --spelling-private-dict-file option instead of raising a message.\nspelling-store-unknown-words=no\n\n\n[STRING]\n\n# This flag controls whether the implicit-str-concat-in-sequence should\n# generate a warning on implicit string concatenation in sequences defined over\n# several lines.\ncheck-str-concat-over-line-jumps=no\n\n\n[TYPECHECK]\n\n# List of decorators that produce context managers, such as\n# contextlib.contextmanager. Add to this list to register other decorators that\n# produce valid context managers.\ncontextmanager-decorators=contextlib.contextmanager\n\n# List of members which are set dynamically and missed by pylint inference\n# system, and so shouldn't trigger E1101 when accessed. Python regular\n# expressions are accepted.\ngenerated-members=\n\n# Tells whether missing members accessed in mixin class should be ignored. A\n# mixin class is detected if its name ends with \"mixin\" (case insensitive).\nignore-mixin-members=yes\n\n# Tells whether to warn about missing members when the owner of the attribute\n# is inferred to be None.\nignore-none=yes\n\n# This flag controls whether pylint should warn about no-member and similar\n# checks whenever an opaque object is returned when inferring. The inference\n# can return multiple potential results while evaluating a Python object, but\n# some branches might not be evaluated, which results in partial inference. In\n# that case, it might be useful to still emit no-member and other checks for\n# the rest of the inferred objects.\nignore-on-opaque-inference=yes\n\n# List of class names for which member attributes should not be checked (useful\n# for classes with dynamically set attributes). This supports the use of\n# qualified names.\nignored-classes=optparse.Values,thread._local,_thread._local\n\n# List of module names for which member attributes should not be checked\n# (useful for modules/projects where namespaces are manipulated during runtime\n# and thus existing member attributes cannot be deduced by static analysis. It\n# supports qualified module names, as well as Unix pattern matching.\nignored-modules=\n\n# Show a hint with possible names when a member name was not found. The aspect\n# of finding the hint is based on edit distance.\nmissing-member-hint=yes\n\n# The minimum edit distance a name should have in order to be considered a\n# similar match for a missing member name.\nmissing-member-hint-distance=1\n\n# The total number of similar names that should be taken in consideration when\n# showing a hint for a missing member.\nmissing-member-max-choices=1\n\n\n[VARIABLES]\n\n# List of additional names supposed to be defined in builtins. Remember that\n# you should avoid defining new builtins when possible.\nadditional-builtins=\n\n# Tells whether unused global variables should be treated as a violation.\nallow-global-unused-variables=yes\n\n# List of strings which can identify a callback function by name. A callback\n# name must start or end with one of those strings.\ncallbacks=cb_,\n          _cb\n\n# A regular expression matching the name of dummy variables (i.e. expected to\n# not be used).\ndummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_\n\n# Argument names that match this expression will be ignored. Default to name\n# with leading underscore.\nignored-argument-names=_.*|^ignored_|^unused_\n\n# Tells whether we should check for unused import in __init__ files.\ninit-import=no\n\n# List of qualified module names which can have objects that can redefine\n# builtins.\nredefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io\n\n\n[CLASSES]\n\n# List of method names used to declare (i.e. assign) instance attributes.\ndefining-attr-methods=__init__,\n                      __new__,\n                      setUp\n\n# List of member names, which should be excluded from the protected access\n# warning.\nexclude-protected=_asdict,\n                  _fields,\n                  _replace,\n                  _source,\n                  _make\n\n# List of valid names for the first argument in a class method.\nvalid-classmethod-first-arg=cls\n\n# List of valid names for the first argument in a metaclass class method.\nvalid-metaclass-classmethod-first-arg=cls\n\n\n[DESIGN]\n\n# Maximum number of arguments for function / method.\nmax-args=5\n\n# Maximum number of attributes for a class (see R0902).\nmax-attributes=7\n\n# Maximum number of boolean expressions in an if statement.\nmax-bool-expr=5\n\n# Maximum number of branch for function / method body.\nmax-branches=12\n\n# Maximum number of locals for function / method body.\nmax-locals=15\n\n# Maximum number of parents for a class (see R0901).\nmax-parents=7\n\n# Maximum number of public methods for a class (see R0904).\nmax-public-methods=20\n\n# Maximum number of return / yield for function / method body.\nmax-returns=6\n\n# Maximum number of statements in function / method body.\nmax-statements=50\n\n# Minimum number of public methods for a class (see R0903).\nmin-public-methods=2\n\n\n[IMPORTS]\n\n# Allow wildcard imports from modules that define __all__.\nallow-wildcard-with-all=no\n\n# Analyse import fallback blocks. This can be used to support both Python 2 and\n# 3 compatible code, which means that the block might have code that exists\n# only in one or another interpreter, leading to false positives when analysed.\nanalyse-fallback-blocks=no\n\n# Deprecated modules which should not be used, separated by a comma.\ndeprecated-modules=optparse,tkinter.tix\n\n# Create a graph of external dependencies in the given file (report RP0402 must\n# not be disabled).\next-import-graph=\n\n# Create a graph of every (i.e. internal and external) dependencies in the\n# given file (report RP0402 must not be disabled).\nimport-graph=\n\n# Create a graph of internal dependencies in the given file (report RP0402 must\n# not be disabled).\nint-import-graph=\n\n# Force import order to recognize a module as part of the standard\n# compatibility libraries.\nknown-standard-library=\n\n# Force import order to recognize a module as part of a third party library.\nknown-third-party=enchant\n\n\n[EXCEPTIONS]\n\n# Exceptions that will emit a warning when being caught. Defaults to\n# \"BaseException, Exception\".\novergeneral-exceptions=BaseException,\n                       Exception\n"
  },
  {
    "path": ".readthedocs.yml",
    "content": "mkdocs:\n  configuration: mkdocs.yml\n\npython:\n  version: 3.7\n  install:\n    - requirements: docs/requirements.txt\n"
  },
  {
    "path": "AUTHORS.md",
    "content": "Zillion is written and maintained by [@totalhack](https://github.com/totalhack). Contributors welcome!\n\n# **Core Contributors**\n\n- [@totalhack](https://github.com/totalhack)\n\n# **Patches and Suggestions**\n\nPlease see the [contributing](https://github.com/totalhack/zillion/blob/master/CONTRIBUTING.md)\nguide for more information.\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "[This](https://www.kennethreitz.org/essays/be-cordial-or-be-on-your-way) is a good starting point.\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "Your help and feedback are greatly appreciated. Whether it's supporting/testing\na new datasource type, finding bugs, or suggesting features, every little bit\nhelps make `Zillion` reach its potential. \n\nPlease also consider manicuring or configuring datasets that others may find\nuseful. With as little as a CSV and a short JSON configuration file you can\ngive back to the community. You can host these shared datasources easily with\nGitHub.\n\n## **How to Contribute**\n\n1.  Check for open issues or open a new issue to start a discussion around a\n    feature idea or a bug.\n2.  Fork [the repository](https://github.com/totalhack/zillion) on GitHub to\n    start making your changes to the **master** branch (or branch off of it).\n3.  Write a test which shows that the bug was fixed or that the feature works\n    as expected.\n4.  Send a [pull request](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork). Add yourself to\n    [AUTHORS](https://github.com/totalhack/zillion/blob/master/AUTHORS.md).\n\n## **Development Setup**\n\n```shell\n# Clone this repo\ngit clone https://github.com/totalhack/zillion.git\ncd zillion\n\n# Install dependencies\n# Note: activate your venv first if desired!\npip install \".[dev]\"\n\n# Bring up test databases -- test data will init the first time\n# You can optionally run these DBs directly on your machine instead\ndocker-compose up\n\n# Run tests\nexport ZILLION_CONFIG=$(pwd)/tests/test_config.yaml\ncd tests\npytest\n```\n\n## **Good Bug Reports**\n\nPlease be aware of the following things when filing bug reports:\n\n1. Avoid raising duplicate issues. *Please* use the GitHub issue search feature\n   to check whether your bug report or feature request has been mentioned in\n   the past. Duplicate bug reports and feature requests are a huge maintenance\n   burden on the limited resources of the project. If it is clear from your\n   report that you would have struggled to find the original, that's ok, but\n   if searching for a selection of words in your issue title would have found\n   the duplicate then the issue will likely be closed.\n2. When filing bug reports about exceptions or tracebacks, please include the\n   *complete* traceback. Partial tracebacks, or just the exception text, are\n   not helpful. Issues that do not contain complete tracebacks may be closed\n   without warning.\n3. Make sure you provide a suitable amount of information to work with.\n\n## **Questions**\n\nThe GitHub issue tracker is for *bug reports* and *feature requests*. Please do\nnot use it to ask questions about how to use Zillion.\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2019-present, Kurt Matarese\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "Makefile",
    "content": "PY := $(shell which python)\nENV := $(abspath $(dir $(PY))/..)\nPIP := $(ENV)/bin/pip\nUV := $(ENV)/bin/uv\n\nPACKAGE_NAME := zillion\nTEST_ENV := /tmp/zillion_pip_test\n\nVERSION = $(shell $(PY) -c \"import re,sys;print(re.search(r'__version__\\\\s*=\\\\s*[\\\\\\\"\\\\']([^\\\\\\\"\\\\']+)[\\\\\\\"\\\\']', open('zillion/version.py').read()).group(1))\")\n\nall: develop\n\n# bootstrap venv and tooling\nbootstrap:\n\tpython -m venv $(ENV)\n\t$(PIP) install -U pip setuptools wheel build twine uv\n\nclean:\n\trm -rf build dist *.egg-info pinned-requirements.txt\n\ndocs:\n\tcd docs && $(PY) build_markdown.py\n\ndeploy_docs:\n\t$(PIP) install -U mkdocs mkdocs-material mkdocs-material-extensions\n\tcd docs && mkdocs gh-deploy\n\nlock:\n\t$(UV) lock\n\nsync-dev:\n\t$(UV) sync --dev --active --extra dev --extra mysql --extra postgres --extra duckdb\n\nsync-ci:\n\t$(UV) sync --locked --active\n\nsync-runtime:\n\t$(UV) sync --locked --active\n\n# build wheel/sdist via pyproject\nbuild:\n\t$(PY) -m build\n\n# export pinned requirements (optional, for pip-only CI/Docker)\nrequirements:\n\t$(UV) export --format requirements-txt -o pinned-requirements.txt\n\n# install built wheel into env\ninstall-wheel: build\n\t$(PIP) install --force-reinstall dist/$(PACKAGE_NAME)-$(VERSION)-py3-none-any.whl\n\nuninstall:\n\tif $(PIP) freeze 2>&1 | grep -q \"^$(PACKAGE_NAME)==\"; then \\\n\t  $(PIP) uninstall -y $(PACKAGE_NAME); \\\n\telse \\\n\t  echo \"No installed package found!\"; \\\n\tfi\n\ndist: clean build\n\nupload:\n\t$(PY) -m twine upload dist/*\n\ntest_upload:\n\t$(PY) -m twine upload --repository-url \"https://test.pypi.org/legacy/\" dist/*\n\n# create a clean test venv; if uv.lock exists, optionally use uv inside the test venv to sync\ntest_env:\n\trm -rf $(TEST_ENV)\n\t$(PY) -m venv $(TEST_ENV)\n\t$(TEST_ENV)/bin/pip install -U pip\n\tif [ -f uv.lock ]; then \\\n\t  $(TEST_ENV)/bin/pip install uv; \\\n\t  $(TEST_ENV)/bin/uv sync --locked; \\\n\tfi\n\n# publish to PyPI then smoke-test install in a clean venv\npip: dist upload test_env\n\tsleep 30\n\t$(TEST_ENV)/bin/pip install -U $(PACKAGE_NAME)==$(VERSION)\n\t$(TEST_ENV)/bin/python -c \"import $(PACKAGE_NAME)\"\n\n# publish to TestPyPI then smoke-test install from TestPyPI in a clean venv\ntest_pip: dist test_upload test_env\n\tsleep 30\n\t$(TEST_ENV)/bin/pip install -i \"https://test.pypi.org/simple/\" --extra-index-url \"https://pypi.org/simple/\" $(PACKAGE_NAME)==$(VERSION)\n\t$(TEST_ENV)/bin/python -c \"import $(PACKAGE_NAME)\"\n\n.PHONY: all bootstrap clean docs deploy_docs develop build export-pinned install uninstall dist upload test_upload test_env pip test_pip\n"
  },
  {
    "path": "README.md",
    "content": "Zillion: Make sense of it all\n=============================\n\n[![Generic badge](https://img.shields.io/badge/Status-Alpha-yellow.svg)](https://shields.io/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![License: MIT](https://img.shields.io/badge/license-MIT-blue)\n![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue)\n[![Downloads](https://static.pepy.tech/badge/zillion)](https://pepy.tech/project/zillion)\n\n\n**Introduction**\n----------------\n\n`Zillion` is a data modeling and analytics tool that allows combining and\nanalyzing data from multiple datasources through a simple API. It acts as a semantic layer\non top of your data, writes SQL so you don't have to, and easily bolts onto existing\ndatabase infrastructure via SQLAlchemy Core. The `Zillion` NLP extension has experimental\nsupport for AI-powered natural language querying and warehouse configuration.\n\nWith `Zillion` you can:\n\n* Define a warehouse that contains a variety of SQL and/or file-like\n  datasources\n* Define or reflect metrics, dimensions, and relationships in your data\n* Run multi-datasource reports and combine the results in a DataFrame\n* Flexibly aggregate your data with multi-level rollups and table pivots\n* Customize or combine fields with formulas\n* Apply technical transformations including rolling, cumulative, and rank\n  statistics\n* Apply automatic type conversions - i.e. get a \"year\" dimension for free\n  from a \"date\" column\n* Save and share report specifications\n* Utilize ad hoc or public datasources, tables, and fields to enrich reports\n* Query your warehouse with natural language (NLP extension)\n* Leverage AI to bootstrap your warehouse configurations (NLP extension)\n\n\n**Table of Contents**\n---------------------\n\n* [Installation](#installation)\n* [Primer](#primer)\n    * [Metrics and Dimensions](#metrics-and-dimensions)\n    * [Warehouse Theory](#warehouse-theory)\n    * [Query Layers](#query-layers)\n    * [Warehouse Creation](#warehouse-creation)\n    * [Executing Reports](#executing-reports)\n    * [Natural Language Querying](#natural-language-querying)\n    * [Zillion Configuration](#zillion-configuration)\n* [Example - Sales Analytics](#example-sales-analytics)\n    * [Warehouse Configuration](#example-warehouse-config)\n    * [Reports](#example-reports)\n* [Advanced Topics](#advanced-topics)\n    * [Subreports](#subreports)\n    * [FormulaMetrics](#formula-metrics)\n    * [Divisor Metrics](#divisor-metrics)\n    * [Aggregation Variants](#aggregation-variants)\n    * [FormulaDimensions](#formula-dimensions)\n    * [DataSource Formulas](#datasource-formulas)\n    * [Type Conversions](#type-conversions)\n    * [AdHocMetrics](#adhoc-metrics)\n    * [AdHocDimensions](#adhoc-dimensions)\n    * [AdHocDataTables](#adhoc-data-tables)\n    * [Technicals](#technicals)\n    * [Config Variables](#config-variables)\n    * [DataSource Priority](#datasource-priority)\n* [Supported DataSources](#supported-datasources)\n* [Multiprocess Considerations](#multiprocess-considerations)\n* [Demo UI / Web API](#demo-ui)\n* [Docs](#documentation)\n* [How to Contribute](#how-to-contribute)\n\n\n<a name=\"installation\"></a>\n\n**Installation**\n----------------\n\n> **Warning**: This project is in an alpha state and is subject to change. Please test carefully for production usage and report any issues.\n\n```shell\n$ pip install zillion\n\nor\n\n$ pip install zillion[nlp]\n```\n\n---\n\n<a name=\"primer\"></a>\n\n**Primer**\n----------\n\nThe following is meant to give a quick overview of some theory and\nnomenclature used in data warehousing with `Zillion` which will be useful\nif you are newer to this area. You can also skip below for a usage [example](#example-sales-analytics) or warehouse/datasource creation [quickstart](#warehouse-creation) options.\n\nIn short: `Zillion` writes SQL for you and makes data accessible through a very simple API:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\n```\n\n<a name=\"metrics-and-dimensions\"></a>\n\n### **Metrics and Dimensions**\n\nIn `Zillion` there are two main types of `Fields` that will be used in\nyour report requests:\n\n1. `Dimensions`: attributes of data used for labelling, grouping, and filtering\n2. `Metrics`: facts and measures that may be broken down along dimensions\n\nA `Field` encapsulates the concept of a column in your data. For example, you\nmay have a `Field` called \"revenue\". That `Field` may occur across several\ndatasources or possibly in multiple tables within a single datasource. `Zillion` \nunderstands that all of those columns represent the same concept, and it can try \nto use any of them to satisfy reports requesting \"revenue\".\n\nLikewise there are two main types of tables used to structure your warehouse:\n\n1. `Dimension Tables`: reference/attribute tables containing only related\ndimensions\n2. `Metric Tables`: fact tables that may contain metrics and some related\ndimensions/attributes\n\nDimension tables are often static or slowly growing in terms of row count and contain\nattributes tied to a primary key. Some common examples would be lists of US Zip Codes or\ncompany/partner directories.\n\nMetric tables are generally more transactional in nature. Some common examples\nwould be records for web requests, ecommerce sales, or stock market price history.\n\n<a name=\"warehouse-theory\"></a>\n\n### **Warehouse Theory**\n\nIf you really want to go deep on dimensional modeling and the drill-across\nquerying technique `Zillion` employs, I recommend reading Ralph Kimball's\n[book](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/data-warehouse-dw-toolkit/) on data warehousing.\n\nTo summarize, [drill-across\nquerying](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/drilling-across/)\nforms one or more queries to satisfy a report request for `metrics` that may\nexist across multiple datasources and/or tables at a particular `dimension` grain.\n\n`Zillion` supports flexible warehouse setups such as\n[snowflake](https://en.wikipedia.org/wiki/Snowflake_schema) or\n[star](https://en.wikipedia.org/wiki/Star_schema) schemas, though it isn't\npicky about it. You can specify table relationships through a parent-child\nlineage, and `Zillion` can also infer acceptable joins based on the presence\nof dimension table primary keys. `Zillion` does not support many-to-many relationships at this time, though most analytics-focused scenarios should be able to work around that by adding views to the model if needed.\n\n<a name=\"query-layers\"></a>\n\n### **Query Layers**\n\n`Zillion` reports can be thought of as running in two layers:\n\n1. `DataSource Layer`: SQL queries against the warehouse's datasources\n2. `Combined Layer`: A final SQL query against the combined data from the\nDataSource Layer\n\nThe Combined Layer is just another SQL database (in-memory SQLite by default)\nthat is used to tie the datasource data together and apply a few additional\nfeatures such as rollups, row filters, row limits, sorting, pivots, and technical computations.\n\n<a name=\"warehouse-creation\"></a>\n\n### **Warehouse Creation**\n\nThere are multiple ways to quickly initialize a warehouse from a local or remote file:\n\n```python\n# Path/link to a CSV, XLSX, XLS, JSON, HTML, or Google Sheet\n# This builds a single-table Warehouse for quick/ad-hoc analysis.\nurl = \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.xlsx\"\nwh = Warehouse.from_data_file(url, [\"Zip_Code\"]) # Second arg is primary key\n\n# Path/link to a sqlite database\n# This can build a single or multi-table Warehouse\nurl = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\nwh = Warehouse.from_db_file(url)\n\n# Path/link to a WarehouseConfigSchema (or pass a dict)\n# This is the recommended production approach!\nconfig = \"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\"\nwh = Warehouse(config=config)\n```\n\nZillion also provides a helper script to boostrap a DataSource configuration file for an existing database. See `zillion.scripts.bootstrap_datasource_config.py`. The bootstrap script requires a connection/database url and output file as arguments. See `--help` output for more options, including the optional `--nlp` flag that leverages OpenAI to infer configuration information such as column types, table types, and table relationships. The NLP feature requires the NLP extension to be installed as well as the following set in your `Zillion` config file:\n\n* OPENAI_MODEL\n* OPENAI_API_KEY\n\n<a name=\"executing-reports\"></a>\n\n### **Executing Reports**\n\nThe main purpose of `Zillion` is to execute reports against a `Warehouse`.\nAt a high level you will be crafting reports as follows:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\nprint(result.df) # Pandas DataFrame\n```\n\nWhen comparing to writing SQL, it's helpful to think of the dimensions as the\ntarget columns of a **group by** SQL statement. Think of the metrics as the\ncolumns you are **aggregating**. Think of the criteria as the **where\nclause**. Your criteria are applied in the DataSource Layer SQL queries.\n\nThe `ReportResult` has a Pandas DataFrame with the dimensions as the index and\nthe metrics as the columns.\n\nA `Report` is said to have a `grain`, which defines the dimensions each metric\nmust be able to join to in order to satisfy the `Report` requirements. The\n`grain` is a combination of **all** dimensions, including those referenced in\ncriteria or in metric formulas. In the example above, the `grain` would be\n`{date, partner}`. Both \"revenue\" and \"leads\" must be able to join to those\ndimensions for this report to be possible.\n\nThese concepts can take time to sink in and obviously vary with the specifics\nof your data model, but you will become more familiar with them as you start\nputting together reports against your data warehouses.\n\n<a name=\"natural-language-querying\"></a>\n\n### **Natural Language Querying**\n\nWith the NLP extension `Zillion` has experimental support for natural language querying of your data warehouse. For example:\n\n```python\nresult = warehouse.execute_text(\"revenue and leads by date last month\")\nprint(result.df) # Pandas DataFrame\n```\n\nThis NLP feature requires a running instance of Qdrant (vector database) and the following values set in your `Zillion` config file:\n\n* QDRANT_HOST\n* OPENAI_API_KEY\n\nEmbeddings will be produced and stored in both Qdrant and a local cache. The\nvector database will be initialized the first time you try to use this by\nanalyzing all fields in your warehouse. An example docker file to run Qdrant is provided in the root of this repo.\n\nYou have some control over how fields get embedded. Namely in the configuration for any field you can choose whether to exclude a field from embeddings or override which embeddings map to that field. All fields are\nincluded by default. The following example would exclude the `net_revenue` field from being embedded and map `revenue` metric requests to the `gross_revenue` field.\n\n```javascript\n{\n    \"name\": \"gross_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            // enabled defaults to true\n            \"embedding_text\": \"revenue\" // str or list of str\n        }\n    }\n},\n{\n    \"name\": \"net_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            \"enabled\": false\n        }\n    }\n},\n```\n\nAdditionally you may also exclude fields via the following warehouse-level configuration settings:\n\n```javascript\n{\n    \"meta\": {\n        \"nlp\": {\n            \"field_disabled_patterns\": [\n                // list of regex patterns to exclude\n                \"rpl_ma_5\"\n            ],\n            \"field_disabled_groups\": [\n                // list of \"groups\" to exclude, assuming you have\n                // set group value in the field's meta dict.\n                \"No NLP\"\n            ]\n        }\n    },\n    ...\n}\n```\n\nIf a field is disabled at any of the aforementioned levels it will be ignored. This type of control becomes useful as your data model gets more complex and you want to guide the NLP logic in cases where it could confuse similarly named fields. Any time you adjust which fields are excluded you will want to force recreation of your embeddings collection using the `force_recreate` flag on `Warehouse.init_embeddings`.\n\n> *Note:* This feature is in its infancy. It's usefulness will depend on the\nquality of both the input query and your data model (i.e. good field names)!\n\n<a name=\"zillion-configuration\"></a>\n\n### **Zillion Configuration**\n\nIn addition to configuring the structure of your `Warehouse`, which will be\ndiscussed further below, `Zillion` has a global configuration to control some\nbasic settings. The `ZILLION_CONFIG` environment var can point to a yaml config file. See `examples/sample_config.yaml` for more details on what values can be set. Environment vars prefixed with ZILLION_ can override config settings (i.e. ZILLION_DB_URL will override DB_URL).\n\nThe database used to store Zillion report specs can be configured by setting the DB_URL value in your `Zillion` config to a valid database connection string. By default a SQLite DB in /tmp is used.\n\n---\n\n<a name=\"example-sales-analytics\"></a>\n\n**Example - Sales Analytics**\n-----------------------------\n\nBelow we will walk through a simple hypothetical sales data model that\ndemonstrates basic `DataSource` and `Warehouse` configuration and then shows\nsome sample [reports](#example-reports). The data is a simple SQLite database\nthat is part of the `Zillion` test code. For reference, the schema is as\nfollows:\n\n```sql\nCREATE TABLE partners (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE campaigns (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  category VARCHAR NOT NULL,\n  partner_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE leads (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL,\n  campaign_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE sales (\n  id INTEGER PRIMARY KEY,\n  item VARCHAR NOT NULL,\n  quantity INTEGER NOT NULL,\n  revenue DECIMAL(10, 2),\n  lead_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n```\n\n<a name=\"example-warehouse-config\"></a>\n\n### **Warehouse Configuration**\n\nA `Warehouse` may be created from a JSON or YAML configuration that defines\nits fields, datasources, and tables. The code below shows how it can be done in as little as one line of code if you have a pointer to a JSON/YAML `Warehouse` config.\n\n```python\nfrom zillion import Warehouse\n\nwh = Warehouse(config=\"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\")\n```\n\nThis example config uses a `data_url` in its `DataSource` `connect` info that\ntells `Zillion` to dynamically download that data and connect to it as a\nSQLite database. This is useful for quick examples or analysis, though in most\nscenarios you would put a connection string to an existing database like you\nsee\n[here](https://raw.githubusercontent.com/totalhack/zillion/master/tests/test_mysql_ds_config.json)\n\nThe basics of `Zillion's` warehouse configuration structure are as follows:\n\nA `Warehouse` config has the following main sections:\n\n* `metrics`: optional list of metric configs for global metrics\n* `dimensions`: optional list of dimension configs for global dimensions\n* `datasources`: mapping of datasource names to datasource configs or config URLs\n\nA `DataSource` config has the following main sections:\n\n* `connect`: database connection url or dict of connect params\n* `metrics`: optional list of metric configs specific to this datasource\n* `dimensions`: optional list of dimension configs specific to this datasource\n* `tables`: mapping of table names to table configs or config URLs\n\n> Tip: datasource and table configs may also be replaced with a URL that points\nto a local or remote config file.\n\nIn this example all four tables in our database are included in the config,\ntwo as dimension tables and two as metric tables. The tables are linked\nthrough a parent->child relationship: partners to campaigns, and leads to\nsales.  Some tables also utilize the `create_fields` flag to automatically\ncreate `Fields` on the datasource from column definitions. Other metrics and\ndimensions are defined explicitly.\n\nTo view the structure of this `Warehouse` after init you can use the `print_info`\nmethod which shows all metrics, dimensions, tables, and columns that are part\nof your data warehouse:\n\n```python\nwh.print_info() # Formatted print of the Warehouse structure\n```\n\nFor a deeper dive of the config schema please see the full\n[docs](https://totalhack.github.io/zillion/zillion.configs/).\n\n<a name=\"example-reports\"></a>\n\n### **Reports**\n\n**Example:** Get sales, leads, and revenue by partner:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n\nprint(result.df)\n\"\"\"\n              sales  leads  revenue\npartner_name\nPartner A        11      4    165.0\nPartner B         2      2     19.0\nPartner C         5      1    118.5\n\"\"\"\n```\n\n**Example:** Let's limit to Partner A and break down by its campaigns:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"campaign_name\"],\n    criteria=[(\"partner_name\", \"=\", \"Partner A\")]\n)\n\nprint(result.df)\n\"\"\"\n               sales  leads  revenue\ncampaign_name\nCampaign 1A        5      2       83\nCampaign 2A        6      2       82\n\"\"\"\n```\n\n**Example:** The output below shows rollups at the campaign level within each\npartner, and also a rollup of totals at the partner and campaign level.\n\n> *Note:* the output contains a special character to mark DataFrame rollup rows\nthat were added to the result. The\n[ReportResult](https://totalhack.github.io/zillion/zillion.report/#reportresult)\nobject contains some helper attributes to automatically access or filter\nrollups, as well as a `df_display` attribute that returns the result with\nfriendlier display values substituted for special characters. The\nunder-the-hood special character is left here for illustration, but may not\nrender the same in all scenarios.\n\n```python\nfrom zillion import RollupTypes\n\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\", \"campaign_name\"],\n    rollup=RollupTypes.ALL\n)\n\nprint(result.df)\n\"\"\"\n                            sales  leads  revenue\npartner_name campaign_name\nPartner A    Campaign 1A      5.0    2.0     83.0\n             Campaign 2A      6.0    2.0     82.0\n             􏿿               11.0    4.0    165.0\nPartner B    Campaign 1B      1.0    1.0      6.0\n             Campaign 2B      1.0    1.0     13.0\n             􏿿                2.0    2.0     19.0\nPartner C    Campaign 1C      5.0    1.0    118.5\n             􏿿                5.0    1.0    118.5\n􏿿            􏿿               18.0    7.0    302.5\n\"\"\"\n```\n\nSee the `Report`\n[docs](https://totalhack.github.io/zillion/zillion.report/#report) for more\ninformation on supported rollup behavior.\n\n**Example:** Save a report spec (not the data):\n\nFirst you must make sure you have saved your `Warehouse`, as saved reports\nare scoped to a particular `Warehouse` ID. To save a `Warehouse`\nyou must provide a URL that points to the complete config.\n\n```python\nname = \"My Unique Warehouse Name\"\nconfig_url = <some url pointing to a complete warehouse config>\nwh.save(name, config_url) # wh.id is populated after this\n\nspec_id = wh.save_report(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n```\n\n> *Note*: If you built your `Warehouse` in python from a list of `DataSources`,\nor passed in a `dict` for the `config` param on init, there currently is not\na built-in way to output a complete config to a file for reference when saving.\n\n**Example:** Load and run a report from a spec ID:\n\n```python\nresult = wh.execute_id(spec_id)\n```\n\nThis assumes you have saved this report ID previously in the database specified by the DB_URL in your `Zillion` yaml configuration.\n\n**Example:** Unsupported Grain\n\nIf you attempt an impossible report, you will get an\n`UnsupportedGrainException`. The report below is impossible because it\nattempts to break down the leads metric by a dimension that only exists\nin a child table. Generally speaking, child tables can join back up to\nparents (and \"siblings\" of parents) to find dimensions, but not the other\nway around.\n\n```python\n# Fails with UnsupportedGrainException\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[\"sale_id\"]\n)\n```\n\n---\n\n<a name=\"advanced-topics\"></a>\n\n**Advanced Topics**\n-------------------\n\n<a name=\"subreports\"></a>\n\n### **Subreports**\n\nSometimes you need subquery-like functionality in order to filter one\nreport to the results of some other (that perhaps required a different grain).\nZillion provides a simplistic way of doing that by using the `in report` or `not in report`\ncriteria operations. There are two supported ways to specify the subreport: passing a\nreport spec ID or passing a dict of report params.\n\n```python\n# Assuming you have saved report 1234 and it has \"partner\" as a dimension:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", 1234)\n    ]\n)\n\n# Or with a dict:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", dict(\n            metrics=[...],\n            dimension=[\"partner\"],\n            criteria=[...]\n        ))\n    ]\n)\n```\n\nThe criteria field used in `in report` or `not in report` must be a dimension\nin the subreport. Note that subreports are executed at `Report` object initialization\ntime instead of during `execute` -- as such they can not be killed using `Report.kill`.\nThis may change down the road.\n\n<a name=\"formula-metrics\"></a>\n\n### **Formula Metrics**\n\nIn our example above our config included a formula-based metric called \"rpl\",\nwhich is simply `revenue / leads`. A `FormulaMetric` combines other metrics\nand/or dimensions to calculate a new metric at the Combined Layer of\nquerying. The syntax must match your Combined Layer database, which is SQLite\nin our example.\n\n```json\n{\n    \"name\": \"rpl\",\n    \"aggregation\": \"mean\",\n    \"rounding\": 2,\n    \"formula\": \"{revenue}/{leads}\"\n}\n```\n\n<a name=\"divisor-metrics\"></a>\n\n### **Divisor Metrics**\n\nAs a convenience, rather than having to repeatedly define formula metrics for\nrate variants of a core metric, you can specify a divisor metric configuration on a non-formula metric. As an example, say you have a `revenue` metric and want to create variants for `revenue_per_lead` and `revenue_per_sale`. You can define your revenue metric as follows:\n\n```json\n{\n    \"name\": \"revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"divisors\": {\n        \"metrics\": [\n            \"leads\",\n            \"sales\"\n        ]\n    }\n}\n```\n\nSee `zillion.configs.DivisorsConfigSchema` for more details on configuration options, such as overriding naming templates, formula templates, and rounding.\n\n<a name=\"aggregation-variants\"></a>\n\n### **Aggregation Variants**\n\nAnother minor convenience feature is the ability to automatically generate variants of metrics for different aggregation types in a single field configuration instead of across multiple fields in your config file. As an example, say you have a `sales` column in your data and want to create variants for `sales_mean` and `sales_sum`. You can define your metric as follows:\n\n```json\n{\n    \"name\": \"sales\",\n    \"aggregation\": {\n        \"mean\": {\n            \"type\": \"numeric(10,2)\",\n            \"rounding\": 2\n        },\n        \"sum\": {\n            \"type\": \"integer\"\n        }\n    }\n}\n```\n\nThe resulting warehouse would not have a `sales` metric, but would instead have `sales_mean` and `sales_sum`. Note that you can further customize the settings for the generated fields, such as setting a custom name, by specifying that in the nested settings for that aggregation type. In practice this is not a big efficiency gain over just defining the metrics separately, but some may prefer this approach.\n\n<a name=\"formula-dimensions\"></a>\n\n### **Formula Dimensions**\n\nExperimental support exists for `FormulaDimension` fields as well. A `FormulaDimension` can only use other dimensions as part of its formula, and it also gets evaluated in the Combined Layer database. As an additional restriction, a `FormulaDimension` can not be used in report criteria as those filters are evaluated at the DataSource Layer. The following example assumes a SQLite Combined Layer database:\n\n\n```json\n{\n    \"name\": \"partner_is_a\",\n    \"formula\": \"{partner_name} = 'Partner A'\"\n}\n```\n\n<a name=\"datasource-formulas\"></a>\n\n### **DataSource Formulas**\n\nOur example also includes a metric \"sales\" whose value is calculated via\nformula at the DataSource Layer of querying. Note the following in the\n`fields` list for the \"id\" param in the \"main.sales\" table. These formulas are\nin the syntax of the particular `DataSource` database technology, which also\nhappens to be SQLite in our example.\n\n```json\n\"fields\": [\n    \"sale_id\",\n    {\"name\":\"sales\", \"ds_formula\": \"COUNT(DISTINCT sales.id)\"}\n]\n```\n\n<a name=\"type-conversions\"></a>\n\n### **Type Conversions**\n\nOur example also automatically created a handful of dimensions from the\n\"created_at\" columns of the leads and sales tables. Support for automatic type\nconversions is limited, but for date/datetime columns in supported\n`DataSource` technologies you can get a variety of dimensions for free this\nway.\n\nThe output of `wh.print_info` will show the added dimensions, which are\nprefixed with \"lead_\" or \"sale_\" as specified by the optional\n`type_conversion_prefix` in the config for each table. Some examples of\nauto-generated dimensions in our example warehouse include sale_hour,\nsale_day_name, sale_month, sale_year, etc. \n\nAs an optimization in the where clause of underlying report queries, `Zillion` \nwill try to apply conversions to criteria values instead of columns. For example, \nit is generally more efficient to query as `my_datetime > '2020-01-01' and my_datetime < '2020-01-02'`\ninstead of `DATE(my_datetime) == '2020-01-01'`, because the latter can prevent index\nusage in many database technologies. The ability to apply conversions to values\ninstead of columns varies by field and `DataSource` technology as well. \n\nTo prevent type conversions, set `skip_conversion_fields` to `true` on your\n`DataSource` config.\n\nSee `zillion.field.TYPE_ALLOWED_CONVERSIONS` and `zillion.field.DIALECT_CONVERSIONS`\nfor more details on currently supported conversions.\n\n<a name=\"adhoc-metrics\"></a>\n\n### **Ad Hoc Metrics**\n\nYou may also define metrics \"ad hoc\" with each report request. Below is an\nexample that creates a revenue-per-lead metric on the fly. These only exist\nwithin the scope of the report, and the name can not conflict with any existing\nfields:\n\n```python\nresult = wh.execute(\n    metrics=[\n        \"leads\",\n        {\"formula\": \"{revenue}/{leads}\", \"name\": \"my_rpl\"}\n    ],\n    dimensions=[\"partner_name\"]\n)\n```\n\n<a name=\"adhoc-dimensions\"></a>\n\n### **Ad Hoc Dimensions**\n\nYou may also define dimensions \"ad hoc\" with each report request. Below is an\nexample that creates a dimension that partitions on a particular dimension value on the fly. Ad Hoc Dimensions are a subclass of `FormulaDimension`s and therefore have the same restrictions, such as not being able to use a metric as a formula field. These only exist within the scope of the report, and the name can not conflict with any existing fields:\n\n```python\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[{\"name\": \"partner_is_a\", \"formula\": \"{partner_name} = 'Partner A'\"]\n)\n```\n\n<a name=\"adhoc-tables\"></a>\n\n### **Ad Hoc Tables**\n\n`Zillion` also supports creation or syncing of ad hoc tables in your database\nduring `DataSource` or `Warehouse` init. An example of a table config that\ndoes this is shown\n[here](https://github.com/totalhack/zillion/blob/master/tests/test_adhoc_ds_config.json).\nIt uses the table config's `data_url` and `if_exists` params to control the\nsyncing and/or creation of the \"main.dma_zip\" table from a remote CSV in a\nSQLite database.  The same can be done in other database types too.\n\nThe potential performance drawbacks to such an approach should be obvious,\nparticularly if you are initializing your warehouse often or if the remote\ndata file is large. It is often better to sync and create your data ahead of\ntime so you have complete schema control, but this method can be very useful\nin certain scenarios.\n\n> **Warning**: be careful not to overwrite existing tables in your database!\n\n<a name=\"technicals\"></a>\n\n### **Technicals**\n\nThere are a variety of technical computations that can be applied to metrics to\ncompute rolling, cumulative, or rank statistics. For example, to compute a 5-point\nmoving average on revenue one might define a new metric as follows:\n\n```json\n{\n    \"name\": \"revenue_ma_5\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"technical\": \"mean(5)\"\n}\n```\n\nTechnical computations are computed at the Combined Layer, whereas the \"aggregation\"\nis done at the DataSource Layer (hence needing to define both above). \n\nFor more info on how shorthand technical strings are parsed, see the\n[parse_technical_string](https://totalhack.github.io/zillion/zillion.configs/#parse_technical_string)\ncode. For a full list of supported technical types see\n`zillion.core.TechnicalTypes`.\n\nTechnicals also support two modes: \"group\" and \"all\". The mode controls how to\napply the technical computation across the data's dimensions. In \"group\" mode,\nit computes the technical across the last dimension, whereas in \"all\" mode in\ncomputes the technical across all data without any regard for dimensions.\n\nThe point of this becomes more clear if you try to do a \"cumsum\" technical\nacross data broken down by something like [\"partner_name\", \"date\"]. If \"group\"\nmode is used (the default in most cases) it will do cumulative sums *within*\neach partner over the date ranges. If \"all\" mode is used, it will do a\ncumulative sum across every data row. You can be explicit about the mode by\nappending it to the technical string: i.e. \"cumsum:all\" or \"mean(5):group\"\n\n---\n\n<a name=\"config-variables\"></a>\n\n### **Config Variables**\n\nIf you'd like to avoid putting sensitive connection information directly in\nyour `DataSource` configs you can leverage config variables. In your `Zillion`\nyaml config you can specify a `DATASOURCE_CONTEXTS` section as follows:\n\n```yaml\nDATASOURCE_CONTEXTS:\n  my_ds_name:\n    user: user123\n    pass: goodpassword\n    host: 127.0.0.1\n    schema: reporting\n```\n\nThen when your `DataSource` config for the datasource named \"my_ds_name\" is\nread, it can use this context to populate variables in your connection url:\n\n```json\n\"datasources\": {\n    \"my_ds_name\": {\n        \"connect\": \"mysql+pymysql://{user}:{pass}@{host}/{schema}\"\n        ...\n    }\n}\n```\n\n<a name=\"datasource-priority\"></a>\n\n### **DataSource Priority**\n\nOn `Warehouse` init you can specify a default priority order for datasources\nby name. This will come into play when a report could be satisfied by multiple\ndatasources. `DataSources` earlier in the list will be higher priority. This\nwould be useful if you wanted to favor a set of faster, aggregate tables that\nare grouped in a `DataSource`.\n\n```python\nwh = Warehouse(config=config, ds_priority=[\"aggr_ds\", \"raw_ds\", ...])\n```\n\n<a name=\"supported-datasources\"></a>\n\n**Supported DataSources**\n-------------------------\n\n`Zillion's` goal is to support any database technology that SQLAlchemy\nsupports (pictured below). That said the support and testing levels in `Zillion` vary at the\nmoment. In particular, the ability to do type conversions, database\nreflection, and kill running queries all require some database-specific code\nfor support. The following list summarizes known support levels. Your mileage\nmay vary with untested database technologies that SQLAlchemy supports (it\nmight work just fine, just hasn't been tested yet). Please report bugs and\nhelp add more support!\n\n* SQLite: supported\n* MySQL: supported\n* PostgreSQL: supported\n* DuckDB: supported\n* BigQuery, Redshift, Snowflake, SingleStore, PlanetScale, etc: not tested but would like to support these\n\nSQLAlchemy has connectors to many popular databases. The barrier to support many of these is likely\npretty low given the simple nature of the sql operations `Zillion` uses.\n\n![SQLAlchemy Connectors](https://github.com/totalhack/zillion/blob/master/docs/images/sqlalchemy_connectors.webp?raw=true)\n\nNote that the above is different than the database support for the Combined Layer\ndatabase. Currently only SQLite is supported there; that should be sufficient for\nmost use cases but more options will be added down the road.\n\n<a name=\"multiprocess-considerations\"></a>\n\n**Multiprocess Considerations**\n-------------------------------\n\nIf you plan to run `Zillion` in a multiprocess scenario, whether on a single\nnode or across multiple nodes, there are a couple of things to consider:\n\n* SQLite DataSources do not scale well and may run into locking issues with multiple processes trying to access them on the same node.\n* Any file-based database technology that isn't centrally accessible would be challenging when using multiple nodes.\n* Ad Hoc DataSource and Ad Hoc Table downloads should be avoided as they may conflict/repeat across each process. Offload this to an external\nETL process that is better suited to manage those data flows in a scalable production scenario.\n\nNote that you can still use the default SQLite in-memory Combined Layer DB without issues, as that is made on the fly with each report request and\nrequires no coordination/communication with other processes or nodes.\n\n<a name=\"demo-ui\"></a>\n\n**Demo UI / Web API**\n--------------------\n\n[Zillion Web UI](https://github.com/totalhack/zillion-web) is a demo UI and web API for Zillion that also includes an experimental ChatGPT plugin. See the README there for more info on installation and project structure. Please note that the code is light on testing and polish, but is expected to work in modern browsers. Also ChatGPT plugins are quite slow at the moment, so currently that is mostly for fun and not that useful.\n\n---\n\n<a name=\"documentation\"></a>\n\n**Documentation**\n-----------------\n\nMore thorough documentation can be found [here](https://totalhack.github.io/zillion/).\nYou can supplement your knowledge by perusing the [tests](https://github.com/totalhack/zillion/tree/master/tests) directory\nor the [API reference](https://totalhack.github.io/zillion/).\n\n\n---\n\n<a name=\"how-to-contribute\"></a>\n\n**How to Contribute**\n---------------------\n\nPlease See the\n[contributing](https://github.com/totalhack/zillion/blob/master/CONTRIBUTING.md)\nguide for more information. If you are looking for inspiration, adding support and tests for additional database technologies would be a great help.\n\n\n\n\n"
  },
  {
    "path": "dev_config.yml",
    "content": "DEBUG: false\nLOG_LEVEL: WARNING\nLOAD_TABLE_CHUNK_SIZE: 5000\nDB_URL: sqlite:////tmp/zillion.db\nADHOC_DATASOURCE_DIRECTORY: /tmp\n\n# OPENAI_API_KEY: xyz\nOPENAI_MODEL: gpt-3.5-turbo\nQDRANT_HOST: localhost\n\nDATASOURCE_QUERY_MODE: \"sequential\"\nDATASOURCE_QUERY_TIMEOUT: null\nDATASOURCE_QUERY_WORKERS: 4\n\nDB_ENGINE_POOL_SIZE: 7\n\nDATASOURCE_CONTEXTS:\n  testdb2:\n    schema: testdb2\n  test_adhoc_db:\n    user: totalhack\n  duckdb:\n    schema: zillion_test\n  mysql:\n    user: root\n    host: 127.0.0.1\n    schema: zillion_test\n  postgresql:\n    user: postgres\n    host: 127.0.0.1\n    schema: zillion_test\n\nTEST:\n  MySQLHost: 127.0.0.1\n  MySQLPort: 3306\n  MySQLUser: root\n  MySQLTestSchema: zillion_test\n  PostgreSQLHost: 127.0.0.1\n  PostgreSQLPort: 5432\n  PostgreSQLUser: postgres\n  PostgreSQLTestSchema: zillion_test\n  DuckDBTestSchemaBase: zillion_test\n"
  },
  {
    "path": "docker-compose-nlp.yml",
    "content": "version: \"3.8\"\nservices:    \n  qdrant:\n    image: qdrant/qdrant\n    ports:\n      - 6333:6333\n      - 6334:6334\n    environment:\n      - TZ=America/New_York\n    volumes:\n      - ./volumes/qdrant:/qdrant/storage\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "version: \"3.8\"\nservices:\n\n  mysql:\n    image: mysql:8.0.32\n    ports:\n      - 3306:3306\n    command: ['--default-authentication-plugin=mysql_native_password', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']\n    environment:\n      - MYSQL_ROOT_PASSWORD=\n      - MYSQL_DATABASE=zillion_test\n      - MYSQL_ALLOW_EMPTY_PASSWORD=1\n      - TZ=America/New_York\n    volumes:\n      - test-mysql8-data:/var/lib/mysql/\n\n  postgres:\n    image: postgres:15\n    ports:\n      - 5432:5432\n    environment:\n      - PGDATA=/var/lib/postgresql/data/pgdata_test\n      - POSTGRES_SERVER=127.0.0.1\n      - POSTGRES_USER=postgres\n      - POSTGRES_PASSWORD=\n      - POSTGRES_HOST_AUTH_METHOD=trust      \n      - POSTGRES_DB=zillion_test\n    volumes:\n      - test-pg15-data:/var/lib/postgresql/data/pgdata_test\n\nvolumes:\n  test-pg15-data:\n  test-mysql8-data:\n"
  },
  {
    "path": "docs/build_markdown.py",
    "content": "import enum\nimport importlib\nimport inspect\nimport os\nimport pkgutil\nimport shutil\n\nimport markdown\nfrom tlbx import st\n\nimport zillion\n\n\nCWD = os.path.dirname(os.path.abspath(__file__))\n\nOPTS = dict(\n    extensions=[\"pymdownx.snippets\", \"admonition\"],\n    extension_configs={\"pymdownx.snippets\": {\"base_path\": CWD}},\n)\n\n\ndef get_classes(module):\n    return set(\n        [\n            x\n            for x in inspect.getmembers(module, inspect.isclass)\n            if (not x[0].startswith(\"_\"))\n            and x[1].__module__ == module.__name__\n            and not type(x[1]) is enum.EnumMeta\n        ]\n    )\n\n\ndef get_funcs(module):\n    return set(\n        [\n            x\n            for x in inspect.getmembers(module, inspect.isfunction)\n            if (not x[0].startswith(\"_\")) and x[1].__module__ == module.__name__\n        ]\n    )\n\n\ndef get_object_attributes(obj):\n    return set(\n        [y[0] for y in inspect.getmembers(obj, lambda x: not inspect.isroutine(x))]\n    )\n\n\ndef get_zillion_members(obj):\n    member_set = set()\n    for cls in obj.mro():\n        if not cls.__module__.startswith(\"zillion\"):\n            break\n        member_set |= cls.__dict__.keys()\n    member_set = {x for x in member_set if (not x.startswith(\"_\"))}\n    member_set -= get_object_attributes(obj)\n    return sorted(member_set)\n\n\ndef process_markdown(infile, outfile, **opts):\n    with open(infile, \"r\") as f:\n        text = f.read()\n    md = markdown.Markdown(**opts)\n    md.convert(text)\n    md = u\"\\n\".join(md.lines)\n    with open(outfile, \"w\") as f:\n        f.write(md)\n\n\ndef linkcode_resolve(obj):\n    try:\n        fn = inspect.getsourcefile(inspect.unwrap(obj))\n    except TypeError:\n        fn = None\n    if not fn:\n        return None\n\n    try:\n        source, lineno = inspect.getsourcelines(obj)\n    except OSError:\n        lineno = None\n\n    if lineno:\n        linespec = \"#L{:d}-L{:d}\".format(lineno, lineno + len(source) - 1)\n    else:\n        linespec = \"\"\n\n    fn = os.path.relpath(fn, start=os.path.dirname(zillion.__file__))\n\n    return \"https://github.com/totalhack/zillion/blob/master/zillion/\" \"{}{}\".format(\n        fn, linespec\n    )\n\n\ndef create_module_file(fullname):\n    module = importlib.import_module(fullname)\n    classes = get_classes(module)\n    funcs = get_funcs(module)\n\n    out = \"[//]: # (This is an auto-generated file. Do not edit)\\n\"\n    out += \"# Module %s\\n\\n\" % fullname\n\n    for name, obj in sorted(classes):\n        if issubclass(obj, Exception):\n            # These cause errors in inspect.signature call in mkautodoc\n            continue\n\n        codelink = linkcode_resolve(obj)\n        if codelink:\n            out += \"\\n## [%s](%s)\\n\\n\" % (name, codelink)\n        else:\n            out += \"\\n## %s\\n\\n\" % name\n\n        if obj.__bases__ and obj.__bases__ != (object,):\n            base_names = \", \".join(\n                [x.__module__ + \".\" + x.__name__ for x in obj.__bases__]\n            )\n            out += \"*Bases*: %s\\n\\n\" % base_names\n\n        members = get_zillion_members(obj)\n        if members:\n            members = \":members: \" + \" \".join(members)\n        else:\n            members = \"\"\n\n        out += CLASS_TEMPLATE % dict(name=fullname + \".\" + name, members=members)\n        out += \"\\n\"\n\n    for name, obj in sorted(funcs):\n        codelink = linkcode_resolve(obj)\n        if codelink:\n            out += \"\\n## [%s](%s)\\n\\n\" % (name, codelink)\n        else:\n            out += \"\\n## %s\\n\\n\" % name\n        out += FUNC_TEMPLATE % dict(name=fullname + \".\" + name)\n        out += \"\\n\"\n\n    filename = \"%s/mkdocs/%s\" % (CWD, fullname + \".md\")\n    print(\"Writing %s\" % filename)\n    with open(filename, \"w\") as f:\n        f.write(out)\n\n\n# -------- Build main README\n\n\nINPUT_FILE = \"%s/readme.md\" % CWD\nOUTPUT_FILE = \"%s/../README.md\" % CWD\nprint(\"Building %s from %s\" % (OUTPUT_FILE, INPUT_FILE))\nprocess_markdown(INPUT_FILE, OUTPUT_FILE, **OPTS)\n\n\n# -------- CONTRIBUTING.md\n\n\nINPUT_FILE = \"%s/markdown/contributing.md\" % CWD\nOUTPUT_FILE = \"%s/../CONTRIBUTING.md\" % CWD\nprint(\"Building %s from %s\" % (OUTPUT_FILE, INPUT_FILE))\nshutil.copyfile(INPUT_FILE, OUTPUT_FILE)\n\n\nINPUT_FILE = \"%s/markdown/contributing.md\" % CWD\nOUTPUT_FILE = \"%s/mkdocs/contributing.md\" % CWD\nprint(\"Building %s from %s\" % (OUTPUT_FILE, INPUT_FILE))\nshutil.copyfile(INPUT_FILE, OUTPUT_FILE)\n\n\n# -------- Build mkdocs index\n\n\nINPUT_FILE = \"%s/mkdocs_index.md\" % CWD\nOUTPUT_FILE = \"%s/mkdocs/index.md\" % CWD\nprint(\"Building %s from %s\" % (OUTPUT_FILE, INPUT_FILE))\nprocess_markdown(INPUT_FILE, OUTPUT_FILE, **OPTS)\n\n\n# -------- Build API docs\n\n\nAPI_FILE = \"%s/mkdocs/api.md\" % CWD\nout = \"# API Reference\\n\"\n\nCLASS_TEMPLATE = \"\"\"::: %(name)s\n    :docstring:\n    %(members)s\n\"\"\"\n\nFUNC_TEMPLATE = \"\"\"::: %(name)s\n    :docstring:\n\"\"\"\n\nwalk = pkgutil.walk_packages([\"../zillion\"])\n\nfor module in walk:\n    fullname = \"zillion.\" + module.name\n    path = fullname + \".md\"\n    md = \"* [%s](%s)\" % (fullname, path)\n    out += \"\\n%s\" % md\n    create_module_file(fullname)\n\nwith open(API_FILE, \"w\") as f:\n    f.write(out)\n"
  },
  {
    "path": "docs/markdown/contributing.md",
    "content": "Your help and feedback are greatly appreciated. Whether it's supporting/testing\na new datasource type, finding bugs, or suggesting features, every little bit\nhelps make `Zillion` reach its potential. \n\nPlease also consider manicuring or configuring datasets that others may find\nuseful. With as little as a CSV and a short JSON configuration file you can\ngive back to the community. You can host these shared datasources easily with\nGitHub.\n\n## **How to Contribute**\n\n1.  Check for open issues or open a new issue to start a discussion around a\n    feature idea or a bug.\n2.  Fork [the repository](https://github.com/totalhack/zillion) on GitHub to\n    start making your changes to the **master** branch (or branch off of it).\n3.  Write a test which shows that the bug was fixed or that the feature works\n    as expected.\n4.  Send a [pull request](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork). Add yourself to\n    [AUTHORS](https://github.com/totalhack/zillion/blob/master/AUTHORS.md).\n\n## **Development Setup**\n\n```shell\n# Clone this repo\ngit clone https://github.com/totalhack/zillion.git\ncd zillion\n\n# Install dependencies\n# Note: activate your venv first if desired!\npip install \".[dev]\"\n\n# Bring up test databases -- test data will init the first time\n# You can optionally run these DBs directly on your machine instead\ndocker-compose up\n\n# Run tests\nexport ZILLION_CONFIG=$(pwd)/tests/test_config.yaml\ncd tests\npytest\n```\n\n## **Good Bug Reports**\n\nPlease be aware of the following things when filing bug reports:\n\n1. Avoid raising duplicate issues. *Please* use the GitHub issue search feature\n   to check whether your bug report or feature request has been mentioned in\n   the past. Duplicate bug reports and feature requests are a huge maintenance\n   burden on the limited resources of the project. If it is clear from your\n   report that you would have struggled to find the original, that's ok, but\n   if searching for a selection of words in your issue title would have found\n   the duplicate then the issue will likely be closed.\n2. When filing bug reports about exceptions or tracebacks, please include the\n   *complete* traceback. Partial tracebacks, or just the exception text, are\n   not helpful. Issues that do not contain complete tracebacks may be closed\n   without warning.\n3. Make sure you provide a suitable amount of information to work with.\n\n## **Questions**\n\nThe GitHub issue tracker is for *bug reports* and *feature requests*. Please do\nnot use it to ask questions about how to use Zillion.\n"
  },
  {
    "path": "docs/markdown/readme_badges.md",
    "content": "[![Generic badge](https://img.shields.io/badge/Status-Alpha-yellow.svg)](https://shields.io/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![License: MIT](https://img.shields.io/badge/license-MIT-blue)\n![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue)\n[![Downloads](https://static.pepy.tech/badge/zillion)](https://pepy.tech/project/zillion)\n"
  },
  {
    "path": "docs/markdown/readme_contents.md",
    "content": "<a name=\"installation\"></a>\n\n**Installation**\n----------------\n\n> **Warning**: This project is in an alpha state and is subject to change. Please test carefully for production usage and report any issues.\n\n```shell\n$ pip install zillion\n\nor\n\n$ pip install zillion[nlp]\n```\n\n---\n\n<a name=\"primer\"></a>\n\n**Primer**\n----------\n\nThe following is meant to give a quick overview of some theory and\nnomenclature used in data warehousing with `Zillion` which will be useful\nif you are newer to this area. You can also skip below for a usage [example](#example-sales-analytics) or warehouse/datasource creation [quickstart](#warehouse-creation) options.\n\nIn short: `Zillion` writes SQL for you and makes data accessible through a very simple API:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\n```\n\n<a name=\"metrics-and-dimensions\"></a>\n\n### **Metrics and Dimensions**\n\nIn `Zillion` there are two main types of `Fields` that will be used in\nyour report requests:\n\n1. `Dimensions`: attributes of data used for labelling, grouping, and filtering\n2. `Metrics`: facts and measures that may be broken down along dimensions\n\nA `Field` encapsulates the concept of a column in your data. For example, you\nmay have a `Field` called \"revenue\". That `Field` may occur across several\ndatasources or possibly in multiple tables within a single datasource. `Zillion` \nunderstands that all of those columns represent the same concept, and it can try \nto use any of them to satisfy reports requesting \"revenue\".\n\nLikewise there are two main types of tables used to structure your warehouse:\n\n1. `Dimension Tables`: reference/attribute tables containing only related\ndimensions\n2. `Metric Tables`: fact tables that may contain metrics and some related\ndimensions/attributes\n\nDimension tables are often static or slowly growing in terms of row count and contain\nattributes tied to a primary key. Some common examples would be lists of US Zip Codes or\ncompany/partner directories.\n\nMetric tables are generally more transactional in nature. Some common examples\nwould be records for web requests, ecommerce sales, or stock market price history.\n\n<a name=\"warehouse-theory\"></a>\n\n### **Warehouse Theory**\n\nIf you really want to go deep on dimensional modeling and the drill-across\nquerying technique `Zillion` employs, I recommend reading Ralph Kimball's\n[book](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/data-warehouse-dw-toolkit/) on data warehousing.\n\nTo summarize, [drill-across\nquerying](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/drilling-across/)\nforms one or more queries to satisfy a report request for `metrics` that may\nexist across multiple datasources and/or tables at a particular `dimension` grain.\n\n`Zillion` supports flexible warehouse setups such as\n[snowflake](https://en.wikipedia.org/wiki/Snowflake_schema) or\n[star](https://en.wikipedia.org/wiki/Star_schema) schemas, though it isn't\npicky about it. You can specify table relationships through a parent-child\nlineage, and `Zillion` can also infer acceptable joins based on the presence\nof dimension table primary keys. `Zillion` does not support many-to-many relationships at this time, though most analytics-focused scenarios should be able to work around that by adding views to the model if needed.\n\n<a name=\"query-layers\"></a>\n\n### **Query Layers**\n\n`Zillion` reports can be thought of as running in two layers:\n\n1. `DataSource Layer`: SQL queries against the warehouse's datasources\n2. `Combined Layer`: A final SQL query against the combined data from the\nDataSource Layer\n\nThe Combined Layer is just another SQL database (in-memory SQLite by default)\nthat is used to tie the datasource data together and apply a few additional\nfeatures such as rollups, row filters, row limits, sorting, pivots, and technical computations.\n\n<a name=\"warehouse-creation\"></a>\n\n### **Warehouse Creation**\n\nThere are multiple ways to quickly initialize a warehouse from a local or remote file:\n\n```python\n# Path/link to a CSV, XLSX, XLS, JSON, HTML, or Google Sheet\n# This builds a single-table Warehouse for quick/ad-hoc analysis.\nurl = \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.xlsx\"\nwh = Warehouse.from_data_file(url, [\"Zip_Code\"]) # Second arg is primary key\n\n# Path/link to a sqlite database\n# This can build a single or multi-table Warehouse\nurl = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\nwh = Warehouse.from_db_file(url)\n\n# Path/link to a WarehouseConfigSchema (or pass a dict)\n# This is the recommended production approach!\nconfig = \"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\"\nwh = Warehouse(config=config)\n```\n\nZillion also provides a helper script to boostrap a DataSource configuration file for an existing database. See `zillion.scripts.bootstrap_datasource_config.py`. The bootstrap script requires a connection/database url and output file as arguments. See `--help` output for more options, including the optional `--nlp` flag that leverages OpenAI to infer configuration information such as column types, table types, and table relationships. The NLP feature requires the NLP extension to be installed as well as the following set in your `Zillion` config file:\n\n* OPENAI_MODEL\n* OPENAI_API_KEY\n\n<a name=\"executing-reports\"></a>\n\n### **Executing Reports**\n\nThe main purpose of `Zillion` is to execute reports against a `Warehouse`.\nAt a high level you will be crafting reports as follows:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\nprint(result.df) # Pandas DataFrame\n```\n\nWhen comparing to writing SQL, it's helpful to think of the dimensions as the\ntarget columns of a **group by** SQL statement. Think of the metrics as the\ncolumns you are **aggregating**. Think of the criteria as the **where\nclause**. Your criteria are applied in the DataSource Layer SQL queries.\n\nThe `ReportResult` has a Pandas DataFrame with the dimensions as the index and\nthe metrics as the columns.\n\nA `Report` is said to have a `grain`, which defines the dimensions each metric\nmust be able to join to in order to satisfy the `Report` requirements. The\n`grain` is a combination of **all** dimensions, including those referenced in\ncriteria or in metric formulas. In the example above, the `grain` would be\n`{date, partner}`. Both \"revenue\" and \"leads\" must be able to join to those\ndimensions for this report to be possible.\n\nThese concepts can take time to sink in and obviously vary with the specifics\nof your data model, but you will become more familiar with them as you start\nputting together reports against your data warehouses.\n\n<a name=\"natural-language-querying\"></a>\n\n### **Natural Language Querying**\n\nWith the NLP extension `Zillion` has experimental support for natural language querying of your data warehouse. For example:\n\n```python\nresult = warehouse.execute_text(\"revenue and leads by date last month\")\nprint(result.df) # Pandas DataFrame\n```\n\nThis NLP feature requires a running instance of Qdrant (vector database) and the following values set in your `Zillion` config file:\n\n* QDRANT_HOST\n* OPENAI_API_KEY\n\nEmbeddings will be produced and stored in both Qdrant and a local cache. The\nvector database will be initialized the first time you try to use this by\nanalyzing all fields in your warehouse. An example docker file to run Qdrant is provided in the root of this repo.\n\nYou have some control over how fields get embedded. Namely in the configuration for any field you can choose whether to exclude a field from embeddings or override which embeddings map to that field. All fields are\nincluded by default. The following example would exclude the `net_revenue` field from being embedded and map `revenue` metric requests to the `gross_revenue` field.\n\n```javascript\n{\n    \"name\": \"gross_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            // enabled defaults to true\n            \"embedding_text\": \"revenue\" // str or list of str\n        }\n    }\n},\n{\n    \"name\": \"net_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            \"enabled\": false\n        }\n    }\n},\n```\n\nAdditionally you may also exclude fields via the following warehouse-level configuration settings:\n\n```javascript\n{\n    \"meta\": {\n        \"nlp\": {\n            \"field_disabled_patterns\": [\n                // list of regex patterns to exclude\n                \"rpl_ma_5\"\n            ],\n            \"field_disabled_groups\": [\n                // list of \"groups\" to exclude, assuming you have\n                // set group value in the field's meta dict.\n                \"No NLP\"\n            ]\n        }\n    },\n    ...\n}\n```\n\nIf a field is disabled at any of the aforementioned levels it will be ignored. This type of control becomes useful as your data model gets more complex and you want to guide the NLP logic in cases where it could confuse similarly named fields. Any time you adjust which fields are excluded you will want to force recreation of your embeddings collection using the `force_recreate` flag on `Warehouse.init_embeddings`.\n\n> *Note:* This feature is in its infancy. It's usefulness will depend on the\nquality of both the input query and your data model (i.e. good field names)!\n\n<a name=\"zillion-configuration\"></a>\n\n### **Zillion Configuration**\n\nIn addition to configuring the structure of your `Warehouse`, which will be\ndiscussed further below, `Zillion` has a global configuration to control some\nbasic settings. The `ZILLION_CONFIG` environment var can point to a yaml config file. See `examples/sample_config.yaml` for more details on what values can be set. Environment vars prefixed with ZILLION_ can override config settings (i.e. ZILLION_DB_URL will override DB_URL).\n\nThe database used to store Zillion report specs can be configured by setting the DB_URL value in your `Zillion` config to a valid database connection string. By default a SQLite DB in /tmp is used.\n\n---\n\n<a name=\"example-sales-analytics\"></a>\n\n**Example - Sales Analytics**\n-----------------------------\n\nBelow we will walk through a simple hypothetical sales data model that\ndemonstrates basic `DataSource` and `Warehouse` configuration and then shows\nsome sample [reports](#example-reports). The data is a simple SQLite database\nthat is part of the `Zillion` test code. For reference, the schema is as\nfollows:\n\n```sql\nCREATE TABLE partners (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE campaigns (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  category VARCHAR NOT NULL,\n  partner_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE leads (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL,\n  campaign_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE sales (\n  id INTEGER PRIMARY KEY,\n  item VARCHAR NOT NULL,\n  quantity INTEGER NOT NULL,\n  revenue DECIMAL(10, 2),\n  lead_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n```\n\n<a name=\"example-warehouse-config\"></a>\n\n### **Warehouse Configuration**\n\nA `Warehouse` may be created from a JSON or YAML configuration that defines\nits fields, datasources, and tables. The code below shows how it can be done in as little as one line of code if you have a pointer to a JSON/YAML `Warehouse` config.\n\n```python\nfrom zillion import Warehouse\n\nwh = Warehouse(config=\"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\")\n```\n\nThis example config uses a `data_url` in its `DataSource` `connect` info that\ntells `Zillion` to dynamically download that data and connect to it as a\nSQLite database. This is useful for quick examples or analysis, though in most\nscenarios you would put a connection string to an existing database like you\nsee\n[here](https://raw.githubusercontent.com/totalhack/zillion/master/tests/test_mysql_ds_config.json)\n\nThe basics of `Zillion's` warehouse configuration structure are as follows:\n\nA `Warehouse` config has the following main sections:\n\n* `metrics`: optional list of metric configs for global metrics\n* `dimensions`: optional list of dimension configs for global dimensions\n* `datasources`: mapping of datasource names to datasource configs or config URLs\n\nA `DataSource` config has the following main sections:\n\n* `connect`: database connection url or dict of connect params\n* `metrics`: optional list of metric configs specific to this datasource\n* `dimensions`: optional list of dimension configs specific to this datasource\n* `tables`: mapping of table names to table configs or config URLs\n\n> Tip: datasource and table configs may also be replaced with a URL that points\nto a local or remote config file.\n\nIn this example all four tables in our database are included in the config,\ntwo as dimension tables and two as metric tables. The tables are linked\nthrough a parent->child relationship: partners to campaigns, and leads to\nsales.  Some tables also utilize the `create_fields` flag to automatically\ncreate `Fields` on the datasource from column definitions. Other metrics and\ndimensions are defined explicitly.\n\nTo view the structure of this `Warehouse` after init you can use the `print_info`\nmethod which shows all metrics, dimensions, tables, and columns that are part\nof your data warehouse:\n\n```python\nwh.print_info() # Formatted print of the Warehouse structure\n```\n\nFor a deeper dive of the config schema please see the full\n[docs](https://totalhack.github.io/zillion/zillion.configs/).\n\n<a name=\"example-reports\"></a>\n\n### **Reports**\n\n**Example:** Get sales, leads, and revenue by partner:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n\nprint(result.df)\n\"\"\"\n              sales  leads  revenue\npartner_name\nPartner A        11      4    165.0\nPartner B         2      2     19.0\nPartner C         5      1    118.5\n\"\"\"\n```\n\n**Example:** Let's limit to Partner A and break down by its campaigns:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"campaign_name\"],\n    criteria=[(\"partner_name\", \"=\", \"Partner A\")]\n)\n\nprint(result.df)\n\"\"\"\n               sales  leads  revenue\ncampaign_name\nCampaign 1A        5      2       83\nCampaign 2A        6      2       82\n\"\"\"\n```\n\n**Example:** The output below shows rollups at the campaign level within each\npartner, and also a rollup of totals at the partner and campaign level.\n\n> *Note:* the output contains a special character to mark DataFrame rollup rows\nthat were added to the result. The\n[ReportResult](https://totalhack.github.io/zillion/zillion.report/#reportresult)\nobject contains some helper attributes to automatically access or filter\nrollups, as well as a `df_display` attribute that returns the result with\nfriendlier display values substituted for special characters. The\nunder-the-hood special character is left here for illustration, but may not\nrender the same in all scenarios.\n\n```python\nfrom zillion import RollupTypes\n\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\", \"campaign_name\"],\n    rollup=RollupTypes.ALL\n)\n\nprint(result.df)\n\"\"\"\n                            sales  leads  revenue\npartner_name campaign_name\nPartner A    Campaign 1A      5.0    2.0     83.0\n             Campaign 2A      6.0    2.0     82.0\n             􏿿               11.0    4.0    165.0\nPartner B    Campaign 1B      1.0    1.0      6.0\n             Campaign 2B      1.0    1.0     13.0\n             􏿿                2.0    2.0     19.0\nPartner C    Campaign 1C      5.0    1.0    118.5\n             􏿿                5.0    1.0    118.5\n􏿿            􏿿               18.0    7.0    302.5\n\"\"\"\n```\n\nSee the `Report`\n[docs](https://totalhack.github.io/zillion/zillion.report/#report) for more\ninformation on supported rollup behavior.\n\n**Example:** Save a report spec (not the data):\n\nFirst you must make sure you have saved your `Warehouse`, as saved reports\nare scoped to a particular `Warehouse` ID. To save a `Warehouse`\nyou must provide a URL that points to the complete config.\n\n```python\nname = \"My Unique Warehouse Name\"\nconfig_url = <some url pointing to a complete warehouse config>\nwh.save(name, config_url) # wh.id is populated after this\n\nspec_id = wh.save_report(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n```\n\n> *Note*: If you built your `Warehouse` in python from a list of `DataSources`,\nor passed in a `dict` for the `config` param on init, there currently is not\na built-in way to output a complete config to a file for reference when saving.\n\n**Example:** Load and run a report from a spec ID:\n\n```python\nresult = wh.execute_id(spec_id)\n```\n\nThis assumes you have saved this report ID previously in the database specified by the DB_URL in your `Zillion` yaml configuration.\n\n**Example:** Unsupported Grain\n\nIf you attempt an impossible report, you will get an\n`UnsupportedGrainException`. The report below is impossible because it\nattempts to break down the leads metric by a dimension that only exists\nin a child table. Generally speaking, child tables can join back up to\nparents (and \"siblings\" of parents) to find dimensions, but not the other\nway around.\n\n```python\n# Fails with UnsupportedGrainException\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[\"sale_id\"]\n)\n```\n\n---\n\n<a name=\"advanced-topics\"></a>\n\n**Advanced Topics**\n-------------------\n\n<a name=\"subreports\"></a>\n\n### **Subreports**\n\nSometimes you need subquery-like functionality in order to filter one\nreport to the results of some other (that perhaps required a different grain).\nZillion provides a simplistic way of doing that by using the `in report` or `not in report`\ncriteria operations. There are two supported ways to specify the subreport: passing a\nreport spec ID or passing a dict of report params.\n\n```python\n# Assuming you have saved report 1234 and it has \"partner\" as a dimension:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", 1234)\n    ]\n)\n\n# Or with a dict:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", dict(\n            metrics=[...],\n            dimension=[\"partner\"],\n            criteria=[...]\n        ))\n    ]\n)\n```\n\nThe criteria field used in `in report` or `not in report` must be a dimension\nin the subreport. Note that subreports are executed at `Report` object initialization\ntime instead of during `execute` -- as such they can not be killed using `Report.kill`.\nThis may change down the road.\n\n<a name=\"formula-metrics\"></a>\n\n### **Formula Metrics**\n\nIn our example above our config included a formula-based metric called \"rpl\",\nwhich is simply `revenue / leads`. A `FormulaMetric` combines other metrics\nand/or dimensions to calculate a new metric at the Combined Layer of\nquerying. The syntax must match your Combined Layer database, which is SQLite\nin our example.\n\n```json\n{\n    \"name\": \"rpl\",\n    \"aggregation\": \"mean\",\n    \"rounding\": 2,\n    \"formula\": \"{revenue}/{leads}\"\n}\n```\n\n<a name=\"divisor-metrics\"></a>\n\n### **Divisor Metrics**\n\nAs a convenience, rather than having to repeatedly define formula metrics for\nrate variants of a core metric, you can specify a divisor metric configuration on a non-formula metric. As an example, say you have a `revenue` metric and want to create variants for `revenue_per_lead` and `revenue_per_sale`. You can define your revenue metric as follows:\n\n```json\n{\n    \"name\": \"revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"divisors\": {\n        \"metrics\": [\n            \"leads\",\n            \"sales\"\n        ]\n    }\n}\n```\n\nSee `zillion.configs.DivisorsConfigSchema` for more details on configuration options, such as overriding naming templates, formula templates, and rounding.\n\n<a name=\"aggregation-variants\"></a>\n\n### **Aggregation Variants**\n\nAnother minor convenience feature is the ability to automatically generate variants of metrics for different aggregation types in a single field configuration instead of across multiple fields in your config file. As an example, say you have a `sales` column in your data and want to create variants for `sales_mean` and `sales_sum`. You can define your metric as follows:\n\n```json\n{\n    \"name\": \"sales\",\n    \"aggregation\": {\n        \"mean\": {\n            \"type\": \"numeric(10,2)\",\n            \"rounding\": 2\n        },\n        \"sum\": {\n            \"type\": \"integer\"\n        }\n    }\n}\n```\n\nThe resulting warehouse would not have a `sales` metric, but would instead have `sales_mean` and `sales_sum`. Note that you can further customize the settings for the generated fields, such as setting a custom name, by specifying that in the nested settings for that aggregation type. In practice this is not a big efficiency gain over just defining the metrics separately, but some may prefer this approach.\n\n<a name=\"formula-dimensions\"></a>\n\n### **Formula Dimensions**\n\nExperimental support exists for `FormulaDimension` fields as well. A `FormulaDimension` can only use other dimensions as part of its formula, and it also gets evaluated in the Combined Layer database. As an additional restriction, a `FormulaDimension` can not be used in report criteria as those filters are evaluated at the DataSource Layer. The following example assumes a SQLite Combined Layer database:\n\n\n```json\n{\n    \"name\": \"partner_is_a\",\n    \"formula\": \"{partner_name} = 'Partner A'\"\n}\n```\n\n<a name=\"datasource-formulas\"></a>\n\n### **DataSource Formulas**\n\nOur example also includes a metric \"sales\" whose value is calculated via\nformula at the DataSource Layer of querying. Note the following in the\n`fields` list for the \"id\" param in the \"main.sales\" table. These formulas are\nin the syntax of the particular `DataSource` database technology, which also\nhappens to be SQLite in our example.\n\n```json\n\"fields\": [\n    \"sale_id\",\n    {\"name\":\"sales\", \"ds_formula\": \"COUNT(DISTINCT sales.id)\"}\n]\n```\n\n<a name=\"type-conversions\"></a>\n\n### **Type Conversions**\n\nOur example also automatically created a handful of dimensions from the\n\"created_at\" columns of the leads and sales tables. Support for automatic type\nconversions is limited, but for date/datetime columns in supported\n`DataSource` technologies you can get a variety of dimensions for free this\nway.\n\nThe output of `wh.print_info` will show the added dimensions, which are\nprefixed with \"lead_\" or \"sale_\" as specified by the optional\n`type_conversion_prefix` in the config for each table. Some examples of\nauto-generated dimensions in our example warehouse include sale_hour,\nsale_day_name, sale_month, sale_year, etc. \n\nAs an optimization in the where clause of underlying report queries, `Zillion` \nwill try to apply conversions to criteria values instead of columns. For example, \nit is generally more efficient to query as `my_datetime > '2020-01-01' and my_datetime < '2020-01-02'`\ninstead of `DATE(my_datetime) == '2020-01-01'`, because the latter can prevent index\nusage in many database technologies. The ability to apply conversions to values\ninstead of columns varies by field and `DataSource` technology as well. \n\nTo prevent type conversions, set `skip_conversion_fields` to `true` on your\n`DataSource` config.\n\nSee `zillion.field.TYPE_ALLOWED_CONVERSIONS` and `zillion.field.DIALECT_CONVERSIONS`\nfor more details on currently supported conversions.\n\n<a name=\"adhoc-metrics\"></a>\n\n### **Ad Hoc Metrics**\n\nYou may also define metrics \"ad hoc\" with each report request. Below is an\nexample that creates a revenue-per-lead metric on the fly. These only exist\nwithin the scope of the report, and the name can not conflict with any existing\nfields:\n\n```python\nresult = wh.execute(\n    metrics=[\n        \"leads\",\n        {\"formula\": \"{revenue}/{leads}\", \"name\": \"my_rpl\"}\n    ],\n    dimensions=[\"partner_name\"]\n)\n```\n\n<a name=\"adhoc-dimensions\"></a>\n\n### **Ad Hoc Dimensions**\n\nYou may also define dimensions \"ad hoc\" with each report request. Below is an\nexample that creates a dimension that partitions on a particular dimension value on the fly. Ad Hoc Dimensions are a subclass of `FormulaDimension`s and therefore have the same restrictions, such as not being able to use a metric as a formula field. These only exist within the scope of the report, and the name can not conflict with any existing fields:\n\n```python\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[{\"name\": \"partner_is_a\", \"formula\": \"{partner_name} = 'Partner A'\"]\n)\n```\n\n<a name=\"adhoc-tables\"></a>\n\n### **Ad Hoc Tables**\n\n`Zillion` also supports creation or syncing of ad hoc tables in your database\nduring `DataSource` or `Warehouse` init. An example of a table config that\ndoes this is shown\n[here](https://github.com/totalhack/zillion/blob/master/tests/test_adhoc_ds_config.json).\nIt uses the table config's `data_url` and `if_exists` params to control the\nsyncing and/or creation of the \"main.dma_zip\" table from a remote CSV in a\nSQLite database.  The same can be done in other database types too.\n\nThe potential performance drawbacks to such an approach should be obvious,\nparticularly if you are initializing your warehouse often or if the remote\ndata file is large. It is often better to sync and create your data ahead of\ntime so you have complete schema control, but this method can be very useful\nin certain scenarios.\n\n> **Warning**: be careful not to overwrite existing tables in your database!\n\n<a name=\"technicals\"></a>\n\n### **Technicals**\n\nThere are a variety of technical computations that can be applied to metrics to\ncompute rolling, cumulative, or rank statistics. For example, to compute a 5-point\nmoving average on revenue one might define a new metric as follows:\n\n```json\n{\n    \"name\": \"revenue_ma_5\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"technical\": \"mean(5)\"\n}\n```\n\nTechnical computations are computed at the Combined Layer, whereas the \"aggregation\"\nis done at the DataSource Layer (hence needing to define both above). \n\nFor more info on how shorthand technical strings are parsed, see the\n[parse_technical_string](https://totalhack.github.io/zillion/zillion.configs/#parse_technical_string)\ncode. For a full list of supported technical types see\n`zillion.core.TechnicalTypes`.\n\nTechnicals also support two modes: \"group\" and \"all\". The mode controls how to\napply the technical computation across the data's dimensions. In \"group\" mode,\nit computes the technical across the last dimension, whereas in \"all\" mode in\ncomputes the technical across all data without any regard for dimensions.\n\nThe point of this becomes more clear if you try to do a \"cumsum\" technical\nacross data broken down by something like [\"partner_name\", \"date\"]. If \"group\"\nmode is used (the default in most cases) it will do cumulative sums *within*\neach partner over the date ranges. If \"all\" mode is used, it will do a\ncumulative sum across every data row. You can be explicit about the mode by\nappending it to the technical string: i.e. \"cumsum:all\" or \"mean(5):group\"\n\n---\n\n<a name=\"config-variables\"></a>\n\n### **Config Variables**\n\nIf you'd like to avoid putting sensitive connection information directly in\nyour `DataSource` configs you can leverage config variables. In your `Zillion`\nyaml config you can specify a `DATASOURCE_CONTEXTS` section as follows:\n\n```yaml\nDATASOURCE_CONTEXTS:\n  my_ds_name:\n    user: user123\n    pass: goodpassword\n    host: 127.0.0.1\n    schema: reporting\n```\n\nThen when your `DataSource` config for the datasource named \"my_ds_name\" is\nread, it can use this context to populate variables in your connection url:\n\n```json\n\"datasources\": {\n    \"my_ds_name\": {\n        \"connect\": \"mysql+pymysql://{user}:{pass}@{host}/{schema}\"\n        ...\n    }\n}\n```\n\n<a name=\"datasource-priority\"></a>\n\n### **DataSource Priority**\n\nOn `Warehouse` init you can specify a default priority order for datasources\nby name. This will come into play when a report could be satisfied by multiple\ndatasources. `DataSources` earlier in the list will be higher priority. This\nwould be useful if you wanted to favor a set of faster, aggregate tables that\nare grouped in a `DataSource`.\n\n```python\nwh = Warehouse(config=config, ds_priority=[\"aggr_ds\", \"raw_ds\", ...])\n```\n\n<a name=\"supported-datasources\"></a>\n\n**Supported DataSources**\n-------------------------\n\n`Zillion's` goal is to support any database technology that SQLAlchemy\nsupports (pictured below). That said the support and testing levels in `Zillion` vary at the\nmoment. In particular, the ability to do type conversions, database\nreflection, and kill running queries all require some database-specific code\nfor support. The following list summarizes known support levels. Your mileage\nmay vary with untested database technologies that SQLAlchemy supports (it\nmight work just fine, just hasn't been tested yet). Please report bugs and\nhelp add more support!\n\n* SQLite: supported\n* MySQL: supported\n* PostgreSQL: supported\n* DuckDB: supported\n* BigQuery, Redshift, Snowflake, SingleStore, PlanetScale, etc: not tested but would like to support these\n\nSQLAlchemy has connectors to many popular databases. The barrier to support many of these is likely\npretty low given the simple nature of the sql operations `Zillion` uses.\n\n![SQLAlchemy Connectors](https://github.com/totalhack/zillion/blob/master/docs/images/sqlalchemy_connectors.webp?raw=true)\n\nNote that the above is different than the database support for the Combined Layer\ndatabase. Currently only SQLite is supported there; that should be sufficient for\nmost use cases but more options will be added down the road.\n\n<a name=\"multiprocess-considerations\"></a>\n\n**Multiprocess Considerations**\n-------------------------------\n\nIf you plan to run `Zillion` in a multiprocess scenario, whether on a single\nnode or across multiple nodes, there are a couple of things to consider:\n\n* SQLite DataSources do not scale well and may run into locking issues with multiple processes trying to access them on the same node.\n* Any file-based database technology that isn't centrally accessible would be challenging when using multiple nodes.\n* Ad Hoc DataSource and Ad Hoc Table downloads should be avoided as they may conflict/repeat across each process. Offload this to an external\nETL process that is better suited to manage those data flows in a scalable production scenario.\n\nNote that you can still use the default SQLite in-memory Combined Layer DB without issues, as that is made on the fly with each report request and\nrequires no coordination/communication with other processes or nodes.\n\n<a name=\"demo-ui\"></a>\n\n**Demo UI / Web API**\n--------------------\n\n[Zillion Web UI](https://github.com/totalhack/zillion-web) is a demo UI and web API for Zillion that also includes an experimental ChatGPT plugin. See the README there for more info on installation and project structure. Please note that the code is light on testing and polish, but is expected to work in modern browsers. Also ChatGPT plugins are quite slow at the moment, so currently that is mostly for fun and not that useful."
  },
  {
    "path": "docs/markdown/readme_docs.md",
    "content": "<a name=\"documentation\"></a>\n\n**Documentation**\n-----------------\n\nMore thorough documentation can be found [here](https://totalhack.github.io/zillion/).\nYou can supplement your knowledge by perusing the [tests](https://github.com/totalhack/zillion/tree/master/tests) directory\nor the [API reference](https://totalhack.github.io/zillion/).\n"
  },
  {
    "path": "docs/markdown/readme_how_to_contribute.md",
    "content": "<a name=\"how-to-contribute\"></a>\n\n**How to Contribute**\n---------------------\n\nPlease See the\n[contributing](https://github.com/totalhack/zillion/blob/master/CONTRIBUTING.md)\nguide for more information. If you are looking for inspiration, adding support and tests for additional database technologies would be a great help.\n\n"
  },
  {
    "path": "docs/markdown/readme_intro.md",
    "content": "**Introduction**\n----------------\n\n`Zillion` is a data modeling and analytics tool that allows combining and\nanalyzing data from multiple datasources through a simple API. It acts as a semantic layer\non top of your data, writes SQL so you don't have to, and easily bolts onto existing\ndatabase infrastructure via SQLAlchemy Core. The `Zillion` NLP extension has experimental\nsupport for AI-powered natural language querying and warehouse configuration.\n\nWith `Zillion` you can:\n\n* Define a warehouse that contains a variety of SQL and/or file-like\n  datasources\n* Define or reflect metrics, dimensions, and relationships in your data\n* Run multi-datasource reports and combine the results in a DataFrame\n* Flexibly aggregate your data with multi-level rollups and table pivots\n* Customize or combine fields with formulas\n* Apply technical transformations including rolling, cumulative, and rank\n  statistics\n* Apply automatic type conversions - i.e. get a \"year\" dimension for free\n  from a \"date\" column\n* Save and share report specifications\n* Utilize ad hoc or public datasources, tables, and fields to enrich reports\n* Query your warehouse with natural language (NLP extension)\n* Leverage AI to bootstrap your warehouse configurations (NLP extension)\n"
  },
  {
    "path": "docs/markdown/readme_toc.md",
    "content": "**Table of Contents**\n---------------------\n\n* [Installation](#installation)\n* [Primer](#primer)\n    * [Metrics and Dimensions](#metrics-and-dimensions)\n    * [Warehouse Theory](#warehouse-theory)\n    * [Query Layers](#query-layers)\n    * [Warehouse Creation](#warehouse-creation)\n    * [Executing Reports](#executing-reports)\n    * [Natural Language Querying](#natural-language-querying)\n    * [Zillion Configuration](#zillion-configuration)\n* [Example - Sales Analytics](#example-sales-analytics)\n    * [Warehouse Configuration](#example-warehouse-config)\n    * [Reports](#example-reports)\n* [Advanced Topics](#advanced-topics)\n    * [Subreports](#subreports)\n    * [FormulaMetrics](#formula-metrics)\n    * [Divisor Metrics](#divisor-metrics)\n    * [Aggregation Variants](#aggregation-variants)\n    * [FormulaDimensions](#formula-dimensions)\n    * [DataSource Formulas](#datasource-formulas)\n    * [Type Conversions](#type-conversions)\n    * [AdHocMetrics](#adhoc-metrics)\n    * [AdHocDimensions](#adhoc-dimensions)\n    * [AdHocDataTables](#adhoc-data-tables)\n    * [Technicals](#technicals)\n    * [Config Variables](#config-variables)\n    * [DataSource Priority](#datasource-priority)\n* [Supported DataSources](#supported-datasources)\n* [Multiprocess Considerations](#multiprocess-considerations)\n* [Demo UI / Web API](#demo-ui)\n* [Docs](#documentation)\n* [How to Contribute](#how-to-contribute)\n"
  },
  {
    "path": "docs/mkdocs/api.md",
    "content": "# API Reference\n\n* [zillion.configs](zillion.configs.md)\n* [zillion.core](zillion.core.md)\n* [zillion.datasource](zillion.datasource.md)\n* [zillion.dialects](zillion.dialects.md)\n* [zillion.field](zillion.field.md)\n* [zillion.model](zillion.model.md)\n* [zillion.nlp](zillion.nlp.md)\n* [zillion.report](zillion.report.md)\n* [zillion.scripts](zillion.scripts.md)\n* [zillion.sql_utils](zillion.sql_utils.md)\n* [zillion.version](zillion.version.md)\n* [zillion.warehouse](zillion.warehouse.md)"
  },
  {
    "path": "docs/mkdocs/contributing.md",
    "content": "Your help and feedback are greatly appreciated. Whether it's supporting/testing\na new datasource type, finding bugs, or suggesting features, every little bit\nhelps make `Zillion` reach its potential. \n\nPlease also consider manicuring or configuring datasets that others may find\nuseful. With as little as a CSV and a short JSON configuration file you can\ngive back to the community. You can host these shared datasources easily with\nGitHub.\n\n## **How to Contribute**\n\n1.  Check for open issues or open a new issue to start a discussion around a\n    feature idea or a bug.\n2.  Fork [the repository](https://github.com/totalhack/zillion) on GitHub to\n    start making your changes to the **master** branch (or branch off of it).\n3.  Write a test which shows that the bug was fixed or that the feature works\n    as expected.\n4.  Send a [pull request](https://help.github.com/en/articles/creating-a-pull-request-from-a-fork). Add yourself to\n    [AUTHORS](https://github.com/totalhack/zillion/blob/master/AUTHORS.md).\n\n## **Development Setup**\n\n```shell\n# Clone this repo\ngit clone https://github.com/totalhack/zillion.git\ncd zillion\n\n# Install dependencies\n# Note: activate your venv first if desired!\npip install \".[dev]\"\n\n# Bring up test databases -- test data will init the first time\n# You can optionally run these DBs directly on your machine instead\ndocker-compose up\n\n# Run tests\nexport ZILLION_CONFIG=$(pwd)/tests/test_config.yaml\ncd tests\npytest\n```\n\n## **Good Bug Reports**\n\nPlease be aware of the following things when filing bug reports:\n\n1. Avoid raising duplicate issues. *Please* use the GitHub issue search feature\n   to check whether your bug report or feature request has been mentioned in\n   the past. Duplicate bug reports and feature requests are a huge maintenance\n   burden on the limited resources of the project. If it is clear from your\n   report that you would have struggled to find the original, that's ok, but\n   if searching for a selection of words in your issue title would have found\n   the duplicate then the issue will likely be closed.\n2. When filing bug reports about exceptions or tracebacks, please include the\n   *complete* traceback. Partial tracebacks, or just the exception text, are\n   not helpful. Issues that do not contain complete tracebacks may be closed\n   without warning.\n3. Make sure you provide a suitable amount of information to work with.\n\n## **Questions**\n\nThe GitHub issue tracker is for *bug reports* and *feature requests*. Please do\nnot use it to ask questions about how to use Zillion.\n"
  },
  {
    "path": "docs/mkdocs/css/extra.css",
    "content": "pre { color: white !important; }\n\n.md-clipboard:before {\n    color: rgb(255, 255, 255);\n}\n\n.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before {\n    color: rgba(255, 255, 255, 0.54) !important\n}\n\n.md-typeset code {\n    font-size: 0.87em;\n}\n\n.md-typeset pre > code {\n    background-color: transparent;\n    color: #cccccc;\n}\n\n.md-typeset p > code {\n    color: black;\n}\n\n.md-typeset li > code {\n    color: black;\n}\n\n/* mkautodoc */\n\ndiv.autodoc-docstring {\n  padding-left: 20px;\n  margin-bottom: 30px;\n  border-left: 5px solid rgba(230, 230, 230);\n}\n\ndiv.autodoc-members {\n  padding-left: 20px;\n  margin-bottom: 15px;\n}\n\ndiv.autodoc-signature {\n    color: black;\n}\n\n.autodoc-signature code {\n    color: black;\n}\n\n.autodoc-param {\n    font-size: 0.95em;\n}\n"
  },
  {
    "path": "docs/mkdocs/index.md",
    "content": "[![Generic badge](https://img.shields.io/badge/Status-Alpha-yellow.svg)](https://shields.io/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![License: MIT](https://img.shields.io/badge/license-MIT-blue)\n![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue)\n[![Downloads](https://static.pepy.tech/badge/zillion)](https://pepy.tech/project/zillion)\n\n\n**Introduction**\n----------------\n\n`Zillion` is a data modeling and analytics tool that allows combining and\nanalyzing data from multiple datasources through a simple API. It acts as a semantic layer\non top of your data, writes SQL so you don't have to, and easily bolts onto existing\ndatabase infrastructure via SQLAlchemy Core. The `Zillion` NLP extension has experimental\nsupport for AI-powered natural language querying and warehouse configuration.\n\nWith `Zillion` you can:\n\n* Define a warehouse that contains a variety of SQL and/or file-like\n  datasources\n* Define or reflect metrics, dimensions, and relationships in your data\n* Run multi-datasource reports and combine the results in a DataFrame\n* Flexibly aggregate your data with multi-level rollups and table pivots\n* Customize or combine fields with formulas\n* Apply technical transformations including rolling, cumulative, and rank\n  statistics\n* Apply automatic type conversions - i.e. get a \"year\" dimension for free\n  from a \"date\" column\n* Save and share report specifications\n* Utilize ad hoc or public datasources, tables, and fields to enrich reports\n* Query your warehouse with natural language (NLP extension)\n* Leverage AI to bootstrap your warehouse configurations (NLP extension)\n\n\n---\n\n<a name=\"installation\"></a>\n\n**Installation**\n----------------\n\n> **Warning**: This project is in an alpha state and is subject to change. Please test carefully for production usage and report any issues.\n\n```shell\n$ pip install zillion\n\nor\n\n$ pip install zillion[nlp]\n```\n\n---\n\n<a name=\"primer\"></a>\n\n**Primer**\n----------\n\nThe following is meant to give a quick overview of some theory and\nnomenclature used in data warehousing with `Zillion` which will be useful\nif you are newer to this area. You can also skip below for a usage [example](#example-sales-analytics) or warehouse/datasource creation [quickstart](#warehouse-creation) options.\n\nIn short: `Zillion` writes SQL for you and makes data accessible through a very simple API:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\n```\n\n<a name=\"metrics-and-dimensions\"></a>\n\n### **Metrics and Dimensions**\n\nIn `Zillion` there are two main types of `Fields` that will be used in\nyour report requests:\n\n1. `Dimensions`: attributes of data used for labelling, grouping, and filtering\n2. `Metrics`: facts and measures that may be broken down along dimensions\n\nA `Field` encapsulates the concept of a column in your data. For example, you\nmay have a `Field` called \"revenue\". That `Field` may occur across several\ndatasources or possibly in multiple tables within a single datasource. `Zillion` \nunderstands that all of those columns represent the same concept, and it can try \nto use any of them to satisfy reports requesting \"revenue\".\n\nLikewise there are two main types of tables used to structure your warehouse:\n\n1. `Dimension Tables`: reference/attribute tables containing only related\ndimensions\n2. `Metric Tables`: fact tables that may contain metrics and some related\ndimensions/attributes\n\nDimension tables are often static or slowly growing in terms of row count and contain\nattributes tied to a primary key. Some common examples would be lists of US Zip Codes or\ncompany/partner directories.\n\nMetric tables are generally more transactional in nature. Some common examples\nwould be records for web requests, ecommerce sales, or stock market price history.\n\n<a name=\"warehouse-theory\"></a>\n\n### **Warehouse Theory**\n\nIf you really want to go deep on dimensional modeling and the drill-across\nquerying technique `Zillion` employs, I recommend reading Ralph Kimball's\n[book](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/data-warehouse-dw-toolkit/) on data warehousing.\n\nTo summarize, [drill-across\nquerying](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/drilling-across/)\nforms one or more queries to satisfy a report request for `metrics` that may\nexist across multiple datasources and/or tables at a particular `dimension` grain.\n\n`Zillion` supports flexible warehouse setups such as\n[snowflake](https://en.wikipedia.org/wiki/Snowflake_schema) or\n[star](https://en.wikipedia.org/wiki/Star_schema) schemas, though it isn't\npicky about it. You can specify table relationships through a parent-child\nlineage, and `Zillion` can also infer acceptable joins based on the presence\nof dimension table primary keys. `Zillion` does not support many-to-many relationships at this time, though most analytics-focused scenarios should be able to work around that by adding views to the model if needed.\n\n<a name=\"query-layers\"></a>\n\n### **Query Layers**\n\n`Zillion` reports can be thought of as running in two layers:\n\n1. `DataSource Layer`: SQL queries against the warehouse's datasources\n2. `Combined Layer`: A final SQL query against the combined data from the\nDataSource Layer\n\nThe Combined Layer is just another SQL database (in-memory SQLite by default)\nthat is used to tie the datasource data together and apply a few additional\nfeatures such as rollups, row filters, row limits, sorting, pivots, and technical computations.\n\n<a name=\"warehouse-creation\"></a>\n\n### **Warehouse Creation**\n\nThere are multiple ways to quickly initialize a warehouse from a local or remote file:\n\n```python\n# Path/link to a CSV, XLSX, XLS, JSON, HTML, or Google Sheet\n# This builds a single-table Warehouse for quick/ad-hoc analysis.\nurl = \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.xlsx\"\nwh = Warehouse.from_data_file(url, [\"Zip_Code\"]) # Second arg is primary key\n\n# Path/link to a sqlite database\n# This can build a single or multi-table Warehouse\nurl = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\nwh = Warehouse.from_db_file(url)\n\n# Path/link to a WarehouseConfigSchema (or pass a dict)\n# This is the recommended production approach!\nconfig = \"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\"\nwh = Warehouse(config=config)\n```\n\nZillion also provides a helper script to boostrap a DataSource configuration file for an existing database. See `zillion.scripts.bootstrap_datasource_config.py`. The bootstrap script requires a connection/database url and output file as arguments. See `--help` output for more options, including the optional `--nlp` flag that leverages OpenAI to infer configuration information such as column types, table types, and table relationships. The NLP feature requires the NLP extension to be installed as well as the following set in your `Zillion` config file:\n\n* OPENAI_MODEL\n* OPENAI_API_KEY\n\n<a name=\"executing-reports\"></a>\n\n### **Executing Reports**\n\nThe main purpose of `Zillion` is to execute reports against a `Warehouse`.\nAt a high level you will be crafting reports as follows:\n\n```python\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"=\", \"Partner A\")\n    ]\n)\nprint(result.df) # Pandas DataFrame\n```\n\nWhen comparing to writing SQL, it's helpful to think of the dimensions as the\ntarget columns of a **group by** SQL statement. Think of the metrics as the\ncolumns you are **aggregating**. Think of the criteria as the **where\nclause**. Your criteria are applied in the DataSource Layer SQL queries.\n\nThe `ReportResult` has a Pandas DataFrame with the dimensions as the index and\nthe metrics as the columns.\n\nA `Report` is said to have a `grain`, which defines the dimensions each metric\nmust be able to join to in order to satisfy the `Report` requirements. The\n`grain` is a combination of **all** dimensions, including those referenced in\ncriteria or in metric formulas. In the example above, the `grain` would be\n`{date, partner}`. Both \"revenue\" and \"leads\" must be able to join to those\ndimensions for this report to be possible.\n\nThese concepts can take time to sink in and obviously vary with the specifics\nof your data model, but you will become more familiar with them as you start\nputting together reports against your data warehouses.\n\n<a name=\"natural-language-querying\"></a>\n\n### **Natural Language Querying**\n\nWith the NLP extension `Zillion` has experimental support for natural language querying of your data warehouse. For example:\n\n```python\nresult = warehouse.execute_text(\"revenue and leads by date last month\")\nprint(result.df) # Pandas DataFrame\n```\n\nThis NLP feature requires a running instance of Qdrant (vector database) and the following values set in your `Zillion` config file:\n\n* QDRANT_HOST\n* OPENAI_API_KEY\n\nEmbeddings will be produced and stored in both Qdrant and a local cache. The\nvector database will be initialized the first time you try to use this by\nanalyzing all fields in your warehouse. An example docker file to run Qdrant is provided in the root of this repo.\n\nYou have some control over how fields get embedded. Namely in the configuration for any field you can choose whether to exclude a field from embeddings or override which embeddings map to that field. All fields are\nincluded by default. The following example would exclude the `net_revenue` field from being embedded and map `revenue` metric requests to the `gross_revenue` field.\n\n```javascript\n{\n    \"name\": \"gross_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            // enabled defaults to true\n            \"embedding_text\": \"revenue\" // str or list of str\n        }\n    }\n},\n{\n    \"name\": \"net_revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"meta\": {\n        \"nlp\": {\n            \"enabled\": false\n        }\n    }\n},\n```\n\nAdditionally you may also exclude fields via the following warehouse-level configuration settings:\n\n```javascript\n{\n    \"meta\": {\n        \"nlp\": {\n            \"field_disabled_patterns\": [\n                // list of regex patterns to exclude\n                \"rpl_ma_5\"\n            ],\n            \"field_disabled_groups\": [\n                // list of \"groups\" to exclude, assuming you have\n                // set group value in the field's meta dict.\n                \"No NLP\"\n            ]\n        }\n    },\n    ...\n}\n```\n\nIf a field is disabled at any of the aforementioned levels it will be ignored. This type of control becomes useful as your data model gets more complex and you want to guide the NLP logic in cases where it could confuse similarly named fields. Any time you adjust which fields are excluded you will want to force recreation of your embeddings collection using the `force_recreate` flag on `Warehouse.init_embeddings`.\n\n> *Note:* This feature is in its infancy. It's usefulness will depend on the\nquality of both the input query and your data model (i.e. good field names)!\n\n<a name=\"zillion-configuration\"></a>\n\n### **Zillion Configuration**\n\nIn addition to configuring the structure of your `Warehouse`, which will be\ndiscussed further below, `Zillion` has a global configuration to control some\nbasic settings. The `ZILLION_CONFIG` environment var can point to a yaml config file. See `examples/sample_config.yaml` for more details on what values can be set. Environment vars prefixed with ZILLION_ can override config settings (i.e. ZILLION_DB_URL will override DB_URL).\n\nThe database used to store Zillion report specs can be configured by setting the DB_URL value in your `Zillion` config to a valid database connection string. By default a SQLite DB in /tmp is used.\n\n---\n\n<a name=\"example-sales-analytics\"></a>\n\n**Example - Sales Analytics**\n-----------------------------\n\nBelow we will walk through a simple hypothetical sales data model that\ndemonstrates basic `DataSource` and `Warehouse` configuration and then shows\nsome sample [reports](#example-reports). The data is a simple SQLite database\nthat is part of the `Zillion` test code. For reference, the schema is as\nfollows:\n\n```sql\nCREATE TABLE partners (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE campaigns (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  category VARCHAR NOT NULL,\n  partner_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE leads (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL,\n  campaign_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE sales (\n  id INTEGER PRIMARY KEY,\n  item VARCHAR NOT NULL,\n  quantity INTEGER NOT NULL,\n  revenue DECIMAL(10, 2),\n  lead_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n```\n\n<a name=\"example-warehouse-config\"></a>\n\n### **Warehouse Configuration**\n\nA `Warehouse` may be created from a JSON or YAML configuration that defines\nits fields, datasources, and tables. The code below shows how it can be done in as little as one line of code if you have a pointer to a JSON/YAML `Warehouse` config.\n\n```python\nfrom zillion import Warehouse\n\nwh = Warehouse(config=\"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\")\n```\n\nThis example config uses a `data_url` in its `DataSource` `connect` info that\ntells `Zillion` to dynamically download that data and connect to it as a\nSQLite database. This is useful for quick examples or analysis, though in most\nscenarios you would put a connection string to an existing database like you\nsee\n[here](https://raw.githubusercontent.com/totalhack/zillion/master/tests/test_mysql_ds_config.json)\n\nThe basics of `Zillion's` warehouse configuration structure are as follows:\n\nA `Warehouse` config has the following main sections:\n\n* `metrics`: optional list of metric configs for global metrics\n* `dimensions`: optional list of dimension configs for global dimensions\n* `datasources`: mapping of datasource names to datasource configs or config URLs\n\nA `DataSource` config has the following main sections:\n\n* `connect`: database connection url or dict of connect params\n* `metrics`: optional list of metric configs specific to this datasource\n* `dimensions`: optional list of dimension configs specific to this datasource\n* `tables`: mapping of table names to table configs or config URLs\n\n> Tip: datasource and table configs may also be replaced with a URL that points\nto a local or remote config file.\n\nIn this example all four tables in our database are included in the config,\ntwo as dimension tables and two as metric tables. The tables are linked\nthrough a parent->child relationship: partners to campaigns, and leads to\nsales.  Some tables also utilize the `create_fields` flag to automatically\ncreate `Fields` on the datasource from column definitions. Other metrics and\ndimensions are defined explicitly.\n\nTo view the structure of this `Warehouse` after init you can use the `print_info`\nmethod which shows all metrics, dimensions, tables, and columns that are part\nof your data warehouse:\n\n```python\nwh.print_info() # Formatted print of the Warehouse structure\n```\n\nFor a deeper dive of the config schema please see the full\n[docs](https://totalhack.github.io/zillion/zillion.configs/).\n\n<a name=\"example-reports\"></a>\n\n### **Reports**\n\n**Example:** Get sales, leads, and revenue by partner:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n\nprint(result.df)\n\"\"\"\n              sales  leads  revenue\npartner_name\nPartner A        11      4    165.0\nPartner B         2      2     19.0\nPartner C         5      1    118.5\n\"\"\"\n```\n\n**Example:** Let's limit to Partner A and break down by its campaigns:\n\n```python\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"campaign_name\"],\n    criteria=[(\"partner_name\", \"=\", \"Partner A\")]\n)\n\nprint(result.df)\n\"\"\"\n               sales  leads  revenue\ncampaign_name\nCampaign 1A        5      2       83\nCampaign 2A        6      2       82\n\"\"\"\n```\n\n**Example:** The output below shows rollups at the campaign level within each\npartner, and also a rollup of totals at the partner and campaign level.\n\n> *Note:* the output contains a special character to mark DataFrame rollup rows\nthat were added to the result. The\n[ReportResult](https://totalhack.github.io/zillion/zillion.report/#reportresult)\nobject contains some helper attributes to automatically access or filter\nrollups, as well as a `df_display` attribute that returns the result with\nfriendlier display values substituted for special characters. The\nunder-the-hood special character is left here for illustration, but may not\nrender the same in all scenarios.\n\n```python\nfrom zillion import RollupTypes\n\nresult = wh.execute(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\", \"campaign_name\"],\n    rollup=RollupTypes.ALL\n)\n\nprint(result.df)\n\"\"\"\n                            sales  leads  revenue\npartner_name campaign_name\nPartner A    Campaign 1A      5.0    2.0     83.0\n             Campaign 2A      6.0    2.0     82.0\n             􏿿               11.0    4.0    165.0\nPartner B    Campaign 1B      1.0    1.0      6.0\n             Campaign 2B      1.0    1.0     13.0\n             􏿿                2.0    2.0     19.0\nPartner C    Campaign 1C      5.0    1.0    118.5\n             􏿿                5.0    1.0    118.5\n􏿿            􏿿               18.0    7.0    302.5\n\"\"\"\n```\n\nSee the `Report`\n[docs](https://totalhack.github.io/zillion/zillion.report/#report) for more\ninformation on supported rollup behavior.\n\n**Example:** Save a report spec (not the data):\n\nFirst you must make sure you have saved your `Warehouse`, as saved reports\nare scoped to a particular `Warehouse` ID. To save a `Warehouse`\nyou must provide a URL that points to the complete config.\n\n```python\nname = \"My Unique Warehouse Name\"\nconfig_url = <some url pointing to a complete warehouse config>\nwh.save(name, config_url) # wh.id is populated after this\n\nspec_id = wh.save_report(\n    metrics=[\"sales\", \"leads\", \"revenue\"],\n    dimensions=[\"partner_name\"]\n)\n```\n\n> *Note*: If you built your `Warehouse` in python from a list of `DataSources`,\nor passed in a `dict` for the `config` param on init, there currently is not\na built-in way to output a complete config to a file for reference when saving.\n\n**Example:** Load and run a report from a spec ID:\n\n```python\nresult = wh.execute_id(spec_id)\n```\n\nThis assumes you have saved this report ID previously in the database specified by the DB_URL in your `Zillion` yaml configuration.\n\n**Example:** Unsupported Grain\n\nIf you attempt an impossible report, you will get an\n`UnsupportedGrainException`. The report below is impossible because it\nattempts to break down the leads metric by a dimension that only exists\nin a child table. Generally speaking, child tables can join back up to\nparents (and \"siblings\" of parents) to find dimensions, but not the other\nway around.\n\n```python\n# Fails with UnsupportedGrainException\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[\"sale_id\"]\n)\n```\n\n---\n\n<a name=\"advanced-topics\"></a>\n\n**Advanced Topics**\n-------------------\n\n<a name=\"subreports\"></a>\n\n### **Subreports**\n\nSometimes you need subquery-like functionality in order to filter one\nreport to the results of some other (that perhaps required a different grain).\nZillion provides a simplistic way of doing that by using the `in report` or `not in report`\ncriteria operations. There are two supported ways to specify the subreport: passing a\nreport spec ID or passing a dict of report params.\n\n```python\n# Assuming you have saved report 1234 and it has \"partner\" as a dimension:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", 1234)\n    ]\n)\n\n# Or with a dict:\n\nresult = warehouse.execute(\n    metrics=[\"revenue\", \"leads\"],\n    dimensions=[\"date\"],\n    criteria=[\n        (\"date\", \">\", \"2020-01-01\"),\n        (\"partner\", \"in report\", dict(\n            metrics=[...],\n            dimension=[\"partner\"],\n            criteria=[...]\n        ))\n    ]\n)\n```\n\nThe criteria field used in `in report` or `not in report` must be a dimension\nin the subreport. Note that subreports are executed at `Report` object initialization\ntime instead of during `execute` -- as such they can not be killed using `Report.kill`.\nThis may change down the road.\n\n<a name=\"formula-metrics\"></a>\n\n### **Formula Metrics**\n\nIn our example above our config included a formula-based metric called \"rpl\",\nwhich is simply `revenue / leads`. A `FormulaMetric` combines other metrics\nand/or dimensions to calculate a new metric at the Combined Layer of\nquerying. The syntax must match your Combined Layer database, which is SQLite\nin our example.\n\n```json\n{\n    \"name\": \"rpl\",\n    \"aggregation\": \"mean\",\n    \"rounding\": 2,\n    \"formula\": \"{revenue}/{leads}\"\n}\n```\n\n<a name=\"divisor-metrics\"></a>\n\n### **Divisor Metrics**\n\nAs a convenience, rather than having to repeatedly define formula metrics for\nrate variants of a core metric, you can specify a divisor metric configuration on a non-formula metric. As an example, say you have a `revenue` metric and want to create variants for `revenue_per_lead` and `revenue_per_sale`. You can define your revenue metric as follows:\n\n```json\n{\n    \"name\": \"revenue\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"divisors\": {\n        \"metrics\": [\n            \"leads\",\n            \"sales\"\n        ]\n    }\n}\n```\n\nSee `zillion.configs.DivisorsConfigSchema` for more details on configuration options, such as overriding naming templates, formula templates, and rounding.\n\n<a name=\"aggregation-variants\"></a>\n\n### **Aggregation Variants**\n\nAnother minor convenience feature is the ability to automatically generate variants of metrics for different aggregation types in a single field configuration instead of across multiple fields in your config file. As an example, say you have a `sales` column in your data and want to create variants for `sales_mean` and `sales_sum`. You can define your metric as follows:\n\n```json\n{\n    \"name\": \"sales\",\n    \"aggregation\": {\n        \"mean\": {\n            \"type\": \"numeric(10,2)\",\n            \"rounding\": 2\n        },\n        \"sum\": {\n            \"type\": \"integer\"\n        }\n    }\n}\n```\n\nThe resulting warehouse would not have a `sales` metric, but would instead have `sales_mean` and `sales_sum`. Note that you can further customize the settings for the generated fields, such as setting a custom name, by specifying that in the nested settings for that aggregation type. In practice this is not a big efficiency gain over just defining the metrics separately, but some may prefer this approach.\n\n<a name=\"formula-dimensions\"></a>\n\n### **Formula Dimensions**\n\nExperimental support exists for `FormulaDimension` fields as well. A `FormulaDimension` can only use other dimensions as part of its formula, and it also gets evaluated in the Combined Layer database. As an additional restriction, a `FormulaDimension` can not be used in report criteria as those filters are evaluated at the DataSource Layer. The following example assumes a SQLite Combined Layer database:\n\n\n```json\n{\n    \"name\": \"partner_is_a\",\n    \"formula\": \"{partner_name} = 'Partner A'\"\n}\n```\n\n<a name=\"datasource-formulas\"></a>\n\n### **DataSource Formulas**\n\nOur example also includes a metric \"sales\" whose value is calculated via\nformula at the DataSource Layer of querying. Note the following in the\n`fields` list for the \"id\" param in the \"main.sales\" table. These formulas are\nin the syntax of the particular `DataSource` database technology, which also\nhappens to be SQLite in our example.\n\n```json\n\"fields\": [\n    \"sale_id\",\n    {\"name\":\"sales\", \"ds_formula\": \"COUNT(DISTINCT sales.id)\"}\n]\n```\n\n<a name=\"type-conversions\"></a>\n\n### **Type Conversions**\n\nOur example also automatically created a handful of dimensions from the\n\"created_at\" columns of the leads and sales tables. Support for automatic type\nconversions is limited, but for date/datetime columns in supported\n`DataSource` technologies you can get a variety of dimensions for free this\nway.\n\nThe output of `wh.print_info` will show the added dimensions, which are\nprefixed with \"lead_\" or \"sale_\" as specified by the optional\n`type_conversion_prefix` in the config for each table. Some examples of\nauto-generated dimensions in our example warehouse include sale_hour,\nsale_day_name, sale_month, sale_year, etc. \n\nAs an optimization in the where clause of underlying report queries, `Zillion` \nwill try to apply conversions to criteria values instead of columns. For example, \nit is generally more efficient to query as `my_datetime > '2020-01-01' and my_datetime < '2020-01-02'`\ninstead of `DATE(my_datetime) == '2020-01-01'`, because the latter can prevent index\nusage in many database technologies. The ability to apply conversions to values\ninstead of columns varies by field and `DataSource` technology as well. \n\nTo prevent type conversions, set `skip_conversion_fields` to `true` on your\n`DataSource` config.\n\nSee `zillion.field.TYPE_ALLOWED_CONVERSIONS` and `zillion.field.DIALECT_CONVERSIONS`\nfor more details on currently supported conversions.\n\n<a name=\"adhoc-metrics\"></a>\n\n### **Ad Hoc Metrics**\n\nYou may also define metrics \"ad hoc\" with each report request. Below is an\nexample that creates a revenue-per-lead metric on the fly. These only exist\nwithin the scope of the report, and the name can not conflict with any existing\nfields:\n\n```python\nresult = wh.execute(\n    metrics=[\n        \"leads\",\n        {\"formula\": \"{revenue}/{leads}\", \"name\": \"my_rpl\"}\n    ],\n    dimensions=[\"partner_name\"]\n)\n```\n\n<a name=\"adhoc-dimensions\"></a>\n\n### **Ad Hoc Dimensions**\n\nYou may also define dimensions \"ad hoc\" with each report request. Below is an\nexample that creates a dimension that partitions on a particular dimension value on the fly. Ad Hoc Dimensions are a subclass of `FormulaDimension`s and therefore have the same restrictions, such as not being able to use a metric as a formula field. These only exist within the scope of the report, and the name can not conflict with any existing fields:\n\n```python\nresult = wh.execute(\n    metrics=[\"leads\"],\n    dimensions=[{\"name\": \"partner_is_a\", \"formula\": \"{partner_name} = 'Partner A'\"]\n)\n```\n\n<a name=\"adhoc-tables\"></a>\n\n### **Ad Hoc Tables**\n\n`Zillion` also supports creation or syncing of ad hoc tables in your database\nduring `DataSource` or `Warehouse` init. An example of a table config that\ndoes this is shown\n[here](https://github.com/totalhack/zillion/blob/master/tests/test_adhoc_ds_config.json).\nIt uses the table config's `data_url` and `if_exists` params to control the\nsyncing and/or creation of the \"main.dma_zip\" table from a remote CSV in a\nSQLite database.  The same can be done in other database types too.\n\nThe potential performance drawbacks to such an approach should be obvious,\nparticularly if you are initializing your warehouse often or if the remote\ndata file is large. It is often better to sync and create your data ahead of\ntime so you have complete schema control, but this method can be very useful\nin certain scenarios.\n\n> **Warning**: be careful not to overwrite existing tables in your database!\n\n<a name=\"technicals\"></a>\n\n### **Technicals**\n\nThere are a variety of technical computations that can be applied to metrics to\ncompute rolling, cumulative, or rank statistics. For example, to compute a 5-point\nmoving average on revenue one might define a new metric as follows:\n\n```json\n{\n    \"name\": \"revenue_ma_5\",\n    \"type\": \"numeric(10,2)\",\n    \"aggregation\": \"sum\",\n    \"rounding\": 2,\n    \"technical\": \"mean(5)\"\n}\n```\n\nTechnical computations are computed at the Combined Layer, whereas the \"aggregation\"\nis done at the DataSource Layer (hence needing to define both above). \n\nFor more info on how shorthand technical strings are parsed, see the\n[parse_technical_string](https://totalhack.github.io/zillion/zillion.configs/#parse_technical_string)\ncode. For a full list of supported technical types see\n`zillion.core.TechnicalTypes`.\n\nTechnicals also support two modes: \"group\" and \"all\". The mode controls how to\napply the technical computation across the data's dimensions. In \"group\" mode,\nit computes the technical across the last dimension, whereas in \"all\" mode in\ncomputes the technical across all data without any regard for dimensions.\n\nThe point of this becomes more clear if you try to do a \"cumsum\" technical\nacross data broken down by something like [\"partner_name\", \"date\"]. If \"group\"\nmode is used (the default in most cases) it will do cumulative sums *within*\neach partner over the date ranges. If \"all\" mode is used, it will do a\ncumulative sum across every data row. You can be explicit about the mode by\nappending it to the technical string: i.e. \"cumsum:all\" or \"mean(5):group\"\n\n---\n\n<a name=\"config-variables\"></a>\n\n### **Config Variables**\n\nIf you'd like to avoid putting sensitive connection information directly in\nyour `DataSource` configs you can leverage config variables. In your `Zillion`\nyaml config you can specify a `DATASOURCE_CONTEXTS` section as follows:\n\n```yaml\nDATASOURCE_CONTEXTS:\n  my_ds_name:\n    user: user123\n    pass: goodpassword\n    host: 127.0.0.1\n    schema: reporting\n```\n\nThen when your `DataSource` config for the datasource named \"my_ds_name\" is\nread, it can use this context to populate variables in your connection url:\n\n```json\n\"datasources\": {\n    \"my_ds_name\": {\n        \"connect\": \"mysql+pymysql://{user}:{pass}@{host}/{schema}\"\n        ...\n    }\n}\n```\n\n<a name=\"datasource-priority\"></a>\n\n### **DataSource Priority**\n\nOn `Warehouse` init you can specify a default priority order for datasources\nby name. This will come into play when a report could be satisfied by multiple\ndatasources. `DataSources` earlier in the list will be higher priority. This\nwould be useful if you wanted to favor a set of faster, aggregate tables that\nare grouped in a `DataSource`.\n\n```python\nwh = Warehouse(config=config, ds_priority=[\"aggr_ds\", \"raw_ds\", ...])\n```\n\n<a name=\"supported-datasources\"></a>\n\n**Supported DataSources**\n-------------------------\n\n`Zillion's` goal is to support any database technology that SQLAlchemy\nsupports (pictured below). That said the support and testing levels in `Zillion` vary at the\nmoment. In particular, the ability to do type conversions, database\nreflection, and kill running queries all require some database-specific code\nfor support. The following list summarizes known support levels. Your mileage\nmay vary with untested database technologies that SQLAlchemy supports (it\nmight work just fine, just hasn't been tested yet). Please report bugs and\nhelp add more support!\n\n* SQLite: supported\n* MySQL: supported\n* PostgreSQL: supported\n* DuckDB: supported\n* BigQuery, Redshift, Snowflake, SingleStore, PlanetScale, etc: not tested but would like to support these\n\nSQLAlchemy has connectors to many popular databases. The barrier to support many of these is likely\npretty low given the simple nature of the sql operations `Zillion` uses.\n\n![SQLAlchemy Connectors](https://github.com/totalhack/zillion/blob/master/docs/images/sqlalchemy_connectors.webp?raw=true)\n\nNote that the above is different than the database support for the Combined Layer\ndatabase. Currently only SQLite is supported there; that should be sufficient for\nmost use cases but more options will be added down the road.\n\n<a name=\"multiprocess-considerations\"></a>\n\n**Multiprocess Considerations**\n-------------------------------\n\nIf you plan to run `Zillion` in a multiprocess scenario, whether on a single\nnode or across multiple nodes, there are a couple of things to consider:\n\n* SQLite DataSources do not scale well and may run into locking issues with multiple processes trying to access them on the same node.\n* Any file-based database technology that isn't centrally accessible would be challenging when using multiple nodes.\n* Ad Hoc DataSource and Ad Hoc Table downloads should be avoided as they may conflict/repeat across each process. Offload this to an external\nETL process that is better suited to manage those data flows in a scalable production scenario.\n\nNote that you can still use the default SQLite in-memory Combined Layer DB without issues, as that is made on the fly with each report request and\nrequires no coordination/communication with other processes or nodes.\n\n<a name=\"demo-ui\"></a>\n\n**Demo UI / Web API**\n--------------------\n\n[Zillion Web UI](https://github.com/totalhack/zillion-web) is a demo UI and web API for Zillion that also includes an experimental ChatGPT plugin. See the README there for more info on installation and project structure. Please note that the code is light on testing and polish, but is expected to work in modern browsers. Also ChatGPT plugins are quite slow at the moment, so currently that is mostly for fun and not that useful.\n\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.configs.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.configs\n\n\n## [AdHocFieldSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L982-L985)\n\n*Bases*: zillion.configs.FormulaFieldConfigSchema\n\n::: zillion.configs.AdHocFieldSchema\n    :docstring:\n    \n\n\n## [AdHocMetricSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L988-L1015)\n\n*Bases*: zillion.configs.AdHocFieldSchema\n\n::: zillion.configs.AdHocMetricSchema\n    :docstring:\n    \n\n\n## [BaseSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L541-L556)\n\n*Bases*: marshmallow.schema.Schema\n\n::: zillion.configs.BaseSchema\n    :docstring:\n    \n\n\n## [BollingerTechnical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1609-L1637)\n\n*Bases*: zillion.configs.RollingTechnical\n\n::: zillion.configs.BollingerTechnical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [ColumnConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L648-L651)\n\n*Bases*: zillion.configs.ColumnInfoSchema\n\n::: zillion.configs.ColumnConfigSchema\n    :docstring:\n    \n\n\n## [ColumnFieldConfigField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L610-L615)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.ColumnFieldConfigField\n    :docstring:\n    \n\n\n## [ColumnFieldConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L594-L607)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.ColumnFieldConfigSchema\n    :docstring:\n    \n\n\n## [ColumnInfo](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1324-L1410)\n\n*Bases*: zillion.configs.ZillionInfo, tlbx.logging_utils.PrintMixin\n\n::: zillion.configs.ColumnInfo\n    :docstring:\n    :members: add_field create field_ds_formula get_criteria_conversion get_field get_field_names get_fields has_field has_field_ds_formula schema_load schema_validate\n\n\n## [ColumnInfoSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L618-L645)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.ColumnInfoSchema\n    :docstring:\n    \n\n\n## [ConfigMixin](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1228-L1245)\n\n::: zillion.configs.ConfigMixin\n    :docstring:\n    :members: from_config to_config\n\n\n## [DataSourceConfigField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1124-L1130)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.DataSourceConfigField\n    :docstring:\n    \n\n\n## [DataSourceConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1069-L1121)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.DataSourceConfigSchema\n    :docstring:\n    \n\n\n## [DataSourceConnectField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1036-L1041)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.DataSourceConnectField\n    :docstring:\n    \n\n\n## [DataSourceConnectSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1026-L1033)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.DataSourceConnectSchema\n    :docstring:\n    \n\n\n## [DataSourceCriteriaConversionsField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L575-L583)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.DataSourceCriteriaConversionsField\n    :docstring:\n    \n\n\n## [DiffTechnical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1561-L1576)\n\n*Bases*: zillion.configs.PandasTechnical\n\n::: zillion.configs.DiffTechnical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [DimensionConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L968-L971)\n\n*Bases*: zillion.configs.FieldConfigSchema, zillion.configs.DimensionConfigSchemaMixin\n\n::: zillion.configs.DimensionConfigSchema\n    :docstring:\n    \n\n\n## [DimensionConfigSchemaMixin](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L945-L965)\n\n::: zillion.configs.DimensionConfigSchemaMixin\n    :docstring:\n    \n\n\n## [DimensionValuesField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L586-L591)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.DimensionValuesField\n    :docstring:\n    \n\n\n## [DivisorsConfigField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L914-L919)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.DivisorsConfigField\n    :docstring:\n    \n\n\n## [DivisorsConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L892-L911)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.DivisorsConfigSchema\n    :docstring:\n    \n\n\n## [FieldConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L796-L819)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.FieldConfigSchema\n    :docstring:\n    \n\n\n## [FieldMetaNLPConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L765-L779)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.FieldMetaNLPConfigSchema\n    :docstring:\n    \n\n\n## [FormulaDimensionConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L974-L979)\n\n*Bases*: zillion.configs.FormulaFieldConfigSchema, zillion.configs.DimensionConfigSchemaMixin\n\n::: zillion.configs.FormulaDimensionConfigSchema\n    :docstring:\n    \n\n\n## [FormulaFieldConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L822-L847)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.FormulaFieldConfigSchema\n    :docstring:\n    \n\n\n## [FormulaMetricConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L939-L942)\n\n*Bases*: zillion.configs.FormulaFieldConfigSchema, zillion.configs.MetricConfigSchemaMixin\n\n::: zillion.configs.FormulaMetricConfigSchema\n    :docstring:\n    \n\n\n## [MetricConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L922-L936)\n\n*Bases*: zillion.configs.FieldConfigSchema, zillion.configs.MetricConfigSchemaMixin\n\n::: zillion.configs.MetricConfigSchema\n    :docstring:\n    \n\n\n## [MetricConfigSchemaMixin](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L850-L889)\n\n::: zillion.configs.MetricConfigSchemaMixin\n    :docstring:\n    \n\n\n## [NLPEmbeddingTextField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L757-L762)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.NLPEmbeddingTextField\n    :docstring:\n    \n\n\n## [PandasTechnical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1530-L1542)\n\n*Bases*: zillion.configs.Technical\n\n::: zillion.configs.PandasTechnical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [PolyNested](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L520-L538)\n\n*Bases*: marshmallow.fields.Nested\n\n::: zillion.configs.PolyNested\n    :docstring:\n    \n\n\n## [RankTechnical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1545-L1558)\n\n*Bases*: zillion.configs.PandasTechnical\n\n::: zillion.configs.RankTechnical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [RollingTechnical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1579-L1606)\n\n*Bases*: zillion.configs.Technical\n\n::: zillion.configs.RollingTechnical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [TableConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L715-L754)\n\n*Bases*: zillion.configs.TableInfoSchema\n\n::: zillion.configs.TableConfigSchema\n    :docstring:\n    \n\n\n## [TableInfo](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1316-L1321)\n\n*Bases*: zillion.configs.ZillionInfo, tlbx.logging_utils.PrintMixin\n\n::: zillion.configs.TableInfo\n    :docstring:\n    :members: create schema_load schema_validate\n\n\n## [TableInfoSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L662-L712)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.TableInfoSchema\n    :docstring:\n    \n\n\n## [TableNameField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1018-L1023)\n\n*Bases*: marshmallow.fields.String\n\n::: zillion.configs.TableNameField\n    :docstring:\n    \n\n\n## [TableTypeField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L654-L659)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.TableTypeField\n    :docstring:\n    \n\n\n## [Technical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1416-L1527)\n\n*Bases*: tlbx.object_utils.MappingMixin, tlbx.logging_utils.PrintMixin\n\n::: zillion.configs.Technical\n    :docstring:\n    :members: apply get_default_mode parse_technical_string_params\n\n\n## [TechnicalField](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L567-L572)\n\n*Bases*: marshmallow.fields.Field\n\n::: zillion.configs.TechnicalField\n    :docstring:\n    \n\n\n## [TechnicalInfoSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L559-L564)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.TechnicalInfoSchema\n    :docstring:\n    \n\n\n## [WarehouseConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1154-L1225)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.WarehouseConfigSchema\n    :docstring:\n    \n\n\n## [WarehouseMetaNLPConfigSchema](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1133-L1151)\n\n*Bases*: zillion.configs.BaseSchema\n\n::: zillion.configs.WarehouseMetaNLPConfigSchema\n    :docstring:\n    \n\n\n## [ZillionInfo](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1248-L1313)\n\n*Bases*: tlbx.object_utils.MappingMixin\n\n::: zillion.configs.ZillionInfo\n    :docstring:\n    :members: create schema_load schema_validate\n\n\n## [check_field_meta_nlp_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L782-L793)\n\n::: zillion.configs.check_field_meta_nlp_config\n    :docstring:\n\n\n## [check_metric_configs](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1044-L1066)\n\n::: zillion.configs.check_metric_configs\n    :docstring:\n\n\n## [create_technical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1721-L1745)\n\n::: zillion.configs.create_technical\n    :docstring:\n\n\n## [default_field_display_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L217-L231)\n\n::: zillion.configs.default_field_display_name\n    :docstring:\n\n\n## [default_field_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L201-L214)\n\n::: zillion.configs.default_field_name\n    :docstring:\n\n\n## [field_safe_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L182-L198)\n\n::: zillion.configs.field_safe_name\n    :docstring:\n\n\n## [get_aggregation_metrics](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L503-L516)\n\n::: zillion.configs.get_aggregation_metrics\n    :docstring:\n\n\n## [get_divisor_metrics](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L457-L500)\n\n::: zillion.configs.get_divisor_metrics\n    :docstring:\n\n\n## [has_valid_sqlalchemy_type_values](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L300-L307)\n\n::: zillion.configs.has_valid_sqlalchemy_type_values\n    :docstring:\n\n\n## [is_active](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L234-L240)\n\n::: zillion.configs.is_active\n    :docstring:\n\n\n## [is_valid_aggregation](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L310-L319)\n\n::: zillion.configs.is_valid_aggregation\n    :docstring:\n\n\n## [is_valid_column_field_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L322-L330)\n\n::: zillion.configs.is_valid_column_field_config\n    :docstring:\n\n\n## [is_valid_connect_type](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L408-L416)\n\n::: zillion.configs.is_valid_connect_type\n    :docstring:\n\n\n## [is_valid_datasource_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L430-L436)\n\n::: zillion.configs.is_valid_datasource_config\n    :docstring:\n\n\n## [is_valid_datasource_connect](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L419-L427)\n\n::: zillion.configs.is_valid_datasource_connect\n    :docstring:\n\n\n## [is_valid_datasource_criteria_conversions](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L365-L405)\n\n::: zillion.configs.is_valid_datasource_criteria_conversions\n    :docstring:\n\n\n## [is_valid_dimension_values](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L356-L362)\n\n::: zillion.configs.is_valid_dimension_values\n    :docstring:\n\n\n## [is_valid_divisors_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L448-L454)\n\n::: zillion.configs.is_valid_divisors_config\n    :docstring:\n\n\n## [is_valid_field_display_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L278-L287)\n\n::: zillion.configs.is_valid_field_display_name\n    :docstring:\n\n\n## [is_valid_field_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L264-L275)\n\n::: zillion.configs.is_valid_field_name\n    :docstring:\n\n\n## [is_valid_field_nlp_embedding_text_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L439-L445)\n\n::: zillion.configs.is_valid_field_nlp_embedding_text_config\n    :docstring:\n\n\n## [is_valid_if_exists](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L257-L261)\n\n::: zillion.configs.is_valid_if_exists\n    :docstring:\n\n\n## [is_valid_sqlalchemy_type](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L290-L297)\n\n::: zillion.configs.is_valid_sqlalchemy_type\n    :docstring:\n\n\n## [is_valid_table_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L250-L254)\n\n::: zillion.configs.is_valid_table_name\n    :docstring:\n\n\n## [is_valid_table_type](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L243-L247)\n\n::: zillion.configs.is_valid_table_type\n    :docstring:\n\n\n## [is_valid_technical](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L347-L353)\n\n::: zillion.configs.is_valid_technical\n    :docstring:\n\n\n## [is_valid_technical_mode](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L340-L344)\n\n::: zillion.configs.is_valid_technical_mode\n    :docstring:\n\n\n## [is_valid_technical_type](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L333-L337)\n\n::: zillion.configs.is_valid_technical_type\n    :docstring:\n\n\n## [load_datasource_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L137-L153)\n\n::: zillion.configs.load_datasource_config\n    :docstring:\n\n\n## [load_datasource_config_from_env](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L156-L160)\n\n::: zillion.configs.load_datasource_config_from_env\n    :docstring:\n\n\n## [load_warehouse_config](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L111-L127)\n\n::: zillion.configs.load_warehouse_config\n    :docstring:\n\n\n## [load_warehouse_config_from_env](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L130-L134)\n\n::: zillion.configs.load_warehouse_config_from_env\n    :docstring:\n\n\n## [parse_schema_file](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L86-L108)\n\n::: zillion.configs.parse_schema_file\n    :docstring:\n\n\n## [parse_technical_string](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L1690-L1718)\n\n::: zillion.configs.parse_technical_string\n    :docstring:\n\n\n## [table_safe_name](https://github.com/totalhack/zillion/blob/master/zillion/configs.py#L163-L179)\n\n::: zillion.configs.table_safe_name\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.core.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.core\n\n\n## [AggregationTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L162-L171)\n\n::: zillion.core.AggregationTypes\n    :docstring:\n    \n\n\n## [DataSourceQueryModes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L223-L227)\n\n::: zillion.core.DataSourceQueryModes\n    :docstring:\n    \n\n\n## [ExecutionState](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L230-L235)\n\n::: zillion.core.ExecutionState\n    :docstring:\n    \n\n\n## [FieldTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L148-L152)\n\n::: zillion.core.FieldTypes\n    :docstring:\n    \n\n\n## [IfExistsModes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L238-L248)\n\n::: zillion.core.IfExistsModes\n    :docstring:\n    \n\n\n## [IfFileExistsModes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L251-L258)\n\n*Bases*: zillion.core.IfExistsModes\n\n::: zillion.core.IfFileExistsModes\n    :docstring:\n    \n\n\n## [OrderByTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L216-L220)\n\n::: zillion.core.OrderByTypes\n    :docstring:\n    \n\n\n## [RollupTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L209-L213)\n\n::: zillion.core.RollupTypes\n    :docstring:\n    \n\n\n## [TableTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L155-L159)\n\n::: zillion.core.TableTypes\n    :docstring:\n    \n\n\n## [TechnicalModes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L194-L206)\n\n::: zillion.core.TechnicalModes\n    :docstring:\n    \n\n\n## [TechnicalTypes](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L174-L191)\n\n::: zillion.core.TechnicalTypes\n    :docstring:\n    \n\n\n## [dbg](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L507-L511)\n\n::: zillion.core.dbg\n    :docstring:\n\n\n## [dbgsql](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L514-L518)\n\n::: zillion.core.dbgsql\n    :docstring:\n\n\n## [dictmerge](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L380-L407)\n\n::: zillion.core.dictmerge\n    :docstring:\n\n\n## [download_file](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L310-L320)\n\n::: zillion.core.download_file\n    :docstring:\n\n\n## [error](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L535-L539)\n\n::: zillion.core.error\n    :docstring:\n\n\n## [get_modified_time](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L323-L325)\n\n::: zillion.core.get_modified_time\n    :docstring:\n\n\n## [get_time_since_modified](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L328-L330)\n\n::: zillion.core.get_time_since_modified\n    :docstring:\n\n\n## [get_zillion_config_log_level](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L477-L478)\n\n::: zillion.core.get_zillion_config_log_level\n    :docstring:\n\n\n## [igetattr](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L284-L291)\n\n::: zillion.core.igetattr\n    :docstring:\n\n\n## [info](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L521-L525)\n\n::: zillion.core.info\n    :docstring:\n\n\n## [load_json_or_yaml_from_str](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L340-L377)\n\n::: zillion.core.load_json_or_yaml_from_str\n    :docstring:\n\n\n## [load_yaml](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L333-L337)\n\n::: zillion.core.load_yaml\n    :docstring:\n\n\n## [load_zillion_config](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L410-L471)\n\n::: zillion.core.load_zillion_config\n    :docstring:\n\n\n## [powerset](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L264-L269)\n\n::: zillion.core.powerset\n    :docstring:\n\n\n## [raiseif](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L272-L275)\n\n::: zillion.core.raiseif\n    :docstring:\n\n\n## [raiseifnot](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L278-L281)\n\n::: zillion.core.raiseifnot\n    :docstring:\n\n\n## [read_filepath_or_buffer](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L294-L307)\n\n::: zillion.core.read_filepath_or_buffer\n    :docstring:\n\n\n## [set_log_level](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L501-L504)\n\n::: zillion.core.set_log_level\n    :docstring:\n\n\n## [set_log_level_from_config](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L484-L495)\n\n::: zillion.core.set_log_level_from_config\n    :docstring:\n\n\n## [warn](https://github.com/totalhack/zillion/blob/master/zillion/core.py#L528-L532)\n\n::: zillion.core.warn\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.datasource.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.datasource\n\n\n## [AdHocDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1652-L1870)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.AdHocDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [CSVDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1889-L1899)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.CSVDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [DataSource](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L494-L1649)\n\n*Bases*: zillion.field.FieldManagerMixin, tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.DataSource\n    :docstring:\n    :members: add_dimension add_metric apply_config directly_has_dimension directly_has_field directly_has_metric find_descendent_tables find_neighbor_tables find_possible_table_sets from_data_file from_datatables from_db_file get_child_field_managers get_columns_with_field get_dialect_name get_dim_tables_with_dim get_dimension get_dimension_configs get_dimension_names get_dimensions get_direct_dimension_configs get_direct_dimensions get_direct_fields get_direct_metric_configs get_direct_metrics get_field get_field_instances get_field_managers get_field_names get_fields get_metric get_metric_configs get_metric_names get_metric_tables_with_metric get_metrics get_params get_possible_joins get_table get_tables_with_field has_dimension has_field has_metric has_table print_dimensions print_info print_metrics\n\n\n## [ExcelDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1902-L1914)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.ExcelDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [GoogleSheetsDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1944-L1966)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.GoogleSheetsDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [HTMLDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1928-L1941)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.HTMLDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [JSONDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1917-L1925)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.JSONDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [Join](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L341-L451)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.Join\n    :docstring:\n    :members: add_field add_fields add_join_part_tables combine get_covered_fields join_fields_for_table join_parts_for_table\n\n\n## [JoinPart](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L331-L338)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.JoinPart\n    :docstring:\n    \n\n\n## [NeighborTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L484-L491)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.NeighborTable\n    :docstring:\n    \n\n\n## [SQLiteDataTable](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1873-L1886)\n\n*Bases*: zillion.datasource.AdHocDataTable\n\n::: zillion.datasource.SQLiteDataTable\n    :docstring:\n    :members: get_dataframe table_exists to_sql\n\n\n## [TableSet](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L280-L328)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.datasource.TableSet\n    :docstring:\n    :members: get_covered_fields get_covered_metrics\n\n\n## [connect_url_to_metadata](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L88-L101)\n\n::: zillion.datasource.connect_url_to_metadata\n    :docstring:\n\n\n## [data_url_to_metadata](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L132-L166)\n\n::: zillion.datasource.data_url_to_metadata\n    :docstring:\n\n\n## [datatable_from_config](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L1969-L2015)\n\n::: zillion.datasource.datatable_from_config\n    :docstring:\n\n\n## [entity_name_from_file](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L56-L57)\n\n::: zillion.datasource.entity_name_from_file\n    :docstring:\n\n\n## [get_adhoc_datasource_filename](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L219-L222)\n\n::: zillion.datasource.get_adhoc_datasource_filename\n    :docstring:\n\n\n## [get_adhoc_datasource_url](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L225-L227)\n\n::: zillion.datasource.get_adhoc_datasource_url\n    :docstring:\n\n\n## [get_ds_config_context](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L60-L62)\n\n::: zillion.datasource.get_ds_config_context\n    :docstring:\n\n\n## [get_engine_extra_kwargs](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L73-L85)\n\n::: zillion.datasource.get_engine_extra_kwargs\n    :docstring:\n\n\n## [join_from_path](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L454-L481)\n\n::: zillion.datasource.join_from_path\n    :docstring:\n\n\n## [metadata_from_connect](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L169-L189)\n\n::: zillion.datasource.metadata_from_connect\n    :docstring:\n\n\n## [parse_replace_after](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L104-L129)\n\n::: zillion.datasource.parse_replace_after\n    :docstring:\n\n\n## [populate_url_context](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L65-L70)\n\n::: zillion.datasource.populate_url_context\n    :docstring:\n\n\n## [reflect_metadata](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L192-L216)\n\n::: zillion.datasource.reflect_metadata\n    :docstring:\n\n\n## [url_connect](https://github.com/totalhack/zillion/blob/master/zillion/datasource.py#L230-L277)\n\n::: zillion.datasource.url_connect\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.dialects.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.dialects\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.field.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.field\n\n\n## [AdHocDimension](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L765-L780)\n\n*Bases*: zillion.field.FormulaDimension\n\n::: zillion.field.AdHocDimension\n    :docstring:\n    :members: copy create from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [AdHocField](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L677-L690)\n\n*Bases*: zillion.field.FormulaField\n\n::: zillion.field.AdHocField\n    :docstring:\n    :members: copy create from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [AdHocMetric](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L693-L762)\n\n*Bases*: zillion.field.FormulaMetric\n\n::: zillion.field.AdHocMetric\n    :docstring:\n    :members: copy create from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [Dimension](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L333-L455)\n\n*Bases*: zillion.field.Field\n\n::: zillion.field.Dimension\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields get_values is_valid_value sort to_config\n\n\n## [Field](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L37-L170)\n\n*Bases*: zillion.configs.ConfigMixin, tlbx.logging_utils.PrintMixin\n\n::: zillion.field.Field\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [FieldManagerMixin](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L815-L1167)\n\n::: zillion.field.FieldManagerMixin\n    :docstring:\n    :members: add_dimension add_metric directly_has_dimension directly_has_field directly_has_metric get_child_field_managers get_dimension get_dimension_configs get_dimension_names get_dimensions get_direct_dimension_configs get_direct_dimensions get_direct_fields get_direct_metric_configs get_direct_metrics get_field get_field_instances get_field_managers get_field_names get_fields get_metric get_metric_configs get_metric_names get_metrics has_dimension has_field has_metric print_dimensions print_metrics\n\n\n## [FormulaDimension](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L575-L591)\n\n*Bases*: zillion.field.FormulaField\n\n::: zillion.field.FormulaDimension\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [FormulaField](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L458-L572)\n\n*Bases*: zillion.field.Field\n\n::: zillion.field.FormulaField\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [FormulaMetric](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L594-L674)\n\n*Bases*: zillion.field.FormulaField\n\n::: zillion.field.FormulaMetric\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [Metric](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L173-L330)\n\n*Bases*: zillion.field.Field\n\n::: zillion.field.Metric\n    :docstring:\n    :members: copy from_config get_all_raw_fields get_ds_expression get_final_select_clause get_formula_fields to_config\n\n\n## [create_dimension](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L799-L812)\n\n::: zillion.field.create_dimension\n    :docstring:\n\n\n## [create_metric](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L783-L796)\n\n::: zillion.field.create_metric\n    :docstring:\n\n\n## [get_conversions_for_type](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1350-L1366)\n\n::: zillion.field.get_conversions_for_type\n    :docstring:\n\n\n## [get_dialect_type_conversions](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1381-L1434)\n\n::: zillion.field.get_dialect_type_conversions\n    :docstring:\n\n\n## [get_table_dimensions](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1196-L1219)\n\n::: zillion.field.get_table_dimensions\n    :docstring:\n\n\n## [get_table_field_column](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1244-L1265)\n\n::: zillion.field.get_table_field_column\n    :docstring:\n\n\n## [get_table_fields](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1222-L1241)\n\n::: zillion.field.get_table_fields\n    :docstring:\n\n\n## [get_table_metrics](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1170-L1193)\n\n::: zillion.field.get_table_metrics\n    :docstring:\n\n\n## [replace_non_named_formula_args](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1369-L1378)\n\n::: zillion.field.replace_non_named_formula_args\n    :docstring:\n\n\n## [sort_by_value_order](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1325-L1347)\n\n::: zillion.field.sort_by_value_order\n    :docstring:\n\n\n## [table_field_allows_grain](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1268-L1285)\n\n::: zillion.field.table_field_allows_grain\n    :docstring:\n\n\n## [values_from_db](https://github.com/totalhack/zillion/blob/master/zillion/field.py#L1288-L1322)\n\n::: zillion.field.values_from_db\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.model.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.model\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.nlp.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.nlp\n\n\n## [build_chain](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L708-L733)\n\n::: zillion.nlp.build_chain\n    :docstring:\n\n\n## [build_llm](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L678-L705)\n\n::: zillion.nlp.build_llm\n    :docstring:\n\n\n## [field_name_to_embedding_text](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L558-L560)\n\n::: zillion.nlp.field_name_to_embedding_text\n    :docstring:\n\n\n## [get_dimensions_prompt_str](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1092-L1093)\n\n::: zillion.nlp.get_dimensions_prompt_str\n    :docstring:\n\n\n## [get_field_fuzzy](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L972-L1020)\n\n::: zillion.nlp.get_field_fuzzy\n    :docstring:\n\n\n## [get_field_name_variants](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L943-L964)\n\n::: zillion.nlp.get_field_name_variants\n    :docstring:\n\n\n## [get_fields_prompt_str](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1074-L1085)\n\n::: zillion.nlp.get_fields_prompt_str\n    :docstring:\n\n\n## [get_metrics_prompt_str](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1088-L1089)\n\n::: zillion.nlp.get_metrics_prompt_str\n    :docstring:\n\n\n## [get_nlp_table_info](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1270-L1296)\n\n::: zillion.nlp.get_nlp_table_info\n    :docstring:\n\n\n## [get_nlp_table_relationships](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1178-L1224)\n\n::: zillion.nlp.get_nlp_table_relationships\n    :docstring:\n\n\n## [get_openai_class](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L654-L657)\n\n::: zillion.nlp.get_openai_class\n    :docstring:\n\n\n## [get_openai_model_context_size](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L660-L675)\n\n::: zillion.nlp.get_openai_model_context_size\n    :docstring:\n\n\n## [get_warehouse_collection_name](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L563-L575)\n\n::: zillion.nlp.get_warehouse_collection_name\n    :docstring:\n\n\n## [hash_text](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L46-L48)\n\n::: zillion.nlp.hash_text\n    :docstring:\n\n\n## [init_warehouse_embeddings](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L600-L651)\n\n::: zillion.nlp.init_warehouse_embeddings\n    :docstring:\n\n\n## [map_warehouse_report_params](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1023-L1071)\n\n::: zillion.nlp.map_warehouse_report_params\n    :docstring:\n\n\n## [parse_nlp_table_info](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1244-L1264)\n\n::: zillion.nlp.parse_nlp_table_info\n    :docstring:\n\n\n## [parse_nlp_table_relationships](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1151-L1175)\n\n::: zillion.nlp.parse_nlp_table_relationships\n    :docstring:\n\n\n## [parse_text_to_report_json_output](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L870-L888)\n\n::: zillion.nlp.parse_text_to_report_json_output\n    :docstring:\n\n\n## [text_to_report_params](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L1100-L1135)\n\n::: zillion.nlp.text_to_report_params\n    :docstring:\n\n\n## [warehouse_field_nlp_enabled](https://github.com/totalhack/zillion/blob/master/zillion/nlp.py#L578-L597)\n\n::: zillion.nlp.warehouse_field_nlp_enabled\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.report.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.report\n\n\n## [BaseCombinedResult](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L707-L833)\n\n::: zillion.report.BaseCombinedResult\n    :docstring:\n    :members: add_warning clean_up create_table get_conn get_cursor get_final_result get_metric_clause ifnull_clause load_table\n\n\n## [DataSourceQuery](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L162-L647)\n\n*Bases*: zillion.report.ExecutionStateMixin, tlbx.logging_utils.PrintMixin\n\n::: zillion.report.DataSourceQuery\n    :docstring:\n    :members: add_metric covers_field covers_metric execute get_conn get_datasource get_datasource_name get_dialect_name get_tables kill\n\n\n## [DataSourceQueryResult](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L688-L704)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.report.DataSourceQueryResult\n    :docstring:\n    \n\n\n## [DataSourceQuerySummary](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L650-L685)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.report.DataSourceQuerySummary\n    :docstring:\n    :members: format\n\n\n## [ExecutionStateMixin](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L50-L159)\n\n::: zillion.report.ExecutionStateMixin\n    :docstring:\n    \n\n\n## [Report](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L1448-L2365)\n\n*Bases*: zillion.report.ExecutionStateMixin\n\n::: zillion.report.Report\n    :docstring:\n    :members: delete execute from_params from_text get_dimension_grain get_grain get_json get_params kill load load_warehouse_id_for_report save\n\n\n## [ReportResult](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L2368-L2454)\n\n*Bases*: tlbx.logging_utils.PrintMixin\n\n::: zillion.report.ReportResult\n    :docstring:\n    \n\n\n## [SQLiteMemoryCombinedResult](https://github.com/totalhack/zillion/blob/master/zillion/report.py#L836-L1445)\n\n*Bases*: zillion.report.BaseCombinedResult\n\n::: zillion.report.SQLiteMemoryCombinedResult\n    :docstring:\n    :members: add_warning clean_up create_table get_conn get_cursor get_final_result get_metric_clause ifnull_clause load_table\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.scripts.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.scripts\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.sql_utils.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.sql_utils\n\n\n## [aggregation_to_sqla_func](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L250-L252)\n\n::: zillion.sql_utils.aggregation_to_sqla_func\n    :docstring:\n\n\n## [check_metadata_url](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L440-L453)\n\n::: zillion.sql_utils.check_metadata_url\n    :docstring:\n\n\n## [column_fullname](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L316-L336)\n\n::: zillion.sql_utils.column_fullname\n    :docstring:\n\n\n## [comment](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L456-L459)\n\n::: zillion.sql_utils.comment\n    :docstring:\n\n\n## [contains_aggregation](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L110-L140)\n\n::: zillion.sql_utils.contains_aggregation\n    :docstring:\n\n\n## [contains_sql_keywords](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L83-L107)\n\n::: zillion.sql_utils.contains_sql_keywords\n    :docstring:\n\n\n## [filter_dialect_schemas](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L521-L548)\n\n::: zillion.sql_utils.filter_dialect_schemas\n    :docstring:\n\n\n## [get_postgres_pid](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L562-L566)\n\n::: zillion.sql_utils.get_postgres_pid\n    :docstring:\n\n\n## [get_postgres_schemas](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L551-L559)\n\n::: zillion.sql_utils.get_postgres_schemas\n    :docstring:\n\n\n## [get_schema_and_table_name](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L339-L348)\n\n::: zillion.sql_utils.get_schema_and_table_name\n    :docstring:\n\n\n## [get_schemas](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L490-L493)\n\n::: zillion.sql_utils.get_schemas\n    :docstring:\n\n\n## [get_sqla_criterion_expr](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L351-L437)\n\n::: zillion.sql_utils.get_sqla_criterion_expr\n    :docstring:\n\n\n## [infer_aggregation_and_rounding](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L213-L247)\n\n::: zillion.sql_utils.infer_aggregation_and_rounding\n    :docstring:\n\n\n## [is_numeric_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L255-L260)\n\n::: zillion.sql_utils.is_numeric_type\n    :docstring:\n\n\n## [is_probably_metric](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L263-L293)\n\n::: zillion.sql_utils.is_probably_metric\n    :docstring:\n\n\n## [printexpr](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L311-L313)\n\n::: zillion.sql_utils.printexpr\n    :docstring:\n\n\n## [sqla_compile](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L296-L308)\n\n::: zillion.sql_utils.sqla_compile\n    :docstring:\n\n\n## [to_duckdb_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L514-L518)\n\n::: zillion.sql_utils.to_duckdb_type\n    :docstring:\n\n\n## [to_generic_sa_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L195-L210)\n\n::: zillion.sql_utils.to_generic_sa_type\n    :docstring:\n\n\n## [to_mysql_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L499-L501)\n\n::: zillion.sql_utils.to_mysql_type\n    :docstring:\n\n\n## [to_postgresql_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L504-L506)\n\n::: zillion.sql_utils.to_postgresql_type\n    :docstring:\n\n\n## [to_sqlite_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L509-L511)\n\n::: zillion.sql_utils.to_sqlite_type\n    :docstring:\n\n\n## [type_string_to_sa_type](https://github.com/totalhack/zillion/blob/master/zillion/sql_utils.py#L143-L192)\n\n::: zillion.sql_utils.type_string_to_sa_type\n    :docstring:\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.version.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.version\n\n"
  },
  {
    "path": "docs/mkdocs/zillion.warehouse.md",
    "content": "[//]: # (This is an auto-generated file. Do not edit)\n# Module zillion.warehouse\n\n\n## [Warehouse](https://github.com/totalhack/zillion/blob/master/zillion/warehouse.py#L16-L1209)\n\n*Bases*: zillion.field.FieldManagerMixin\n\n::: zillion.warehouse.Warehouse\n    :docstring:\n    :members: add_datasource add_dimension add_metric apply_config delete delete_report directly_has_dimension directly_has_field directly_has_metric execute execute_id execute_text from_data_file from_db_file get_child_field_managers get_datasource get_dimension get_dimension_configs get_dimension_names get_dimension_table_set get_dimensions get_direct_dimension_configs get_direct_dimensions get_direct_fields get_direct_metric_configs get_direct_metrics get_field get_field_instances get_field_managers get_field_names get_fields get_metric get_metric_configs get_metric_names get_metric_table_set get_metrics has_dimension has_field has_metric init_embeddings load load_report load_report_and_warehouse load_warehouse_for_report print_dimensions print_info print_metrics remove_datasource run_integrity_checks save save_report\n\n"
  },
  {
    "path": "docs/mkdocs_index.md",
    "content": "--8<-- \"markdown/readme_badges.md\"\n\n--8<-- \"markdown/readme_intro.md\"\n\n---\n\n--8<-- \"markdown/readme_contents.md\"\n"
  },
  {
    "path": "docs/readme.md",
    "content": "Zillion: Make sense of it all\n=============================\n\n--8<-- \"markdown/readme_badges.md\"\n\n--8<-- \"markdown/readme_intro.md\"\n\n--8<-- \"markdown/readme_toc.md\"\n\n--8<-- \"markdown/readme_contents.md\"\n\n---\n\n--8<-- \"markdown/readme_docs.md\"\n\n---\n\n--8<-- \"markdown/readme_how_to_contribute.md\"\n"
  },
  {
    "path": "docs/requirements.txt",
    "content": "zillion\nmkdocs==1.1.2\nmkdocs-material==5.2.1\nmkdocs-material-extensions==1.0\nmkdocs-minify-plugin==0.3.0\nmkautodoc==0.1.0\n"
  },
  {
    "path": "examples/baseball_warehouse.json",
    "content": "{\n    \"metrics\": [\n        {\n            \"name\": \"games\",\n            \"display_name\": \"G\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"at_bats\",\n            \"display_name\": \"AB\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"runs\",\n            \"display_name\": \"R\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"hits\",\n            \"display_name\": \"H\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"singles\",\n            \"display_name\": \"1B\",\n            \"aggregation\": \"sum\",\n            \"formula\": \"{hits} - {doubles} - {triples} - {home_runs}\"\n        },\n        {\n            \"name\": \"doubles\",\n            \"display_name\": \"2B\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"triples\",\n            \"display_name\": \"3B\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"home_runs\",\n            \"display_name\": \"HR\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"runs_batted_in\",\n            \"display_name\": \"RBI\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"stolen_bases\",\n            \"display_name\": \"SB\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"caught_stealing\",\n            \"display_name\": \"CS\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"walks\",\n            \"display_name\": \"BB\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"strikeouts\",\n            \"display_name\": \"SO\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"intentional_walks\",\n            \"display_name\": \"IBB\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"hit_by_pitch\",\n            \"display_name\": \"HBP\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"sacrifice_hits\",\n            \"display_name\": \"SH\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"sacrifice_flies\",\n            \"display_name\": \"SF\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"grounded_into_double_plays\",\n            \"display_name\": \"GIDP\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"batting_average\",\n            \"display_name\": \"AVG\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 3,\n            \"formula\": \"1.0*{hits}/{at_bats}\",\n            \"description\": \"Hits per At Bat\"\n        },\n        {\n            \"name\": \"on_base_percentage\",\n            \"display_name\": \"OBP\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 3,\n            \"formula\": \"1.0*({hits} + {walks} + {hit_by_pitch})/({at_bats} + {walks} + {hit_by_pitch} + {sacrifice_flies})\",\n            \"description\": \"(Hits + Walks + Hit By Pitch) / (At Bats + Walks + Hit By Pitch + Sacrifice Flies)\"\n        },\n        {\n            \"name\": \"slugging_percentage\",\n            \"display_name\": \"SLG\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 3,\n            \"formula\": \"1.0*({singles} + 2*{doubles} + 3*{triples} + 4*{home_runs})/{at_bats}\",\n            \"description\": \"(Singles + 2xDoubles + 3xTriples + 4xHome Runs) / At Bats\"\n        },\n        {\n            \"name\": \"on_base_plus_slugging\",\n            \"display_name\": \"OPS\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 3,\n            \"formula\": \"1.0*({on_base_percentage} + {slugging_percentage})\",\n            \"description\": \"OBP + SLG\"\n        }\n    ],\n    \"dimensions\": [\n        {\n            \"name\": \"player_id\",\n            \"display_name\": \"Player ID\",\n            \"type\": \"string(10)\",\n            \"description\": \"A unique code assigned to each player\"\n        },\n        {\n            \"name\": \"year\",\n            \"display_name\": \"Year\",\n            \"type\": \"integer\",\n            \"description\": \"Year\"\n        },\n        {\n            \"name\": \"stint\",\n            \"display_name\": \"Stint\",\n            \"type\": \"integer\",\n            \"description\": \"Player's stint (order of appearances within a season)\"\n        },\n        {\n            \"name\": \"team_id\",\n            \"display_name\": \"Team ID\",\n            \"type\": \"string(3)\",\n            \"description\": \"A unique ID for a franchise/year combination\"\n        },\n        {\n            \"name\": \"league_id\",\n            \"display_name\": \"League ID\",\n            \"type\": \"string(2)\",\n            \"description\": \"Unique ID for the league\"\n        },\n        {\n            \"name\": \"franchise_id\",\n            \"display_name\": \"Franchise ID\",\n            \"type\": \"string(3)\",\n            \"description\": \"A unique ID for the franchise\"\n        },\n        {\n            \"name\": \"franchise_name\",\n            \"display_name\": \"Franchise Name\",\n            \"type\": \"string(50)\",\n            \"description\": \"Full name of the franchise\"\n        },\n        {\n            \"name\": \"ballpark\",\n            \"display_name\": \"Ballpark\",\n            \"type\": \"string(50)\",\n            \"description\": \"Name of the ballpark\"\n        },\n        {\n            \"name\": \"birth_year\",\n            \"display_name\": \"Birth Year\",\n            \"type\": \"integer\",\n            \"description\": \"Year player was born\"\n        },\n        {\n            \"name\": \"birth_country\",\n            \"display_name\": \"Birth Country\",\n            \"type\": \"string(32)\",\n            \"description\": \"Country where player was born\"\n        },\n        {\n            \"name\": \"birth_state\",\n            \"display_name\": \"Birth State\",\n            \"type\": \"string(3)\",\n            \"description\": \"State where player was born\"\n        },\n        {\n            \"name\": \"first_name\",\n            \"display_name\": \"First Name\",\n            \"type\": \"string(32)\",\n            \"description\": \"Player's first name\"\n        },\n        {\n            \"name\": \"last_name\",\n            \"display_name\": \"Last Name\",\n            \"type\": \"string(32)\",\n            \"description\": \"Player's last name\"\n        },\n        {\n            \"name\": \"weight\",\n            \"display_name\": \"Weight\",\n            \"type\": \"integer\",\n            \"description\": \"Player's weight in pounds\"\n        },\n        {\n            \"name\": \"height\",\n            \"display_name\": \"Height\",\n            \"type\": \"integer\",\n            \"description\": \"Player's height in inches\"\n        },\n        {\n            \"name\": \"bats\",\n            \"display_name\": \"Bats\",\n            \"type\": \"string(5)\",\n            \"description\": \"Player's batting hand (left, right, or both)\"\n        },\n        {\n            \"name\": \"throws\",\n            \"display_name\": \"Throws\",\n            \"type\": \"string(5)\",\n            \"description\": \"Player's throwing hand (left or right)\"\n        },\n        {\n            \"name\": \"debut_date\",\n            \"display_name\": \"Debut Date\",\n            \"type\": \"date\",\n            \"description\": \"Date that player made first major league appearance\"\n        }\n    ],\n    \"datasources\": {\n        \"baseball_data_bank\": {\n            \"connect\": \"sqlite:////tmp/baseball.db\",\n            \"tables\": {\n                \"main.people\": {\n                    \"type\": \"dimension\",\n                    \"data_url\": \"https://raw.githubusercontent.com/chadwickbureau/baseballdatabank/master/core/People.csv\",\n                    \"if_exists\": \"ignore\",\n                    \"primary_key\": [\n                        \"player_id\"\n                    ],\n                    \"columns\": {\n                        \"playerID\": {\n                            \"fields\": [\n                                \"player_id\"\n                            ]\n                        },\n                        \"birthYear\": {\n                            \"fields\": [\n                                \"birth_year\"\n                            ]\n                        },\n                        \"birthCountry\": {\n                            \"fields\": [\n                                \"birth_country\"\n                            ]\n                        },\n                        \"birthState\": {\n                            \"fields\": [\n                                \"birth_state\"\n                            ]\n                        },\n                        \"nameFirst\": {\n                            \"fields\": [\n                                \"first_name\"\n                            ]\n                        },\n                        \"nameLast\": {\n                            \"fields\": [\n                                \"last_name\"\n                            ]\n                        },\n                        \"weight\": {\n                            \"fields\": [\n                                \"weight\"\n                            ]\n                        },\n                        \"height\": {\n                            \"fields\": [\n                                \"height\"\n                            ]\n                        },\n                        \"bats\": {\n                            \"fields\": [\n                                \"bats\"\n                            ]\n                        },\n                        \"throws\": {\n                            \"fields\": [\n                                \"throws\"\n                            ]\n                        },\n                        \"debut\": {\n                            \"fields\": [\n                                \"debut_date\"\n                            ]\n                        }\n                    }\n                },\n                \"main.teams\": {\n                    \"type\": \"dimension\",\n                    \"data_url\": \"https://raw.githubusercontent.com/chadwickbureau/baseballdatabank/master/core/Teams.csv\",\n                    \"if_exists\": \"ignore\",\n                    \"parent\": \"main.franchises\",\n                    \"primary_key\": [\n                        \"year\",\n                        \"league_id\",\n                        \"team_id\"\n                    ],\n                    \"columns\": {\n                        \"yearID\": {\n                            \"fields\": [\n                                \"year\"\n                            ]\n                        },\n                        \"lgID\": {\n                            \"fields\": [\n                                \"league_id\"\n                            ]\n                        },\n                        \"teamID\": {\n                            \"fields\": [\n                                \"team_id\"\n                            ]\n                        },\n                        \"franchID\": {\n                            \"fields\": [\n                                \"franchise_id\"\n                            ]\n                        },\n                        \"park\": {\n                            \"fields\": [\n                                \"ballpark\"\n                            ]\n                        }\n                    }\n                },\n                \"main.franchises\": {\n                    \"type\": \"dimension\",\n                    \"data_url\": \"https://raw.githubusercontent.com/chadwickbureau/baseballdatabank/master/core/TeamsFranchises.csv\",\n                    \"if_exists\": \"ignore\",\n                    \"primary_key\": [\n                        \"franchise_id\"\n                    ],\n                    \"columns\": {\n                        \"franchID\": {\n                            \"fields\": [\n                                \"franchise_id\"\n                            ]\n                        },\n                        \"franchName\": {\n                            \"fields\": [\n                                \"franchise_name\"\n                            ]\n                        }\n                    }\n                },\n                \"main.batting\": {\n                    \"type\": \"metric\",\n                    \"data_url\": \"https://raw.githubusercontent.com/chadwickbureau/baseballdatabank/master/core/Batting.csv\",\n                    \"if_exists\": \"ignore\",\n                    \"primary_key\": [\n                        \"player_id\",\n                        \"year\",\n                        \"stint\"\n                    ],\n                    \"columns\": {\n                        \"playerID\": {\n                            \"fields\": [\n                                \"player_id\"\n                            ]\n                        },\n                        \"yearID\": {\n                            \"fields\": [\n                                \"year\"\n                            ]\n                        },\n                        \"stint\": {\n                            \"fields\": [\n                                \"stint\"\n                            ]\n                        },\n                        \"teamID\": {\n                            \"fields\": [\n                                \"team_id\"\n                            ]\n                        },\n                        \"lgID\": {\n                            \"fields\": [\n                                \"league_id\"\n                            ]\n                        },\n                        \"G\": {\n                            \"fields\": [\n                                \"games\"\n                            ]\n                        },\n                        \"AB\": {\n                            \"fields\": [\n                                \"at_bats\"\n                            ]\n                        },\n                        \"R\": {\n                            \"fields\": [\n                                \"runs\"\n                            ]\n                        },\n                        \"H\": {\n                            \"fields\": [\n                                \"hits\"\n                            ]\n                        },\n                        \"2B\": {\n                            \"fields\": [\n                                \"doubles\"\n                            ]\n                        },\n                        \"3B\": {\n                            \"fields\": [\n                                \"triples\"\n                            ]\n                        },\n                        \"HR\": {\n                            \"fields\": [\n                                \"home_runs\"\n                            ]\n                        },\n                        \"RBI\": {\n                            \"fields\": [\n                                \"runs_batted_in\"\n                            ]\n                        },\n                        \"SB\": {\n                            \"fields\": [\n                                \"stolen_bases\"\n                            ]\n                        },\n                        \"CS\": {\n                            \"fields\": [\n                                \"caught_stealing\"\n                            ]\n                        },\n                        \"BB\": {\n                            \"fields\": [\n                                \"walks\"\n                            ]\n                        },\n                        \"SO\": {\n                            \"fields\": [\n                                \"strikeouts\"\n                            ]\n                        },\n                        \"IBB\": {\n                            \"fields\": [\n                                \"intentional_walks\"\n                            ]\n                        },\n                        \"HBP\": {\n                            \"fields\": [\n                                \"hit_by_pitch\"\n                            ]\n                        },\n                        \"SH\": {\n                            \"fields\": [\n                                \"sacrifice_hits\"\n                            ]\n                        },\n                        \"SF\": {\n                            \"fields\": [\n                                \"sacrifice_flies\"\n                            ]\n                        },\n                        \"GIDP\": {\n                            \"fields\": [\n                                \"grounded_into_double_plays\"\n                            ]\n                        }\n                    }\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "examples/example_wh_config.json",
    "content": "{\n    \"metrics\": [\n        {\n            \"name\": \"revenue\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2\n        },\n        {\n            \"name\": \"leads\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"sales\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"rpl\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\"\n        }\n    ],\n\n    \"dimensions\": [\n        {\n            \"name\": \"partner_id\",\n            \"type\": \"integer\"\n        },\n        {\n            \"name\": \"partner_name\",\n            \"type\": \"string(32)\"\n        },\n        {\n            \"name\": \"campaign_id\",\n            \"type\": \"integer\"\n        },\n        {\n            \"name\": \"campaign_name\",\n            \"type\": \"string(32)\"\n        }\n    ],\n    \n    \"datasources\": {\n        \"testdb1\": {\n            \"connect\": {\n                \"params\": {\n                    \"data_url\": \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\",\n                    \"if_exists\": \"replace\"\n                }\n            },\n            \"tables\": {\n                \"main.partners\": {\n                    \"type\": \"dimension\",\n                    \"primary_key\": [\"partner_id\"],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\"partner_id\"]\n                        },\n                        \"name\": {\n                            \"fields\": [\"partner_name\"]\n                        }\n                    }\n                },\n                \n                \"main.campaigns\": {\n                    \"type\": \"dimension\",\n                    \"parent\": \"main.partners\",\n                    \"primary_key\": [\"campaign_id\"],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\"campaign_id\"]\n                        },\n                        \"name\": {\n                            \"fields\": [\"campaign_name\"]\n                        },\n                        \"partner_id\": {\n                            \"fields\": [\"partner_id\"]\n                        }\n                    }\n                },\n\n                \"main.leads\": {\n                    \"type\": \"metric\",\n                    \"create_fields\": true,\n                    \"primary_key\": [\"lead_id\"],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"lead_id\",\n                                {\"name\": \"leads\", \"ds_formula\": \"COUNT(DISTINCT leads.id)\"}\n                            ]\n                        },\n                        \"created_at\": {\n                            \"fields\": [\"lead_created_at\"],\n                            \"allow_type_conversions\": true,\n                            \"type_conversion_prefix\": \"lead_\"\n                        },\n                        \"campaign_id\": {\n                            \"fields\": [\"campaign_id\"]\n                        }\n                    }\n                },\n                \n                \"main.sales\": {\n                    \"type\": \"metric\",\n                    \"create_fields\": true,\n                    \"parent\": \"main.leads\",\n                    \"primary_key\": [\"sale_id\"],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"sale_id\",\n                                {\"name\":\"sales\", \"ds_formula\": \"COUNT(DISTINCT sales.id)\"}\n                            ]\n                        },\n                        \"created_at\": {\n                            \"fields\": [\"sale_created_at\"],\n                            \"allow_type_conversions\": true,\n                            \"type_conversion_prefix\": \"sale_\"\n                        },\n                        \"lead_id\": {\n                            \"fields\": [\"lead_id\"]\n                        },\n                        \"revenue\": {\n                            \"fields\": [\"revenue\"]\n                        }\n                    }\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "examples/minimal_example.py",
    "content": "from zillion import Warehouse\n\nconfig = \"https://raw.githubusercontent.com/totalhack/zillion/master/examples/example_wh_config.json\"\nwh = Warehouse(config=config)\n\nresult = wh.execute(metrics=[\"revenue\"], dimensions=[\"partner_name\"])\nprint(result.df)\n"
  },
  {
    "path": "examples/sample_config.yaml",
    "content": "# Note: env var substitution is supported via $FOO or ${FOO} syntax\n\n# Turn on debug logging\nDEBUG: false\n# Control the Zillion logger's log level. DEBUG flag overrides this.\nLOG_LEVEL: WARNING\n# Chunk size for loading datasource query results at the combined layer\nLOAD_TABLE_CHUNK_SIZE: 5000\n# Connection string for Zillion metadata DB\nDB_URL: sqlite:////tmp/zillion.db\n\n# If NLP extras are installed:\n# OPENAI_API_KEY: <key>\n# OPENAI_MODEL: gpt-3.5-turbo\n# QDRANT_HOST: localhost\n\n# Where to store adhoc SQLite databases\nADHOC_DATASOURCE_DIRECTORY: /tmp\n# Either \"sequential\" or \"multithread\"\nDATASOURCE_QUERY_MODE: sequential\n# Set a timeout in seconds for datasource layer queries\nDATASOURCE_QUERY_TIMEOUT: null\n# Max number of parallel query threads\nDATASOURCE_QUERY_WORKERS: 4\n# Limit the number of joins to consider in each possible combination of joins\n# when searching for combinations that satisfy the report grain. This is\n# necessary to prevent combinatorial explosion for larger schema with many\n# ways to satisfy a report, typically coming into play for many-dimensional\n# reports. This effectively limits the number of joins in a single query.\nDATASOURCE_MAX_JOINS: null\n# Once we reach N join combos that cover the grain we will stop searching\nDATASOURCE_MAX_JOIN_CANDIDATES: 100\n\n# These vars can be used to substitute values in connection URLs by datasource.\nDATASOURCE_CONTEXTS:\n  test_datasource1:\n    schema: testdb2\n    somevar: other_val\n  test_datasource2:\n    user: totalhack\n    pass: foo"
  },
  {
    "path": "mkdocs.yml",
    "content": "site_name: Zillion\nsite_description: Make sense of it all.\nsite_author: totalhack\nsite_url: https://totalhack.github.io/zillion/\n\ndocs_dir: docs/mkdocs\nsite_dir: docs/site\n\nrepo_name: totalhack/zillion\nrepo_url: https://github.com/totalhack/zillion\n\ncopyright: Copyright &copy; 2020 - present @totalhack\n\ntheme:\n  name: material\n  language: en\n  palette:\n    scheme: default\n    primary: blue grey\n    accent: light blue\n  font:\n    text: Roboto\n    code: Roboto Mono\n  icon:\n    logo: material/chart-donut\n  favicon: images/chart-donut.png\n\nplugins:\n  - search\n  - minify:\n      minify_html: true\n\nextra:\n  social:\n    - icon: fontawesome/brands/github-alt\n      link: https://github.com/totalhack/zillion\n\nextra_css:\n - css/extra.css\n\nmarkdown_extensions:\n  - codehilite:\n      guess_lang: false\n      use_pygments: true\n      noclasses: true\n      pygments_style: monokai\n  - toc:\n      permalink: true\n  - mkautodoc\n\nnav:\n  - 'Getting Started': 'index.md'\n  - 'API Reference':\n      - 'zillion.configs': 'zillion.configs.md'\n      - 'zillion.core': 'zillion.core.md'\n      - 'zillion.datasource': 'zillion.datasource.md'\n      - 'zillion.field': 'zillion.field.md'\n      - 'zillion.report': 'zillion.report.md'\n      - 'zillion.sql_utils': 'zillion.sql_utils.md'\n      - 'zillion.warehouse': 'zillion.warehouse.md'\n  - 'Contributing': 'contributing.md'\n  - 'Star on Github': 'https://github.com/totalhack/zillion'\n"
  },
  {
    "path": "pyproject.toml",
    "content": "[build-system]\nrequires = [\"setuptools>=61\", \"wheel\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"zillion\"\ndescription = \"Make sense of it all. Data modeling and analytics with a sprinkle of AI.\"\nreadme = { file = \"README.md\", content-type = \"text/markdown\" }\nrequires-python = \">=3.9\"\nlicense = { file = \"LICENSE\" }\nauthors = [{ name = \"totalhack\" }]\ndynamic = [\"version\"]\n\nclassifiers = [\n  \"Development Status :: 3 - Alpha\",\n  \"License :: OSI Approved :: MIT License\",\n  \"Programming Language :: Python :: 3\",\n]\n\ndependencies = [\n  \"climax~=0.4.0\",\n  \"lxml>=4.9.3\",\n  \"marshmallow==3.21.0; python_version >= \\\"3.12\\\"\",\n  \"marshmallow==3.20.1; python_version < \\\"3.12\\\"\",\n  \"networkx>=3.0\",\n  \"ordered-set~=4.1.0\",\n  \"pandas>=2.0.0,<3; python_version >= \\\"3.13\\\"\",\n  \"pandas>=1.1,<3; python_version < \\\"3.13\\\"\",\n  \"numpy>=1.26,<2\",\n  # pandas extras you listed:\n  \"openpyxl>=3.0.7,<3.1.1\",\n  \"pymysql~=1.0.2\",\n  \"pyyaml>=6.0\",\n  # Required by stopit\n  \"setuptools>=65\",\n  \"simplejson~=3.17.0\",\n  \"stopit~=1.1.2\",\n  \"sqlalchemy>=1.4.49,<2; python_version >= \\\"3.12\\\"\",\n  \"sqlalchemy>=1.3,<2; python_version < \\\"3.12\\\"\",\n  \"sqlparse~=0.3.1\",\n  \"tabulate~=0.8.7\",\n  \"tlbx~=0.1.22\",\n  \"xlrd~=1.2.0\",\n]\n\n[project.optional-dependencies]\nmysql = [\"pymysql~=1.0.2\"]\npostgres = [\"psycopg2-binary~=2.9.5\"]\nduckdb = [\n  \"duckdb==0.7.1; python_version == '3.9'\",\n  \"duckdb-engine==0.7.*; python_version == '3.9'\",\n  \"duckdb>=0.7.1,<1.0; python_version >= '3.10' and python_version < '3.12'\",\n  \"duckdb-engine>=0.7,<0.10; python_version >= '3.10' and python_version < '3.12'\",\n  \"duckdb>=1.0.0; python_version >= '3.12'\",\n  \"duckdb-engine>=0.10,<1.0; python_version >= '3.12'\",\n]\nnlp = [\n  \"langchain==0.0.115\",\n  \"openai==0.27.2\",\n  \"tiktoken==0.3.3\",\n  \"qdrant-client==1.1.3\",\n]\ndev = [\n  \"black\",\n  \"pre-commit\",\n  \"pylint>=3.0\",\n  \"pytest==7.1.2\",\n  \"pytest-xdist==3.1.0\",\n  \"twine>=5\",\n  \"wheel\",\n  \"mkdocs==1.1.2\",\n  \"mkdocs-material==5.2.1\",\n  \"mkdocs-material-extensions==1.0\",\n  \"mkautodoc==0.2.0\",\n  \"psycopg2-binary>=2.9.5\",\n  \"jinja2<3.1.0\",\n]\n\n[project.urls]\nHomepage = \"https://github.com/totalhack/zillion\"\nSource = \"https://github.com/totalhack/zillion\"\nIssues = \"https://github.com/totalhack/zillion/issues\"\n\n[tool.setuptools]\ninclude-package-data = true\n\n[tool.setuptools.packages.find]\ninclude = [\"zillion*\"]\nexclude = [\"tests*\", \"docs*\", \"examples*\"]\n\n[tool.setuptools.dynamic]\nversion = { attr = \"zillion.version.__version__\" }\n"
  },
  {
    "path": "tests/__init__.py",
    "content": ""
  },
  {
    "path": "tests/conftest.py",
    "content": "import pytest\nimport sys\nimport time\n\nfrom tlbx import json\nfrom zillion.core import zillion_config\n\nfrom .test_utils import *\n\n\ndef pytest_addoption(parser):\n    parser.addoption(\n        \"--nlp\",\n        action=\"store_true\",\n        dest=\"nlp\",\n        default=False,\n        help=\"enable nlp decorated tests\",\n    )\n    parser.addoption(\n        \"--longrun\",\n        action=\"store_true\",\n        dest=\"longrun\",\n        default=False,\n        help=\"enable longrun decorated tests\",\n    )\n\n\ndef pytest_configure(config):\n    markexprs = []\n    if not config.option.longrun:\n        markexprs.append(\"not longrun\")\n    if not config.option.nlp:\n        markexprs.append(\"not nlp\")\n    if markexprs:\n        setattr(config.option, \"markexpr\", \" and \".join(markexprs))\n\n\n@pytest.fixture(scope=\"session\")\ndef mysql_setup():\n    conn = get_sqlalchemy_mysql_conn()\n    try:\n        conn.execute(\"select 1 from zillion_test.partners\")\n    except Exception as e:\n        if \"doesn't exist\" not in str(e):\n            raise\n        print(\"Doing MySQL database setup...\")\n        mysql_data_init()\n    finally:\n        conn.close()\n\n\n@pytest.fixture(scope=\"session\")\ndef postgresql_setup():\n    conn = get_sqlalchemy_postgresql_conn()\n    res = conn.execute(\n        \"SELECT EXISTS ( \"\n        \"SELECT FROM \"\n        \" pg_tables \"\n        \"WHERE \"\n        \"schemaname = 'zillion_test' AND \"\n        \"tablename  = 'partners' \"\n        \")\"\n    )\n    res = res.fetchone()\n    if not res or res[0] is False:\n        print(\"Doing PostgreSQL database setup...\")\n        postgresql_data_init()\n\n\n@pytest.fixture(scope=\"session\")\ndef duckdb_setup():\n    conn = get_sqlalchemy_duckdb_conn()\n    try:\n        conn.execute(\"select 1 from zillion_test.partners\")\n    except Exception as e:\n        if \"does not exist\" not in str(e):\n            raise\n        print(\"Doing DuckDB database setup...\")\n        duckdb_data_init(conn)\n    finally:\n        conn.close()\n\n\n@pytest.fixture(scope=\"function\")\ndef config():\n    return copy.deepcopy(TEST_WH_CONFIG)\n\n\n@pytest.fixture(scope=\"function\")\ndef ds_config():\n    config = copy.deepcopy(TEST_WH_CONFIG)\n    return config[\"datasources\"][\"testdb1\"]\n\n\n@pytest.fixture(scope=\"function\")\ndef adhoc_config():\n    return copy.deepcopy(TEST_ADHOC_CONFIG)\n\n\n@pytest.fixture(scope=\"function\")\ndef wh(config):\n    return Warehouse(config=config)\n\n\n@pytest.fixture(scope=\"function\")\ndef saved_wh():\n    name = \"test_warehouse_%s\" % time.time()\n    config_url = REMOTE_CONFIG_URL\n    wh = Warehouse(config=config_url)\n    wh_id = wh.save(name, config_url, meta=dict(test=1))\n    yield wh\n    try:\n        Warehouse.delete(wh_id)\n    except:  # noqa: E722\n        pass\n\n\n@pytest.fixture(scope=\"function\")\ndef adhoc_ds(config):\n    return get_adhoc_datasource()\n\n\n@pytest.fixture(scope=\"function\")\ndef mysql_ds_config(mysql_setup):\n    return load_datasource_config(\"test_mysql_ds_config.json\")\n\n\n@pytest.fixture(scope=\"function\")\ndef mysql_ds(mysql_ds_config):\n    return DataSource(\"mysql\", config=mysql_ds_config)\n\n\n@pytest.fixture(scope=\"function\")\ndef mysql_wh(mysql_ds):\n    return Warehouse(datasources=[mysql_ds])\n\n\n@pytest.fixture(scope=\"function\")\ndef postgresql_ds_config(postgresql_setup):\n    return load_datasource_config(\"test_postgresql_ds_config.json\")\n\n\n@pytest.fixture(scope=\"function\")\ndef postgresql_ds(postgresql_ds_config):\n    return DataSource(\"postgresql\", config=postgresql_ds_config)\n\n\n@pytest.fixture(scope=\"function\")\ndef postgresql_wh(postgresql_ds):\n    return Warehouse(datasources=[postgresql_ds])\n\n\n@pytest.fixture(scope=\"function\")\ndef duckdb_wh():\n    with open(\"test_duckdb_wh_config.json\") as f:\n        cfg = json.load(f)\n    test_config = zillion_config[\"TEST\"]\n    schema_base = test_config[\"DuckDBTestSchemaBase\"]\n    if sys.version_info >= (3, 12):\n        schema = f\"{schema_base}_1.x.duckdb\"\n    else:\n        schema = f\"{schema_base}_0.7.duckdb\"\n    cfg[\"datasources\"][\"zillion_test\"][\"connect\"] = f\"duckdb:///{schema}\"\n    config = load_warehouse_config(cfg)\n    return Warehouse(config=config)\n\n\n@pytest.fixture\ndef pymysql_conn():\n    conn = get_pymysql_conn()\n    yield conn\n    try:\n        conn.close()\n    except:  # noqa: E722\n        pass\n\n\n@pytest.fixture\ndef sqlalchemy_mysql_conn():\n    conn = get_sqlalchemy_mysql_conn()\n    yield conn\n    try:\n        conn.close()\n    except:  # noqa: E722\n        pass\n"
  },
  {
    "path": "tests/dma_zip.csv",
    "content": "Zip_Code,DMA_Code,DMA_Description\n501,501,NEW YORK\n544,501,NEW YORK\n1001,543,SPRINGFIELD - HOLYOKE\n1002,543,SPRINGFIELD - HOLYOKE\n1003,543,SPRINGFIELD - HOLYOKE\n1004,543,SPRINGFIELD - HOLYOKE\n1005,506,BOSTON (MANCHESTER)\n1007,543,SPRINGFIELD - HOLYOKE\n1008,543,SPRINGFIELD - HOLYOKE\n1009,543,SPRINGFIELD - HOLYOKE\n1010,543,SPRINGFIELD - HOLYOKE\n1011,543,SPRINGFIELD - HOLYOKE\n1012,543,SPRINGFIELD - HOLYOKE\n1013,543,SPRINGFIELD - HOLYOKE\n1014,543,SPRINGFIELD - HOLYOKE\n1020,543,SPRINGFIELD - HOLYOKE\n1021,543,SPRINGFIELD - HOLYOKE\n1022,543,SPRINGFIELD - HOLYOKE\n1026,543,SPRINGFIELD - HOLYOKE\n1027,543,SPRINGFIELD - HOLYOKE\n1028,543,SPRINGFIELD - HOLYOKE\n1029,532,ALBANY - SCHENECTADY - TROY\n1030,543,SPRINGFIELD - HOLYOKE\n1031,506,BOSTON (MANCHESTER)\n1032,543,SPRINGFIELD - HOLYOKE\n1033,543,SPRINGFIELD - HOLYOKE\n1034,543,SPRINGFIELD - HOLYOKE\n1035,543,SPRINGFIELD - HOLYOKE\n1036,543,SPRINGFIELD - HOLYOKE\n1037,506,BOSTON (MANCHESTER)\n1038,543,SPRINGFIELD - HOLYOKE\n1039,543,SPRINGFIELD - HOLYOKE\n1040,543,SPRINGFIELD - HOLYOKE\n1041,543,SPRINGFIELD - HOLYOKE\n1050,543,SPRINGFIELD - HOLYOKE\n1053,543,SPRINGFIELD - HOLYOKE\n1054,543,SPRINGFIELD - HOLYOKE\n1056,543,SPRINGFIELD - HOLYOKE\n1057,543,SPRINGFIELD - HOLYOKE\n1059,543,SPRINGFIELD - HOLYOKE\n1060,543,SPRINGFIELD - HOLYOKE\n1061,543,SPRINGFIELD - HOLYOKE\n1062,543,SPRINGFIELD - HOLYOKE\n1063,543,SPRINGFIELD - HOLYOKE\n1066,543,SPRINGFIELD - HOLYOKE\n1068,506,BOSTON (MANCHESTER)\n1069,543,SPRINGFIELD - HOLYOKE\n1070,543,SPRINGFIELD - HOLYOKE\n1071,543,SPRINGFIELD - HOLYOKE\n1072,543,SPRINGFIELD - HOLYOKE\n1073,543,SPRINGFIELD - HOLYOKE\n1074,506,BOSTON (MANCHESTER)\n1075,543,SPRINGFIELD - HOLYOKE\n1077,543,SPRINGFIELD - HOLYOKE\n1079,543,SPRINGFIELD - HOLYOKE\n1080,543,SPRINGFIELD - HOLYOKE\n1081,543,SPRINGFIELD - HOLYOKE\n1082,543,SPRINGFIELD - HOLYOKE\n1083,506,BOSTON (MANCHESTER)\n1084,543,SPRINGFIELD - HOLYOKE\n1085,543,SPRINGFIELD - HOLYOKE\n1086,543,SPRINGFIELD - HOLYOKE\n1088,543,SPRINGFIELD - HOLYOKE\n1089,543,SPRINGFIELD - HOLYOKE\n1090,543,SPRINGFIELD - HOLYOKE\n1092,506,BOSTON (MANCHESTER)\n1093,543,SPRINGFIELD - HOLYOKE\n1094,506,BOSTON (MANCHESTER)\n1095,543,SPRINGFIELD - HOLYOKE\n1096,543,SPRINGFIELD - HOLYOKE\n1097,543,SPRINGFIELD - HOLYOKE\n1098,543,SPRINGFIELD - HOLYOKE\n1101,543,SPRINGFIELD - HOLYOKE\n1102,543,SPRINGFIELD - HOLYOKE\n1103,543,SPRINGFIELD - HOLYOKE\n1104,543,SPRINGFIELD - HOLYOKE\n1105,543,SPRINGFIELD - HOLYOKE\n1106,543,SPRINGFIELD - HOLYOKE\n1107,543,SPRINGFIELD - HOLYOKE\n1108,543,SPRINGFIELD - HOLYOKE\n1109,543,SPRINGFIELD - HOLYOKE\n1111,543,SPRINGFIELD - HOLYOKE\n1115,543,SPRINGFIELD - HOLYOKE\n1116,543,SPRINGFIELD - HOLYOKE\n1118,543,SPRINGFIELD - HOLYOKE\n1119,543,SPRINGFIELD - HOLYOKE\n1128,543,SPRINGFIELD - HOLYOKE\n1129,543,SPRINGFIELD - HOLYOKE\n1133,543,SPRINGFIELD - HOLYOKE\n1138,543,SPRINGFIELD - HOLYOKE\n1139,543,SPRINGFIELD - HOLYOKE\n1144,543,SPRINGFIELD - HOLYOKE\n1151,543,SPRINGFIELD - HOLYOKE\n1152,543,SPRINGFIELD - HOLYOKE\n1195,543,SPRINGFIELD - HOLYOKE\n1199,543,SPRINGFIELD - HOLYOKE\n1201,532,ALBANY - SCHENECTADY - TROY\n1202,532,ALBANY - SCHENECTADY - TROY\n1203,532,ALBANY - SCHENECTADY - TROY\n1220,532,ALBANY - SCHENECTADY - TROY\n1222,532,ALBANY - SCHENECTADY - TROY\n1223,532,ALBANY - SCHENECTADY - TROY\n1224,532,ALBANY - SCHENECTADY - TROY\n1225,532,ALBANY - SCHENECTADY - TROY\n1226,532,ALBANY - SCHENECTADY - TROY\n1227,532,ALBANY - SCHENECTADY - TROY\n1229,532,ALBANY - SCHENECTADY - TROY\n1230,532,ALBANY - SCHENECTADY - TROY\n1235,532,ALBANY - SCHENECTADY - TROY\n1236,532,ALBANY - SCHENECTADY - TROY\n1237,532,ALBANY - SCHENECTADY - TROY\n1238,532,ALBANY - SCHENECTADY - TROY\n1240,532,ALBANY - SCHENECTADY - TROY\n1242,532,ALBANY - SCHENECTADY - TROY\n1243,543,SPRINGFIELD - HOLYOKE\n1244,532,ALBANY - SCHENECTADY - TROY\n1245,532,ALBANY - SCHENECTADY - TROY\n1247,532,ALBANY - SCHENECTADY - TROY\n1252,532,ALBANY - SCHENECTADY - TROY\n1253,532,ALBANY - SCHENECTADY - TROY\n1254,532,ALBANY - SCHENECTADY - TROY\n1255,532,ALBANY - SCHENECTADY - TROY\n1256,532,ALBANY - SCHENECTADY - TROY\n1257,532,ALBANY - SCHENECTADY - TROY\n1258,532,ALBANY - SCHENECTADY - TROY\n1259,532,ALBANY - SCHENECTADY - TROY\n1260,532,ALBANY - SCHENECTADY - TROY\n1262,532,ALBANY - SCHENECTADY - TROY\n1263,532,ALBANY - SCHENECTADY - TROY\n1264,532,ALBANY - SCHENECTADY - TROY\n1266,532,ALBANY - SCHENECTADY - TROY\n1267,532,ALBANY - SCHENECTADY - TROY\n1270,532,ALBANY - SCHENECTADY - TROY\n1301,543,SPRINGFIELD - HOLYOKE\n1302,543,SPRINGFIELD - HOLYOKE\n1330,543,SPRINGFIELD - HOLYOKE\n1331,506,BOSTON (MANCHESTER)\n1337,543,SPRINGFIELD - HOLYOKE\n1338,543,SPRINGFIELD - HOLYOKE\n1339,543,SPRINGFIELD - HOLYOKE\n1340,543,SPRINGFIELD - HOLYOKE\n1341,543,SPRINGFIELD - HOLYOKE\n1342,543,SPRINGFIELD - HOLYOKE\n1343,532,ALBANY - SCHENECTADY - TROY\n1344,543,SPRINGFIELD - HOLYOKE\n1346,543,SPRINGFIELD - HOLYOKE\n1347,543,SPRINGFIELD - HOLYOKE\n1349,543,SPRINGFIELD - HOLYOKE\n1350,543,SPRINGFIELD - HOLYOKE\n1351,543,SPRINGFIELD - HOLYOKE\n1354,543,SPRINGFIELD - HOLYOKE\n1355,543,SPRINGFIELD - HOLYOKE\n1360,543,SPRINGFIELD - HOLYOKE\n1364,543,SPRINGFIELD - HOLYOKE\n1366,506,BOSTON (MANCHESTER)\n1367,543,SPRINGFIELD - HOLYOKE\n1368,506,BOSTON (MANCHESTER)\n1370,543,SPRINGFIELD - HOLYOKE\n1373,543,SPRINGFIELD - HOLYOKE\n1375,543,SPRINGFIELD - HOLYOKE\n1376,543,SPRINGFIELD - HOLYOKE\n1378,543,SPRINGFIELD - HOLYOKE\n1379,543,SPRINGFIELD - HOLYOKE\n1380,543,SPRINGFIELD - HOLYOKE\n1420,506,BOSTON (MANCHESTER)\n1430,506,BOSTON (MANCHESTER)\n1431,506,BOSTON (MANCHESTER)\n1432,506,BOSTON (MANCHESTER)\n1434,506,BOSTON (MANCHESTER)\n1436,506,BOSTON (MANCHESTER)\n1438,506,BOSTON (MANCHESTER)\n1440,506,BOSTON (MANCHESTER)\n1441,506,BOSTON (MANCHESTER)\n1450,506,BOSTON (MANCHESTER)\n1451,506,BOSTON (MANCHESTER)\n1452,506,BOSTON (MANCHESTER)\n1453,506,BOSTON (MANCHESTER)\n1460,506,BOSTON (MANCHESTER)\n1462,506,BOSTON (MANCHESTER)\n1463,506,BOSTON (MANCHESTER)\n1464,506,BOSTON (MANCHESTER)\n1467,506,BOSTON (MANCHESTER)\n1468,506,BOSTON (MANCHESTER)\n1469,506,BOSTON (MANCHESTER)\n1470,506,BOSTON (MANCHESTER)\n1471,506,BOSTON (MANCHESTER)\n1472,506,BOSTON (MANCHESTER)\n1473,506,BOSTON (MANCHESTER)\n1474,506,BOSTON (MANCHESTER)\n1475,506,BOSTON (MANCHESTER)\n1477,506,BOSTON (MANCHESTER)\n1501,506,BOSTON (MANCHESTER)\n1503,506,BOSTON (MANCHESTER)\n1504,506,BOSTON (MANCHESTER)\n1505,506,BOSTON (MANCHESTER)\n1506,506,BOSTON (MANCHESTER)\n1507,506,BOSTON (MANCHESTER)\n1508,506,BOSTON (MANCHESTER)\n1509,506,BOSTON (MANCHESTER)\n1510,506,BOSTON (MANCHESTER)\n1515,506,BOSTON (MANCHESTER)\n1516,506,BOSTON (MANCHESTER)\n1517,506,BOSTON (MANCHESTER)\n1518,506,BOSTON (MANCHESTER)\n1519,506,BOSTON (MANCHESTER)\n1520,506,BOSTON (MANCHESTER)\n1521,543,SPRINGFIELD - HOLYOKE\n1522,506,BOSTON (MANCHESTER)\n1523,506,BOSTON (MANCHESTER)\n1524,506,BOSTON (MANCHESTER)\n1525,506,BOSTON (MANCHESTER)\n1526,506,BOSTON (MANCHESTER)\n1527,506,BOSTON (MANCHESTER)\n1529,506,BOSTON (MANCHESTER)\n1531,506,BOSTON (MANCHESTER)\n1532,506,BOSTON (MANCHESTER)\n1534,506,BOSTON (MANCHESTER)\n1535,506,BOSTON (MANCHESTER)\n1536,506,BOSTON (MANCHESTER)\n1537,506,BOSTON (MANCHESTER)\n1538,506,BOSTON (MANCHESTER)\n1540,506,BOSTON (MANCHESTER)\n1541,506,BOSTON (MANCHESTER)\n1542,506,BOSTON (MANCHESTER)\n1543,506,BOSTON (MANCHESTER)\n1545,506,BOSTON (MANCHESTER)\n1546,506,BOSTON (MANCHESTER)\n1550,506,BOSTON (MANCHESTER)\n1560,506,BOSTON (MANCHESTER)\n1561,506,BOSTON (MANCHESTER)\n1562,506,BOSTON (MANCHESTER)\n1564,506,BOSTON (MANCHESTER)\n1566,506,BOSTON (MANCHESTER)\n1568,506,BOSTON (MANCHESTER)\n1569,506,BOSTON (MANCHESTER)\n1570,506,BOSTON (MANCHESTER)\n1571,506,BOSTON (MANCHESTER)\n1580,506,BOSTON (MANCHESTER)\n1581,506,BOSTON (MANCHESTER)\n1582,506,BOSTON (MANCHESTER)\n1583,506,BOSTON (MANCHESTER)\n1585,506,BOSTON (MANCHESTER)\n1586,506,BOSTON (MANCHESTER)\n1588,506,BOSTON (MANCHESTER)\n1590,506,BOSTON (MANCHESTER)\n1601,506,BOSTON (MANCHESTER)\n1602,506,BOSTON (MANCHESTER)\n1603,506,BOSTON (MANCHESTER)\n1604,506,BOSTON (MANCHESTER)\n1605,506,BOSTON (MANCHESTER)\n1606,506,BOSTON (MANCHESTER)\n1607,506,BOSTON (MANCHESTER)\n1608,506,BOSTON (MANCHESTER)\n1609,506,BOSTON (MANCHESTER)\n1610,506,BOSTON (MANCHESTER)\n1611,506,BOSTON (MANCHESTER)\n1612,506,BOSTON (MANCHESTER)\n1613,506,BOSTON (MANCHESTER)\n1614,506,BOSTON (MANCHESTER)\n1615,506,BOSTON (MANCHESTER)\n1653,506,BOSTON (MANCHESTER)\n1654,506,BOSTON (MANCHESTER)\n1655,506,BOSTON (MANCHESTER)\n1701,506,BOSTON (MANCHESTER)\n1702,506,BOSTON (MANCHESTER)\n1703,506,BOSTON (MANCHESTER)\n1704,506,BOSTON (MANCHESTER)\n1705,506,BOSTON (MANCHESTER)\n1718,506,BOSTON (MANCHESTER)\n1719,506,BOSTON (MANCHESTER)\n1720,506,BOSTON (MANCHESTER)\n1721,506,BOSTON (MANCHESTER)\n1730,506,BOSTON (MANCHESTER)\n1731,506,BOSTON (MANCHESTER)\n1740,506,BOSTON (MANCHESTER)\n1741,506,BOSTON (MANCHESTER)\n1742,506,BOSTON (MANCHESTER)\n1745,506,BOSTON (MANCHESTER)\n1746,506,BOSTON (MANCHESTER)\n1747,506,BOSTON (MANCHESTER)\n1748,506,BOSTON (MANCHESTER)\n1749,506,BOSTON (MANCHESTER)\n1752,506,BOSTON (MANCHESTER)\n1754,506,BOSTON (MANCHESTER)\n1756,506,BOSTON (MANCHESTER)\n1757,506,BOSTON (MANCHESTER)\n1760,506,BOSTON (MANCHESTER)\n1770,506,BOSTON (MANCHESTER)\n1772,506,BOSTON (MANCHESTER)\n1773,506,BOSTON (MANCHESTER)\n1775,506,BOSTON (MANCHESTER)\n1776,506,BOSTON (MANCHESTER)\n1778,506,BOSTON (MANCHESTER)\n1784,506,BOSTON (MANCHESTER)\n1801,506,BOSTON (MANCHESTER)\n1803,506,BOSTON (MANCHESTER)\n1805,506,BOSTON (MANCHESTER)\n1806,506,BOSTON (MANCHESTER)\n1807,506,BOSTON (MANCHESTER)\n1808,506,BOSTON (MANCHESTER)\n1810,506,BOSTON (MANCHESTER)\n1812,506,BOSTON (MANCHESTER)\n1813,506,BOSTON (MANCHESTER)\n1815,506,BOSTON (MANCHESTER)\n1821,506,BOSTON (MANCHESTER)\n1822,506,BOSTON (MANCHESTER)\n1824,506,BOSTON (MANCHESTER)\n1826,506,BOSTON (MANCHESTER)\n1827,506,BOSTON (MANCHESTER)\n1830,506,BOSTON (MANCHESTER)\n1831,506,BOSTON (MANCHESTER)\n1832,506,BOSTON (MANCHESTER)\n1833,506,BOSTON (MANCHESTER)\n1834,506,BOSTON (MANCHESTER)\n1835,506,BOSTON (MANCHESTER)\n1840,506,BOSTON (MANCHESTER)\n1841,506,BOSTON (MANCHESTER)\n1842,506,BOSTON (MANCHESTER)\n1843,506,BOSTON (MANCHESTER)\n1844,506,BOSTON (MANCHESTER)\n1845,506,BOSTON (MANCHESTER)\n1850,506,BOSTON (MANCHESTER)\n1851,506,BOSTON (MANCHESTER)\n1852,506,BOSTON (MANCHESTER)\n1853,506,BOSTON (MANCHESTER)\n1854,506,BOSTON (MANCHESTER)\n1860,506,BOSTON (MANCHESTER)\n1862,506,BOSTON (MANCHESTER)\n1863,506,BOSTON (MANCHESTER)\n1864,506,BOSTON (MANCHESTER)\n1865,506,BOSTON (MANCHESTER)\n1866,506,BOSTON (MANCHESTER)\n1867,506,BOSTON (MANCHESTER)\n1876,506,BOSTON (MANCHESTER)\n1879,506,BOSTON (MANCHESTER)\n1880,506,BOSTON (MANCHESTER)\n1885,506,BOSTON (MANCHESTER)\n1886,506,BOSTON (MANCHESTER)\n1887,506,BOSTON (MANCHESTER)\n1888,506,BOSTON (MANCHESTER)\n1889,506,BOSTON (MANCHESTER)\n1890,506,BOSTON (MANCHESTER)\n1899,506,BOSTON (MANCHESTER)\n1901,506,BOSTON (MANCHESTER)\n1902,506,BOSTON (MANCHESTER)\n1903,506,BOSTON (MANCHESTER)\n1904,506,BOSTON (MANCHESTER)\n1905,506,BOSTON (MANCHESTER)\n1906,506,BOSTON (MANCHESTER)\n1907,506,BOSTON (MANCHESTER)\n1908,506,BOSTON (MANCHESTER)\n1910,506,BOSTON (MANCHESTER)\n1913,506,BOSTON (MANCHESTER)\n1915,506,BOSTON (MANCHESTER)\n1921,506,BOSTON (MANCHESTER)\n1922,506,BOSTON (MANCHESTER)\n1923,506,BOSTON (MANCHESTER)\n1929,506,BOSTON (MANCHESTER)\n1930,506,BOSTON (MANCHESTER)\n1931,506,BOSTON (MANCHESTER)\n1936,506,BOSTON (MANCHESTER)\n1937,506,BOSTON (MANCHESTER)\n1938,506,BOSTON (MANCHESTER)\n1940,506,BOSTON (MANCHESTER)\n1944,506,BOSTON (MANCHESTER)\n1945,506,BOSTON (MANCHESTER)\n1949,506,BOSTON (MANCHESTER)\n1950,506,BOSTON (MANCHESTER)\n1951,506,BOSTON (MANCHESTER)\n1952,506,BOSTON (MANCHESTER)\n1960,506,BOSTON (MANCHESTER)\n1961,506,BOSTON (MANCHESTER)\n1965,506,BOSTON (MANCHESTER)\n1966,506,BOSTON (MANCHESTER)\n1969,506,BOSTON (MANCHESTER)\n1970,506,BOSTON (MANCHESTER)\n1971,506,BOSTON (MANCHESTER)\n1982,506,BOSTON (MANCHESTER)\n1983,506,BOSTON (MANCHESTER)\n1984,506,BOSTON (MANCHESTER)\n1985,506,BOSTON (MANCHESTER)\n2018,506,BOSTON (MANCHESTER)\n2019,506,BOSTON (MANCHESTER)\n2020,506,BOSTON (MANCHESTER)\n2021,506,BOSTON (MANCHESTER)\n2025,506,BOSTON (MANCHESTER)\n2026,506,BOSTON (MANCHESTER)\n2027,506,BOSTON (MANCHESTER)\n2030,506,BOSTON (MANCHESTER)\n2031,521,PROVIDENCE - NEW BEDFORD\n2032,506,BOSTON (MANCHESTER)\n2035,506,BOSTON (MANCHESTER)\n2038,506,BOSTON (MANCHESTER)\n2040,506,BOSTON (MANCHESTER)\n2041,506,BOSTON (MANCHESTER)\n2043,506,BOSTON (MANCHESTER)\n2044,506,BOSTON (MANCHESTER)\n2045,506,BOSTON (MANCHESTER)\n2047,506,BOSTON (MANCHESTER)\n2048,521,PROVIDENCE - NEW BEDFORD\n2050,506,BOSTON (MANCHESTER)\n2051,506,BOSTON (MANCHESTER)\n2052,506,BOSTON (MANCHESTER)\n2053,506,BOSTON (MANCHESTER)\n2054,506,BOSTON (MANCHESTER)\n2055,506,BOSTON (MANCHESTER)\n2056,506,BOSTON (MANCHESTER)\n2059,506,BOSTON (MANCHESTER)\n2060,506,BOSTON (MANCHESTER)\n2061,506,BOSTON (MANCHESTER)\n2062,506,BOSTON (MANCHESTER)\n2065,506,BOSTON (MANCHESTER)\n2066,506,BOSTON (MANCHESTER)\n2067,506,BOSTON (MANCHESTER)\n2070,506,BOSTON (MANCHESTER)\n2071,506,BOSTON (MANCHESTER)\n2072,506,BOSTON (MANCHESTER)\n2081,506,BOSTON (MANCHESTER)\n2090,506,BOSTON (MANCHESTER)\n2093,506,BOSTON (MANCHESTER)\n2108,506,BOSTON (MANCHESTER)\n2109,506,BOSTON (MANCHESTER)\n2110,506,BOSTON (MANCHESTER)\n2111,506,BOSTON (MANCHESTER)\n2112,506,BOSTON (MANCHESTER)\n2113,506,BOSTON (MANCHESTER)\n2114,506,BOSTON (MANCHESTER)\n2115,506,BOSTON (MANCHESTER)\n2116,506,BOSTON (MANCHESTER)\n2117,506,BOSTON (MANCHESTER)\n2118,506,BOSTON (MANCHESTER)\n2119,506,BOSTON (MANCHESTER)\n2120,506,BOSTON (MANCHESTER)\n2121,506,BOSTON (MANCHESTER)\n2122,506,BOSTON (MANCHESTER)\n2123,506,BOSTON (MANCHESTER)\n2124,506,BOSTON (MANCHESTER)\n2125,506,BOSTON (MANCHESTER)\n2126,506,BOSTON (MANCHESTER)\n2127,506,BOSTON (MANCHESTER)\n2128,506,BOSTON (MANCHESTER)\n2129,506,BOSTON (MANCHESTER)\n2130,506,BOSTON (MANCHESTER)\n2131,506,BOSTON (MANCHESTER)\n2132,506,BOSTON (MANCHESTER)\n2133,506,BOSTON (MANCHESTER)\n2134,506,BOSTON (MANCHESTER)\n2135,506,BOSTON (MANCHESTER)\n2136,506,BOSTON (MANCHESTER)\n2137,506,BOSTON (MANCHESTER)\n2138,506,BOSTON (MANCHESTER)\n2139,506,BOSTON (MANCHESTER)\n2140,506,BOSTON (MANCHESTER)\n2141,506,BOSTON (MANCHESTER)\n2142,506,BOSTON (MANCHESTER)\n2143,506,BOSTON (MANCHESTER)\n2144,506,BOSTON (MANCHESTER)\n2145,506,BOSTON (MANCHESTER)\n2148,506,BOSTON (MANCHESTER)\n2149,506,BOSTON (MANCHESTER)\n2150,506,BOSTON (MANCHESTER)\n2151,506,BOSTON (MANCHESTER)\n2152,506,BOSTON (MANCHESTER)\n2153,506,BOSTON (MANCHESTER)\n2155,506,BOSTON (MANCHESTER)\n2156,506,BOSTON (MANCHESTER)\n2163,506,BOSTON (MANCHESTER)\n2169,506,BOSTON (MANCHESTER)\n2170,506,BOSTON (MANCHESTER)\n2171,506,BOSTON (MANCHESTER)\n2176,506,BOSTON (MANCHESTER)\n2180,506,BOSTON (MANCHESTER)\n2184,506,BOSTON (MANCHESTER)\n2185,506,BOSTON (MANCHESTER)\n2186,506,BOSTON (MANCHESTER)\n2187,506,BOSTON (MANCHESTER)\n2188,506,BOSTON (MANCHESTER)\n2189,506,BOSTON (MANCHESTER)\n2190,506,BOSTON (MANCHESTER)\n2191,506,BOSTON (MANCHESTER)\n2196,506,BOSTON (MANCHESTER)\n2199,506,BOSTON (MANCHESTER)\n2201,506,BOSTON (MANCHESTER)\n2203,506,BOSTON (MANCHESTER)\n2204,506,BOSTON (MANCHESTER)\n2205,506,BOSTON (MANCHESTER)\n2206,506,BOSTON (MANCHESTER)\n2207,506,BOSTON (MANCHESTER)\n2210,506,BOSTON (MANCHESTER)\n2211,506,BOSTON (MANCHESTER)\n2212,506,BOSTON (MANCHESTER)\n2215,506,BOSTON (MANCHESTER)\n2216,506,BOSTON (MANCHESTER)\n2217,506,BOSTON (MANCHESTER)\n2222,506,BOSTON (MANCHESTER)\n2228,506,BOSTON (MANCHESTER)\n2238,506,BOSTON (MANCHESTER)\n2239,506,BOSTON (MANCHESTER)\n2266,506,BOSTON (MANCHESTER)\n2269,506,BOSTON (MANCHESTER)\n2284,506,BOSTON (MANCHESTER)\n2295,506,BOSTON (MANCHESTER)\n2297,506,BOSTON (MANCHESTER)\n2298,506,BOSTON (MANCHESTER)\n2301,506,BOSTON (MANCHESTER)\n2302,506,BOSTON (MANCHESTER)\n2303,506,BOSTON (MANCHESTER)\n2304,506,BOSTON (MANCHESTER)\n2305,506,BOSTON (MANCHESTER)\n2322,506,BOSTON (MANCHESTER)\n2324,506,BOSTON (MANCHESTER)\n2325,506,BOSTON (MANCHESTER)\n2327,506,BOSTON (MANCHESTER)\n2330,506,BOSTON (MANCHESTER)\n2331,506,BOSTON (MANCHESTER)\n2332,506,BOSTON (MANCHESTER)\n2333,506,BOSTON (MANCHESTER)\n2334,521,PROVIDENCE - NEW BEDFORD\n2337,506,BOSTON (MANCHESTER)\n2338,506,BOSTON (MANCHESTER)\n2339,506,BOSTON (MANCHESTER)\n2340,506,BOSTON (MANCHESTER)\n2341,506,BOSTON (MANCHESTER)\n2343,506,BOSTON (MANCHESTER)\n2344,506,BOSTON (MANCHESTER)\n2345,506,BOSTON (MANCHESTER)\n2346,506,BOSTON (MANCHESTER)\n2347,506,BOSTON (MANCHESTER)\n2348,506,BOSTON (MANCHESTER)\n2349,506,BOSTON (MANCHESTER)\n2350,506,BOSTON (MANCHESTER)\n2351,506,BOSTON (MANCHESTER)\n2355,506,BOSTON (MANCHESTER)\n2356,521,PROVIDENCE - NEW BEDFORD\n2357,521,PROVIDENCE - NEW BEDFORD\n2358,506,BOSTON (MANCHESTER)\n2359,506,BOSTON (MANCHESTER)\n2360,506,BOSTON (MANCHESTER)\n2361,506,BOSTON (MANCHESTER)\n2362,506,BOSTON (MANCHESTER)\n2364,506,BOSTON (MANCHESTER)\n2366,506,BOSTON (MANCHESTER)\n2367,506,BOSTON (MANCHESTER)\n2368,506,BOSTON (MANCHESTER)\n2370,506,BOSTON (MANCHESTER)\n2375,521,PROVIDENCE - NEW BEDFORD\n2379,506,BOSTON (MANCHESTER)\n2381,506,BOSTON (MANCHESTER)\n2382,506,BOSTON (MANCHESTER)\n2420,506,BOSTON (MANCHESTER)\n2421,506,BOSTON (MANCHESTER)\n2445,506,BOSTON (MANCHESTER)\n2446,506,BOSTON (MANCHESTER)\n2447,506,BOSTON (MANCHESTER)\n2451,506,BOSTON (MANCHESTER)\n2452,506,BOSTON (MANCHESTER)\n2453,506,BOSTON (MANCHESTER)\n2454,506,BOSTON (MANCHESTER)\n2455,506,BOSTON (MANCHESTER)\n2456,506,BOSTON (MANCHESTER)\n2457,506,BOSTON (MANCHESTER)\n2458,506,BOSTON (MANCHESTER)\n2459,506,BOSTON (MANCHESTER)\n2460,506,BOSTON (MANCHESTER)\n2461,506,BOSTON (MANCHESTER)\n2462,506,BOSTON (MANCHESTER)\n2464,506,BOSTON (MANCHESTER)\n2465,506,BOSTON (MANCHESTER)\n2466,506,BOSTON (MANCHESTER)\n2467,506,BOSTON (MANCHESTER)\n2468,506,BOSTON (MANCHESTER)\n2471,506,BOSTON (MANCHESTER)\n2472,506,BOSTON (MANCHESTER)\n2474,506,BOSTON (MANCHESTER)\n2475,506,BOSTON (MANCHESTER)\n2476,506,BOSTON (MANCHESTER)\n2477,506,BOSTON (MANCHESTER)\n2478,506,BOSTON (MANCHESTER)\n2479,506,BOSTON (MANCHESTER)\n2481,506,BOSTON (MANCHESTER)\n2482,506,BOSTON (MANCHESTER)\n2492,506,BOSTON (MANCHESTER)\n2493,506,BOSTON (MANCHESTER)\n2494,506,BOSTON (MANCHESTER)\n2495,506,BOSTON (MANCHESTER)\n2532,506,BOSTON (MANCHESTER)\n2534,506,BOSTON (MANCHESTER)\n2535,506,BOSTON (MANCHESTER)\n2536,506,BOSTON (MANCHESTER)\n2537,506,BOSTON (MANCHESTER)\n2538,506,BOSTON (MANCHESTER)\n2539,506,BOSTON (MANCHESTER)\n2540,506,BOSTON (MANCHESTER)\n2541,506,BOSTON (MANCHESTER)\n2542,506,BOSTON (MANCHESTER)\n2543,506,BOSTON (MANCHESTER)\n2552,506,BOSTON (MANCHESTER)\n2553,506,BOSTON (MANCHESTER)\n2554,506,BOSTON (MANCHESTER)\n2556,506,BOSTON (MANCHESTER)\n2557,506,BOSTON (MANCHESTER)\n2558,506,BOSTON (MANCHESTER)\n2559,506,BOSTON (MANCHESTER)\n2561,506,BOSTON (MANCHESTER)\n2562,506,BOSTON (MANCHESTER)\n2563,506,BOSTON (MANCHESTER)\n2564,506,BOSTON (MANCHESTER)\n2565,506,BOSTON (MANCHESTER)\n2568,506,BOSTON (MANCHESTER)\n2571,506,BOSTON (MANCHESTER)\n2573,506,BOSTON (MANCHESTER)\n2574,506,BOSTON (MANCHESTER)\n2575,506,BOSTON (MANCHESTER)\n2576,506,BOSTON (MANCHESTER)\n2584,506,BOSTON (MANCHESTER)\n2601,506,BOSTON (MANCHESTER)\n2630,506,BOSTON (MANCHESTER)\n2631,506,BOSTON (MANCHESTER)\n2632,506,BOSTON (MANCHESTER)\n2633,506,BOSTON (MANCHESTER)\n2634,506,BOSTON (MANCHESTER)\n2635,506,BOSTON (MANCHESTER)\n2636,506,BOSTON (MANCHESTER)\n2637,506,BOSTON (MANCHESTER)\n2638,506,BOSTON (MANCHESTER)\n2639,506,BOSTON (MANCHESTER)\n2641,506,BOSTON (MANCHESTER)\n2642,506,BOSTON (MANCHESTER)\n2643,506,BOSTON (MANCHESTER)\n2644,506,BOSTON (MANCHESTER)\n2645,506,BOSTON (MANCHESTER)\n2646,506,BOSTON (MANCHESTER)\n2647,506,BOSTON (MANCHESTER)\n2648,506,BOSTON (MANCHESTER)\n2649,506,BOSTON (MANCHESTER)\n2650,506,BOSTON (MANCHESTER)\n2651,506,BOSTON (MANCHESTER)\n2652,506,BOSTON (MANCHESTER)\n2653,506,BOSTON (MANCHESTER)\n2655,506,BOSTON (MANCHESTER)\n2657,506,BOSTON (MANCHESTER)\n2659,506,BOSTON (MANCHESTER)\n2660,506,BOSTON (MANCHESTER)\n2661,506,BOSTON (MANCHESTER)\n2662,506,BOSTON (MANCHESTER)\n2663,506,BOSTON (MANCHESTER)\n2664,506,BOSTON (MANCHESTER)\n2666,506,BOSTON (MANCHESTER)\n2667,506,BOSTON (MANCHESTER)\n2668,506,BOSTON (MANCHESTER)\n2669,506,BOSTON (MANCHESTER)\n2670,506,BOSTON (MANCHESTER)\n2671,506,BOSTON (MANCHESTER)\n2672,506,BOSTON (MANCHESTER)\n2673,506,BOSTON (MANCHESTER)\n2675,506,BOSTON (MANCHESTER)\n2702,521,PROVIDENCE - NEW BEDFORD\n2703,521,PROVIDENCE - NEW BEDFORD\n2712,521,PROVIDENCE - NEW BEDFORD\n2713,506,BOSTON (MANCHESTER)\n2714,521,PROVIDENCE - NEW BEDFORD\n2715,521,PROVIDENCE - NEW BEDFORD\n2717,521,PROVIDENCE - NEW BEDFORD\n2718,521,PROVIDENCE - NEW BEDFORD\n2719,521,PROVIDENCE - NEW BEDFORD\n2720,521,PROVIDENCE - NEW BEDFORD\n2721,521,PROVIDENCE - NEW BEDFORD\n2722,521,PROVIDENCE - NEW BEDFORD\n2723,521,PROVIDENCE - NEW BEDFORD\n2724,521,PROVIDENCE - NEW BEDFORD\n2725,521,PROVIDENCE - NEW BEDFORD\n2726,521,PROVIDENCE - NEW BEDFORD\n2738,506,BOSTON (MANCHESTER)\n2739,506,BOSTON (MANCHESTER)\n2740,521,PROVIDENCE - NEW BEDFORD\n2741,521,PROVIDENCE - NEW BEDFORD\n2742,521,PROVIDENCE - NEW BEDFORD\n2743,521,PROVIDENCE - NEW BEDFORD\n2744,521,PROVIDENCE - NEW BEDFORD\n2745,521,PROVIDENCE - NEW BEDFORD\n2746,521,PROVIDENCE - NEW BEDFORD\n2747,521,PROVIDENCE - NEW BEDFORD\n2748,521,PROVIDENCE - NEW BEDFORD\n2760,521,PROVIDENCE - NEW BEDFORD\n2761,521,PROVIDENCE - NEW BEDFORD\n2762,506,BOSTON (MANCHESTER)\n2763,521,PROVIDENCE - NEW BEDFORD\n2764,521,PROVIDENCE - NEW BEDFORD\n2766,521,PROVIDENCE - NEW BEDFORD\n2767,521,PROVIDENCE - NEW BEDFORD\n2768,521,PROVIDENCE - NEW BEDFORD\n2769,521,PROVIDENCE - NEW BEDFORD\n2770,506,BOSTON (MANCHESTER)\n2771,521,PROVIDENCE - NEW BEDFORD\n2777,521,PROVIDENCE - NEW BEDFORD\n2779,521,PROVIDENCE - NEW BEDFORD\n2780,521,PROVIDENCE - NEW BEDFORD\n2783,521,PROVIDENCE - NEW BEDFORD\n2790,521,PROVIDENCE - NEW BEDFORD\n2791,521,PROVIDENCE - NEW BEDFORD\n2801,521,PROVIDENCE - NEW BEDFORD\n2802,521,PROVIDENCE - NEW BEDFORD\n2804,521,PROVIDENCE - NEW BEDFORD\n2806,521,PROVIDENCE - NEW BEDFORD\n2807,521,PROVIDENCE - NEW BEDFORD\n2808,521,PROVIDENCE - NEW BEDFORD\n2809,521,PROVIDENCE - NEW BEDFORD\n2812,521,PROVIDENCE - NEW BEDFORD\n2813,521,PROVIDENCE - NEW BEDFORD\n2814,521,PROVIDENCE - NEW BEDFORD\n2815,521,PROVIDENCE - NEW BEDFORD\n2816,521,PROVIDENCE - NEW BEDFORD\n2817,521,PROVIDENCE - NEW BEDFORD\n2818,521,PROVIDENCE - NEW BEDFORD\n2822,521,PROVIDENCE - NEW BEDFORD\n2823,521,PROVIDENCE - NEW BEDFORD\n2824,521,PROVIDENCE - NEW BEDFORD\n2825,521,PROVIDENCE - NEW BEDFORD\n2826,521,PROVIDENCE - NEW BEDFORD\n2827,521,PROVIDENCE - NEW BEDFORD\n2828,521,PROVIDENCE - NEW BEDFORD\n2829,521,PROVIDENCE - NEW BEDFORD\n2830,521,PROVIDENCE - NEW BEDFORD\n2831,521,PROVIDENCE - NEW BEDFORD\n2832,521,PROVIDENCE - NEW BEDFORD\n2833,521,PROVIDENCE - NEW BEDFORD\n2835,521,PROVIDENCE - NEW BEDFORD\n2836,521,PROVIDENCE - NEW BEDFORD\n2837,521,PROVIDENCE - NEW BEDFORD\n2838,521,PROVIDENCE - NEW BEDFORD\n2839,521,PROVIDENCE - NEW BEDFORD\n2840,521,PROVIDENCE - NEW BEDFORD\n2841,521,PROVIDENCE - NEW BEDFORD\n2842,521,PROVIDENCE - NEW BEDFORD\n2852,521,PROVIDENCE - NEW BEDFORD\n2857,521,PROVIDENCE - NEW BEDFORD\n2858,521,PROVIDENCE - NEW BEDFORD\n2859,521,PROVIDENCE - NEW BEDFORD\n2860,521,PROVIDENCE - NEW BEDFORD\n2861,521,PROVIDENCE - NEW BEDFORD\n2862,521,PROVIDENCE - NEW BEDFORD\n2863,521,PROVIDENCE - NEW BEDFORD\n2864,521,PROVIDENCE - NEW BEDFORD\n2865,521,PROVIDENCE - NEW BEDFORD\n2871,521,PROVIDENCE - NEW BEDFORD\n2872,521,PROVIDENCE - NEW BEDFORD\n2873,521,PROVIDENCE - NEW BEDFORD\n2874,521,PROVIDENCE - NEW BEDFORD\n2875,521,PROVIDENCE - NEW BEDFORD\n2876,521,PROVIDENCE - NEW BEDFORD\n2877,521,PROVIDENCE - NEW BEDFORD\n2878,521,PROVIDENCE - NEW BEDFORD\n2879,521,PROVIDENCE - NEW BEDFORD\n2880,521,PROVIDENCE - NEW BEDFORD\n2881,521,PROVIDENCE - NEW BEDFORD\n2882,521,PROVIDENCE - NEW BEDFORD\n2883,521,PROVIDENCE - NEW BEDFORD\n2885,521,PROVIDENCE - NEW BEDFORD\n2886,521,PROVIDENCE - NEW BEDFORD\n2887,521,PROVIDENCE - NEW BEDFORD\n2888,521,PROVIDENCE - NEW BEDFORD\n2889,521,PROVIDENCE - NEW BEDFORD\n2891,521,PROVIDENCE - NEW BEDFORD\n2892,521,PROVIDENCE - NEW BEDFORD\n2893,521,PROVIDENCE - NEW BEDFORD\n2894,521,PROVIDENCE - NEW BEDFORD\n2895,521,PROVIDENCE - NEW BEDFORD\n2896,521,PROVIDENCE - NEW BEDFORD\n2898,521,PROVIDENCE - NEW BEDFORD\n2901,521,PROVIDENCE - NEW BEDFORD\n2902,521,PROVIDENCE - NEW BEDFORD\n2903,521,PROVIDENCE - NEW BEDFORD\n2904,521,PROVIDENCE - NEW BEDFORD\n2905,521,PROVIDENCE - NEW BEDFORD\n2906,521,PROVIDENCE - NEW BEDFORD\n2907,521,PROVIDENCE - NEW BEDFORD\n2908,521,PROVIDENCE - NEW BEDFORD\n2909,521,PROVIDENCE - NEW BEDFORD\n2910,521,PROVIDENCE - NEW BEDFORD\n2911,521,PROVIDENCE - NEW BEDFORD\n2912,521,PROVIDENCE - NEW BEDFORD\n2914,521,PROVIDENCE - NEW BEDFORD\n2915,521,PROVIDENCE - NEW BEDFORD\n2916,521,PROVIDENCE - NEW BEDFORD\n2917,521,PROVIDENCE - NEW BEDFORD\n2918,521,PROVIDENCE - NEW BEDFORD\n2919,521,PROVIDENCE - NEW BEDFORD\n2920,521,PROVIDENCE - NEW BEDFORD\n2921,521,PROVIDENCE - NEW BEDFORD\n2940,521,PROVIDENCE - NEW BEDFORD\n3031,506,BOSTON (MANCHESTER)\n3032,506,BOSTON (MANCHESTER)\n3033,506,BOSTON (MANCHESTER)\n3034,506,BOSTON (MANCHESTER)\n3036,506,BOSTON (MANCHESTER)\n3037,506,BOSTON (MANCHESTER)\n3038,506,BOSTON (MANCHESTER)\n3040,506,BOSTON (MANCHESTER)\n3041,506,BOSTON (MANCHESTER)\n3042,506,BOSTON (MANCHESTER)\n3043,506,BOSTON (MANCHESTER)\n3044,506,BOSTON (MANCHESTER)\n3045,506,BOSTON (MANCHESTER)\n3046,506,BOSTON (MANCHESTER)\n3047,506,BOSTON (MANCHESTER)\n3048,506,BOSTON (MANCHESTER)\n3049,506,BOSTON (MANCHESTER)\n3051,506,BOSTON (MANCHESTER)\n3052,506,BOSTON (MANCHESTER)\n3053,506,BOSTON (MANCHESTER)\n3054,506,BOSTON (MANCHESTER)\n3055,506,BOSTON (MANCHESTER)\n3057,506,BOSTON (MANCHESTER)\n3060,506,BOSTON (MANCHESTER)\n3061,506,BOSTON (MANCHESTER)\n3062,506,BOSTON (MANCHESTER)\n3063,506,BOSTON (MANCHESTER)\n3064,506,BOSTON (MANCHESTER)\n3070,506,BOSTON (MANCHESTER)\n3071,506,BOSTON (MANCHESTER)\n3073,506,BOSTON (MANCHESTER)\n3076,506,BOSTON (MANCHESTER)\n3077,506,BOSTON (MANCHESTER)\n3079,506,BOSTON (MANCHESTER)\n3082,506,BOSTON (MANCHESTER)\n3084,506,BOSTON (MANCHESTER)\n3086,506,BOSTON (MANCHESTER)\n3087,506,BOSTON (MANCHESTER)\n3101,506,BOSTON (MANCHESTER)\n3102,506,BOSTON (MANCHESTER)\n3103,506,BOSTON (MANCHESTER)\n3104,506,BOSTON (MANCHESTER)\n3105,506,BOSTON (MANCHESTER)\n3106,506,BOSTON (MANCHESTER)\n3107,506,BOSTON (MANCHESTER)\n3108,506,BOSTON (MANCHESTER)\n3109,506,BOSTON (MANCHESTER)\n3110,506,BOSTON (MANCHESTER)\n3111,506,BOSTON (MANCHESTER)\n3215,523,BURLINGTON - PLATTSBURGH\n3216,506,BOSTON (MANCHESTER)\n3217,523,BURLINGTON - PLATTSBURGH\n3218,506,BOSTON (MANCHESTER)\n3220,506,BOSTON (MANCHESTER)\n3221,506,BOSTON (MANCHESTER)\n3222,523,BURLINGTON - PLATTSBURGH\n3223,523,BURLINGTON - PLATTSBURGH\n3224,506,BOSTON (MANCHESTER)\n3225,506,BOSTON (MANCHESTER)\n3226,506,BOSTON (MANCHESTER)\n3227,500,PORTLAND - AUBURN\n3229,506,BOSTON (MANCHESTER)\n3230,506,BOSTON (MANCHESTER)\n3231,506,BOSTON (MANCHESTER)\n3233,506,BOSTON (MANCHESTER)\n3234,506,BOSTON (MANCHESTER)\n3235,506,BOSTON (MANCHESTER)\n3237,506,BOSTON (MANCHESTER)\n3238,523,BURLINGTON - PLATTSBURGH\n3240,523,BURLINGTON - PLATTSBURGH\n3241,523,BURLINGTON - PLATTSBURGH\n3242,506,BOSTON (MANCHESTER)\n3243,506,BOSTON (MANCHESTER)\n3244,506,BOSTON (MANCHESTER)\n3245,523,BURLINGTON - PLATTSBURGH\n3246,506,BOSTON (MANCHESTER)\n3247,506,BOSTON (MANCHESTER)\n3249,506,BOSTON (MANCHESTER)\n3251,523,BURLINGTON - PLATTSBURGH\n3252,506,BOSTON (MANCHESTER)\n3253,506,BOSTON (MANCHESTER)\n3254,500,PORTLAND - AUBURN\n3255,506,BOSTON (MANCHESTER)\n3256,506,BOSTON (MANCHESTER)\n3257,506,BOSTON (MANCHESTER)\n3258,506,BOSTON (MANCHESTER)\n3259,500,PORTLAND - AUBURN\n3260,506,BOSTON (MANCHESTER)\n3261,506,BOSTON (MANCHESTER)\n3262,523,BURLINGTON - PLATTSBURGH\n3263,506,BOSTON (MANCHESTER)\n3264,523,BURLINGTON - PLATTSBURGH\n3266,523,BURLINGTON - PLATTSBURGH\n3268,506,BOSTON (MANCHESTER)\n3269,506,BOSTON (MANCHESTER)\n3272,506,BOSTON (MANCHESTER)\n3273,506,BOSTON (MANCHESTER)\n3274,523,BURLINGTON - PLATTSBURGH\n3275,506,BOSTON (MANCHESTER)\n3276,506,BOSTON (MANCHESTER)\n3278,506,BOSTON (MANCHESTER)\n3279,523,BURLINGTON - PLATTSBURGH\n3280,523,BURLINGTON - PLATTSBURGH\n3281,506,BOSTON (MANCHESTER)\n3282,523,BURLINGTON - PLATTSBURGH\n3284,523,BURLINGTON - PLATTSBURGH\n3285,523,BURLINGTON - PLATTSBURGH\n3287,506,BOSTON (MANCHESTER)\n3289,506,BOSTON (MANCHESTER)\n3290,506,BOSTON (MANCHESTER)\n3291,506,BOSTON (MANCHESTER)\n3293,523,BURLINGTON - PLATTSBURGH\n3298,506,BOSTON (MANCHESTER)\n3299,506,BOSTON (MANCHESTER)\n3301,506,BOSTON (MANCHESTER)\n3302,506,BOSTON (MANCHESTER)\n3303,506,BOSTON (MANCHESTER)\n3304,506,BOSTON (MANCHESTER)\n3305,506,BOSTON (MANCHESTER)\n3307,506,BOSTON (MANCHESTER)\n3431,506,BOSTON (MANCHESTER)\n3435,506,BOSTON (MANCHESTER)\n3440,506,BOSTON (MANCHESTER)\n3441,506,BOSTON (MANCHESTER)\n3442,506,BOSTON (MANCHESTER)\n3443,506,BOSTON (MANCHESTER)\n3444,506,BOSTON (MANCHESTER)\n3445,506,BOSTON (MANCHESTER)\n3446,506,BOSTON (MANCHESTER)\n3447,506,BOSTON (MANCHESTER)\n3448,506,BOSTON (MANCHESTER)\n3449,506,BOSTON (MANCHESTER)\n3450,506,BOSTON (MANCHESTER)\n3451,506,BOSTON (MANCHESTER)\n3452,506,BOSTON (MANCHESTER)\n3455,506,BOSTON (MANCHESTER)\n3456,506,BOSTON (MANCHESTER)\n3457,506,BOSTON (MANCHESTER)\n3458,506,BOSTON (MANCHESTER)\n3461,506,BOSTON (MANCHESTER)\n3462,506,BOSTON (MANCHESTER)\n3464,506,BOSTON (MANCHESTER)\n3465,506,BOSTON (MANCHESTER)\n3466,506,BOSTON (MANCHESTER)\n3467,506,BOSTON (MANCHESTER)\n3468,506,BOSTON (MANCHESTER)\n3469,506,BOSTON (MANCHESTER)\n3470,506,BOSTON (MANCHESTER)\n3561,523,BURLINGTON - PLATTSBURGH\n3570,500,PORTLAND - AUBURN\n3574,523,BURLINGTON - PLATTSBURGH\n3575,500,PORTLAND - AUBURN\n3576,500,PORTLAND - AUBURN\n3579,500,PORTLAND - AUBURN\n3580,523,BURLINGTON - PLATTSBURGH\n3581,500,PORTLAND - AUBURN\n3582,500,PORTLAND - AUBURN\n3583,500,PORTLAND - AUBURN\n3584,500,PORTLAND - AUBURN\n3585,523,BURLINGTON - PLATTSBURGH\n3586,523,BURLINGTON - PLATTSBURGH\n3588,500,PORTLAND - AUBURN\n3589,500,PORTLAND - AUBURN\n3590,500,PORTLAND - AUBURN\n3592,500,PORTLAND - AUBURN\n3593,500,PORTLAND - AUBURN\n3595,500,PORTLAND - AUBURN\n3597,500,PORTLAND - AUBURN\n3598,500,PORTLAND - AUBURN\n3601,523,BURLINGTON - PLATTSBURGH\n3602,506,BOSTON (MANCHESTER)\n3603,523,BURLINGTON - PLATTSBURGH\n3604,506,BOSTON (MANCHESTER)\n3605,523,BURLINGTON - PLATTSBURGH\n3607,523,BURLINGTON - PLATTSBURGH\n3608,506,BOSTON (MANCHESTER)\n3609,506,BOSTON (MANCHESTER)\n3740,523,BURLINGTON - PLATTSBURGH\n3741,523,BURLINGTON - PLATTSBURGH\n3743,523,BURLINGTON - PLATTSBURGH\n3745,523,BURLINGTON - PLATTSBURGH\n3746,523,BURLINGTON - PLATTSBURGH\n3748,523,BURLINGTON - PLATTSBURGH\n3749,523,BURLINGTON - PLATTSBURGH\n3750,523,BURLINGTON - PLATTSBURGH\n3751,523,BURLINGTON - PLATTSBURGH\n3752,523,BURLINGTON - PLATTSBURGH\n3753,523,BURLINGTON - PLATTSBURGH\n3754,523,BURLINGTON - PLATTSBURGH\n3755,523,BURLINGTON - PLATTSBURGH\n3756,523,BURLINGTON - PLATTSBURGH\n3765,523,BURLINGTON - PLATTSBURGH\n3766,523,BURLINGTON - PLATTSBURGH\n3768,523,BURLINGTON - PLATTSBURGH\n3769,523,BURLINGTON - PLATTSBURGH\n3770,523,BURLINGTON - PLATTSBURGH\n3771,523,BURLINGTON - PLATTSBURGH\n3773,523,BURLINGTON - PLATTSBURGH\n3774,523,BURLINGTON - PLATTSBURGH\n3777,523,BURLINGTON - PLATTSBURGH\n3779,523,BURLINGTON - PLATTSBURGH\n3780,523,BURLINGTON - PLATTSBURGH\n3781,523,BURLINGTON - PLATTSBURGH\n3782,523,BURLINGTON - PLATTSBURGH\n3784,523,BURLINGTON - PLATTSBURGH\n3785,523,BURLINGTON - PLATTSBURGH\n3801,506,BOSTON (MANCHESTER)\n3802,506,BOSTON (MANCHESTER)\n3803,506,BOSTON (MANCHESTER)\n3804,506,BOSTON (MANCHESTER)\n"
  },
  {
    "path": "tests/dma_zip.html",
    "content": "<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th>Zip_Code</th>\n      <th>DMA_Code</th>\n      <th>DMA_Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>501</td>\n      <td>501</td>\n      <td>NEW YORK</td>\n    </tr>\n    <tr>\n      <td>544</td>\n      <td>501</td>\n      <td>NEW YORK</td>\n    </tr>\n    <tr>\n      <td>1001</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1002</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1003</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1004</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1005</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1007</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1008</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1009</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1010</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1011</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1012</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1013</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1014</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1020</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1021</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1022</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1026</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1027</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1028</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1029</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1030</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1031</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1032</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1033</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1034</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1035</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1036</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1037</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1038</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1039</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1040</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1041</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1050</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1053</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1054</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1056</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1057</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1059</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1060</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1061</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1062</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1063</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1066</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1068</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1069</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1070</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1071</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1072</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1073</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1074</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1075</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1077</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1079</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1080</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1081</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1082</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1083</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1084</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1085</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1086</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1088</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1089</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1090</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1092</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1093</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1094</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1095</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1096</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1097</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1098</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1101</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1102</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1103</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1104</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1105</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1106</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1107</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1108</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1109</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1111</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1115</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1116</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1118</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1119</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1128</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1129</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1133</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1138</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1139</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1144</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1151</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1152</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1195</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1199</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1201</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1202</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1203</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1220</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1222</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1223</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1224</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1225</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1226</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1227</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1229</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1230</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1235</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1236</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1237</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1238</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1240</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1242</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1243</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1244</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1245</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1247</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1252</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1253</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1254</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1255</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1256</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1257</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1258</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1259</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1260</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1262</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1263</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1264</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1266</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1267</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1270</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1301</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1302</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1330</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1331</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1337</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1338</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1339</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1340</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1341</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1342</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1343</td>\n      <td>532</td>\n      <td>ALBANY - SCHENECTADY - TROY</td>\n    </tr>\n    <tr>\n      <td>1344</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1346</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1347</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1349</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1350</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1351</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1354</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1355</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1360</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1364</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1366</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1367</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1368</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1370</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1373</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1375</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1376</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1378</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1379</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1380</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1420</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1430</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1431</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1432</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1434</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1436</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1438</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1440</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1441</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1450</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1451</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1452</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1453</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1460</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1462</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1463</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1464</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1467</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1468</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1469</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1470</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1471</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1472</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1473</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1474</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1475</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1477</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1501</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1503</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1504</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1505</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1506</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1507</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1508</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1509</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1510</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1515</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1516</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1517</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1518</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1519</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1520</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1521</td>\n      <td>543</td>\n      <td>SPRINGFIELD - HOLYOKE</td>\n    </tr>\n    <tr>\n      <td>1522</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1523</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1524</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1525</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1526</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1527</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1529</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1531</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1532</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1534</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1535</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1536</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1537</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1538</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1540</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1541</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1542</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1543</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1545</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1546</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1550</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1560</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1561</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1562</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1564</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1566</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1568</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1569</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1570</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1571</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1580</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1581</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1582</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1583</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1585</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1586</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1588</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1590</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1601</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1602</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1603</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1604</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1605</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1606</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1607</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1608</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1609</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1610</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1611</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1612</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1613</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1614</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1615</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1653</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1654</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1655</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1701</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1702</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1703</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1704</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1705</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1718</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1719</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1720</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1721</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1730</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1731</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1740</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1741</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1742</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1745</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1746</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1747</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1748</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1749</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1752</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1754</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1756</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1757</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1760</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1770</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1772</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1773</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1775</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1776</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1778</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1784</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1801</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1803</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1805</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1806</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1807</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1808</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1810</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1812</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1813</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1815</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1821</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1822</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1824</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1826</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1827</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1830</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1831</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1832</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1833</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1834</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1835</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1840</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1841</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1842</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1843</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1844</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1845</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1850</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1851</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1852</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1853</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1854</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1860</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1862</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1863</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1864</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1865</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1866</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1867</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1876</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1879</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1880</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1885</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1886</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1887</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1888</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1889</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1890</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1899</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1901</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1902</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1903</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1904</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1905</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1906</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1907</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1908</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1910</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1913</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1915</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1921</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1922</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1923</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1929</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1930</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1931</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1936</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1937</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1938</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1940</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1944</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1945</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1949</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1950</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1951</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1952</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1960</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1961</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1965</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1966</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1969</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1970</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1971</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1982</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1983</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1984</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>1985</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2018</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2019</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2020</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2021</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2025</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2026</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2027</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2030</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2031</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2032</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2035</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2038</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2040</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2041</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2043</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2044</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2045</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2047</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2048</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2050</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2051</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2052</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2053</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2054</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2055</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2056</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2059</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2060</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2061</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2062</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2065</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2066</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2067</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2070</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2071</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2072</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2081</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2090</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2093</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2108</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2109</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2110</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2111</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2112</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2113</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2114</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2115</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2116</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2117</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2118</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2119</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2120</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2121</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2122</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2123</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2124</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2125</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2126</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2127</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2128</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2129</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2130</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2131</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2132</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2133</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2134</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2135</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2136</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2137</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2138</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2139</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2140</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2141</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2142</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2143</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2144</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2145</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2148</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2149</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2150</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2151</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2152</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2153</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2155</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2156</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2163</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2169</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2170</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2171</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2176</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2180</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2184</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2185</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2186</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2187</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2188</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2189</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2190</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2191</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2196</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2199</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2201</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2203</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2204</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2205</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2206</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2207</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2210</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2211</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2212</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2215</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2216</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2217</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2222</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2228</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2238</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2239</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2266</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2269</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2284</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2295</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2297</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2298</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2301</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2302</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2303</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2304</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2305</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2322</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2324</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2325</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2327</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2330</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2331</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2332</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2333</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2334</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2337</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2338</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2339</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2340</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2341</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2343</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2344</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2345</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2346</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2347</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2348</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2349</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2350</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2351</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2355</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2356</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2357</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2358</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2359</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2360</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2361</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2362</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2364</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2366</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2367</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2368</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2370</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2375</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2379</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2381</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2382</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2420</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2421</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2445</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2446</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2447</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2451</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2452</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2453</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2454</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2455</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2456</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2457</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2458</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2459</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2460</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2461</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2462</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2464</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2465</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2466</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2467</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2468</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2471</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2472</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2474</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2475</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2476</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2477</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2478</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2479</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2481</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2482</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2492</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2493</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2494</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2495</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2532</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2534</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2535</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2536</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2537</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2538</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2539</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2540</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2541</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2542</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2543</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2552</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2553</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2554</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2556</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2557</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2558</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2559</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2561</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2562</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2563</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2564</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2565</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2568</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2571</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2573</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2574</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2575</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2576</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2584</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2601</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2630</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2631</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2632</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2633</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2634</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2635</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2636</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2637</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2638</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2639</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2641</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2642</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2643</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2644</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2645</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2646</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2647</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2648</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2649</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2650</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2651</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2652</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2653</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2655</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2657</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2659</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2660</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2661</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2662</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2663</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2664</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2666</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2667</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2668</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2669</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2670</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2671</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2672</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2673</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2675</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2702</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2703</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2712</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2713</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2714</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2715</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2717</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2718</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2719</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2720</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2721</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2722</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2723</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2724</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2725</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2726</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2738</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2739</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2740</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2741</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2742</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2743</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2744</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2745</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2746</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2747</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2748</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2760</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2761</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2762</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2763</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2764</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2766</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2767</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2768</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2769</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2770</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>2771</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2777</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2779</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2780</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2783</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2790</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2791</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2801</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2802</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2804</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2806</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2807</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2808</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2809</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2812</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2813</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2814</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2815</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2816</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2817</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2818</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2822</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2823</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2824</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2825</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2826</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2827</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2828</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2829</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2830</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2831</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2832</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2833</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2835</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2836</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2837</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2838</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2839</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2840</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2841</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2842</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2852</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2857</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2858</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2859</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2860</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2861</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2862</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2863</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2864</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2865</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2871</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2872</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2873</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2874</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2875</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2876</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2877</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2878</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2879</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2880</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2881</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2882</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2883</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2885</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2886</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2887</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2888</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2889</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2891</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2892</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2893</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2894</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2895</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2896</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2898</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2901</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2902</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2903</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2904</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2905</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2906</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2907</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2908</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2909</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2910</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2911</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2912</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2914</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2915</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2916</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2917</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2918</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2919</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2920</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2921</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>2940</td>\n      <td>521</td>\n      <td>PROVIDENCE - NEW BEDFORD</td>\n    </tr>\n    <tr>\n      <td>3031</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3032</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3033</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3034</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3036</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3037</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3038</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3040</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3041</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3042</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3043</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3044</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3045</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3046</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3047</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3048</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3049</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3051</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3052</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3053</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3054</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3055</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3057</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3060</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3061</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3062</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3063</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3064</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3070</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3071</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3073</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3076</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3077</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3079</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3082</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3084</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3086</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3087</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3101</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3102</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3103</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3104</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3105</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3106</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3107</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3108</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3109</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3110</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3111</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3215</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3216</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3217</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3218</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3220</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3221</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3222</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3223</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3224</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3225</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3226</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3227</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3229</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3230</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3231</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3233</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3234</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3235</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3237</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3238</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3240</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3241</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3242</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3243</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3244</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3245</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3246</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3247</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3249</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3251</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3252</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3253</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3254</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3255</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3256</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3257</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3258</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3259</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3260</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3261</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3262</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3263</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3264</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3266</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3268</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3269</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3272</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3273</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3274</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3275</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3276</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3278</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3279</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3280</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3281</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3282</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3284</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3285</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3287</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3289</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3290</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3291</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3293</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3298</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3299</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3301</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3302</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3303</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3304</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3305</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3307</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3431</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3435</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3440</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3441</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3442</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3443</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3444</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3445</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3446</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3447</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3448</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3449</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3450</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3451</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3452</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3455</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3456</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3457</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3458</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3461</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3462</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3464</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3465</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3466</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3467</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3468</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3469</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3470</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3561</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3570</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3574</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3575</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3576</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3579</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3580</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3581</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3582</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3583</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3584</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3585</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3586</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3588</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3589</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3590</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3592</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3593</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3595</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3597</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3598</td>\n      <td>500</td>\n      <td>PORTLAND - AUBURN</td>\n    </tr>\n    <tr>\n      <td>3601</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3602</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3603</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3604</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3605</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3607</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3608</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3609</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3740</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3741</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3743</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3745</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3746</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3748</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3749</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3750</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3751</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3752</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3753</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3754</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3755</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3756</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3765</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3766</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3768</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3769</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3770</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3771</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3773</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3774</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3777</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3779</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3780</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3781</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3782</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3784</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3785</td>\n      <td>523</td>\n      <td>BURLINGTON - PLATTSBURGH</td>\n    </tr>\n    <tr>\n      <td>3801</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3802</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3803</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n    <tr>\n      <td>3804</td>\n      <td>506</td>\n      <td>BOSTON (MANCHESTER)</td>\n    </tr>\n  </tbody>\n</table>"
  },
  {
    "path": "tests/dma_zip.json",
    "content": "{\"schema\": {\"fields\":[{\"name\":\"Zip_Code\",\"type\":\"integer\"},{\"name\":\"DMA_Code\",\"type\":\"integer\"},{\"name\":\"DMA_Description\",\"type\":\"string\"}],\"primaryKey\":[\"Zip_Code\"],\"pandas_version\":\"0.20.0\"}, \"data\": [{\"Zip_Code\":501,\"DMA_Code\":501,\"DMA_Description\":\"NEW YORK\"},{\"Zip_Code\":544,\"DMA_Code\":501,\"DMA_Description\":\"NEW YORK\"},{\"Zip_Code\":1001,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1002,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1003,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1004,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1005,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1007,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1008,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1009,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1010,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1011,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1012,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1013,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1014,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1020,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1021,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1022,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1026,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1027,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1028,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1029,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1030,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1031,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1032,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1033,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1034,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1035,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1036,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1037,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1038,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1039,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1040,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1041,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1050,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1053,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1054,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1056,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1057,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1059,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1060,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1061,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1062,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1063,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1066,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1068,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1069,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1070,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1071,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1072,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1073,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1074,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1075,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1077,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1079,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1080,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1081,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1082,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1083,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1084,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1085,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1086,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1088,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1089,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1090,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1092,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1093,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1094,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1095,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1096,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1097,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1098,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1101,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1102,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1103,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1104,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1105,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1106,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1107,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1108,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1109,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1111,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1115,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1116,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1118,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1119,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1128,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1129,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1133,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1138,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1139,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1144,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1151,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1152,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1195,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1199,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1201,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1202,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1203,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1220,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1222,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1223,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1224,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1225,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1226,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1227,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1229,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1230,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1235,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1236,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1237,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1238,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1240,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1242,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1243,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1244,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1245,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1247,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1252,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1253,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1254,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1255,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1256,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1257,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1258,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1259,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1260,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1262,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1263,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1264,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1266,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1267,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1270,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1301,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1302,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1330,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1331,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1337,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1338,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1339,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1340,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1341,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1342,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1343,\"DMA_Code\":532,\"DMA_Description\":\"ALBANY - SCHENECTADY - TROY\"},{\"Zip_Code\":1344,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1346,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1347,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1349,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1350,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1351,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1354,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1355,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1360,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1364,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1366,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1367,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1368,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1370,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1373,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1375,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1376,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1378,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1379,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1380,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1420,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1430,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1431,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1432,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1434,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1436,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1438,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1440,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1441,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1450,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1451,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1452,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1453,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1460,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1462,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1463,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1464,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1467,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1468,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1469,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1470,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1471,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1472,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1473,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1474,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1475,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1477,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1501,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1503,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1504,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1505,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1506,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1507,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1508,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1509,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1510,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1515,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1516,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1517,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1518,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1519,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1520,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1521,\"DMA_Code\":543,\"DMA_Description\":\"SPRINGFIELD - HOLYOKE\"},{\"Zip_Code\":1522,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1523,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1524,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1525,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1526,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1527,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1529,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1531,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1532,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1534,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1535,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1536,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1537,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1538,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1540,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1541,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1542,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1543,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1545,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1546,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1550,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1560,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1561,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1562,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1564,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1566,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1568,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1569,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1570,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1571,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1580,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1581,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1582,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1583,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1585,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1586,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1588,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1590,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1601,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1602,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1603,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1604,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1605,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1606,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1607,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1608,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1609,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1610,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1611,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1612,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1613,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1614,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1615,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1653,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1654,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1655,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1701,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1702,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1703,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1704,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1705,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1718,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1719,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1720,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1721,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1730,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1731,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1740,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1741,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1742,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1745,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1746,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1747,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1748,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1749,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1752,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1754,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1756,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1757,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1760,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1770,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1772,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1773,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1775,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1776,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1778,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1784,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1801,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1803,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1805,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1806,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1807,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1808,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1810,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1812,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1813,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1815,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1821,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1822,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1824,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1826,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1827,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1830,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1831,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1832,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1833,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1834,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1835,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1840,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1841,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1842,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1843,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1844,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1845,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1850,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1851,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1852,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1853,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1854,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1860,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1862,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1863,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1864,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1865,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1866,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1867,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1876,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1879,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1880,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1885,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1886,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1887,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1888,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1889,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1890,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1899,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1901,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1902,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1903,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1904,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1905,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1906,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1907,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1908,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1910,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1913,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1915,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1921,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1922,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1923,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1929,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1930,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1931,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1936,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1937,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1938,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1940,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1944,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1945,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1949,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1950,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1951,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1952,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1960,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1961,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1965,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1966,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1969,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1970,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1971,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1982,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1983,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1984,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":1985,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2018,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2019,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2020,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2021,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2025,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2026,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2027,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2030,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2031,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2032,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2035,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2038,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2040,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2041,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2043,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2044,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2045,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2047,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2048,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2050,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2051,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2052,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2053,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2054,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2055,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2056,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2059,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2060,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2061,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2062,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2065,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2066,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2067,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2070,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2071,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2072,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2081,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2090,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2093,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2108,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2109,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2110,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2111,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2112,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2113,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2114,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2115,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2116,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2117,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2118,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2119,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2120,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2121,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2122,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2123,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2124,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2125,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2126,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2127,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2128,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2129,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2130,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2131,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2132,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2133,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2134,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2135,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2136,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2137,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2138,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2139,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2140,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2141,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2142,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2143,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2144,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2145,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2148,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2149,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2150,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2151,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2152,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2153,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2155,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2156,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2163,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2169,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2170,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2171,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2176,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2180,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2184,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2185,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2186,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2187,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2188,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2189,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2190,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2191,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2196,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2199,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2201,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2203,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2204,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2205,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2206,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2207,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2210,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2211,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2212,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2215,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2216,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2217,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2222,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2228,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2238,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2239,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2266,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2269,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2284,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2295,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2297,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2298,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2301,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2302,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2303,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2304,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2305,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2322,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2324,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2325,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2327,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2330,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2331,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2332,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2333,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2334,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2337,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2338,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2339,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2340,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2341,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2343,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2344,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2345,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2346,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2347,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2348,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2349,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2350,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2351,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2355,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2356,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2357,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2358,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2359,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2360,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2361,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2362,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2364,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2366,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2367,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2368,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2370,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2375,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2379,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2381,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2382,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2420,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2421,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2445,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2446,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2447,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2451,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2452,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2453,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2454,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2455,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2456,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2457,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2458,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2459,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2460,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2461,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2462,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2464,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2465,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2466,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2467,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2468,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2471,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2472,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2474,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2475,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2476,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2477,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2478,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2479,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2481,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2482,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2492,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2493,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2494,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2495,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2532,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2534,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2535,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2536,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2537,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2538,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2539,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2540,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2541,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2542,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2543,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2552,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2553,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2554,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2556,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2557,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2558,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2559,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2561,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2562,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2563,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2564,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2565,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2568,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2571,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2573,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2574,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2575,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2576,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2584,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2601,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2630,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2631,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2632,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2633,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2634,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2635,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2636,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2637,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2638,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2639,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2641,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2642,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2643,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2644,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2645,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2646,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2647,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2648,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2649,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2650,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2651,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2652,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2653,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2655,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2657,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2659,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2660,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2661,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2662,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2663,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2664,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2666,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2667,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2668,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2669,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2670,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2671,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2672,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2673,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2675,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2702,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2703,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2712,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2713,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2714,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2715,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2717,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2718,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2719,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2720,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2721,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2722,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2723,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2724,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2725,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2726,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2738,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2739,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2740,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2741,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2742,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2743,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2744,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2745,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2746,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2747,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2748,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2760,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2761,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2762,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2763,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2764,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2766,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2767,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2768,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2769,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2770,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":2771,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2777,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2779,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2780,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2783,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2790,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2791,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2801,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2802,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2804,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2806,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2807,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2808,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2809,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2812,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2813,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2814,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2815,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2816,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2817,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2818,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2822,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2823,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2824,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2825,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2826,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2827,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2828,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2829,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2830,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2831,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2832,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2833,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2835,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2836,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2837,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2838,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2839,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2840,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2841,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2842,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2852,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2857,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2858,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2859,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2860,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2861,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2862,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2863,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2864,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2865,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2871,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2872,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2873,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2874,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2875,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2876,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2877,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2878,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2879,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2880,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2881,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2882,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2883,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2885,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2886,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2887,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2888,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2889,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2891,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2892,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2893,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2894,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2895,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2896,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2898,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2901,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2902,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2903,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2904,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2905,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2906,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2907,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2908,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2909,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2910,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2911,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2912,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2914,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2915,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2916,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2917,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2918,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2919,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2920,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2921,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":2940,\"DMA_Code\":521,\"DMA_Description\":\"PROVIDENCE - NEW BEDFORD\"},{\"Zip_Code\":3031,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3032,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3033,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3034,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3036,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3037,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3038,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3040,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3041,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3042,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3043,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3044,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3045,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3046,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3047,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3048,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3049,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3051,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3052,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3053,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3054,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3055,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3057,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3060,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3061,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3062,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3063,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3064,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3070,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3071,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3073,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3076,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3077,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3079,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3082,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3084,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3086,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3087,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3101,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3102,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3103,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3104,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3105,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3106,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3107,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3108,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3109,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3110,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3111,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3215,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3216,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3217,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3218,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3220,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3221,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3222,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3223,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3224,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3225,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3226,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3227,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3229,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3230,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3231,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3233,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3234,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3235,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3237,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3238,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3240,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3241,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3242,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3243,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3244,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3245,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3246,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3247,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3249,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3251,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3252,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3253,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3254,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3255,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3256,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3257,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3258,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3259,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3260,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3261,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3262,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3263,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3264,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3266,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3268,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3269,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3272,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3273,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3274,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3275,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3276,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3278,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3279,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3280,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3281,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3282,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3284,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3285,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3287,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3289,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3290,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3291,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3293,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3298,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3299,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3301,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3302,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3303,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3304,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3305,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3307,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3431,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3435,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3440,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3441,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3442,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3443,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3444,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3445,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3446,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3447,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3448,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3449,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3450,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3451,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3452,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3455,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3456,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3457,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3458,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3461,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3462,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3464,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3465,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3466,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3467,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3468,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3469,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3470,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3561,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3570,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3574,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3575,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3576,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3579,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3580,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3581,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3582,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3583,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3584,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3585,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3586,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3588,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3589,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3590,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3592,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3593,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3595,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3597,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3598,\"DMA_Code\":500,\"DMA_Description\":\"PORTLAND - AUBURN\"},{\"Zip_Code\":3601,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3602,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3603,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3604,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3605,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3607,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3608,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3609,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3740,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3741,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3743,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3745,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3746,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3748,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3749,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3750,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3751,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3752,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3753,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3754,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3755,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3756,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3765,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3766,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3768,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3769,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3770,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3771,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3773,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3774,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3777,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3779,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3780,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3781,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3782,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3784,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3785,\"DMA_Code\":523,\"DMA_Description\":\"BURLINGTON - PLATTSBURGH\"},{\"Zip_Code\":3801,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3802,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3803,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"},{\"Zip_Code\":3804,\"DMA_Code\":506,\"DMA_Description\":\"BOSTON (MANCHESTER)\"}]}"
  },
  {
    "path": "tests/pytest.ini",
    "content": "[pytest]\naddopts = -p no:warnings\nmarkers =\n    longrun: long running test\n    nlp: tests that require the nlp extension"
  },
  {
    "path": "tests/setup/campaigns.csv",
    "content": "id,name,category,partner_id,created_at\n1,\"Campaign 1A\",fruits,1,\"2019-03-26 21:02:15\"\n2,\"Campaign 2A\",vegetables,1,\"2019-03-26 21:02:15\"\n3,\"Campaign 1B\",fruits,2,\"2019-03-26 21:02:15\"\n4,\"Campaign 2B\",vegetables,2,\"2019-03-26 21:02:15\"\n5,\"Campaign 1C\",fruits,3,\"2019-03-26 21:02:15\"\n6,\"Campaign 2C\",vegetables,3,\"2019-03-26 21:02:15\"\n"
  },
  {
    "path": "tests/setup/common.sqlite.sql",
    "content": "DROP TABLE IF EXISTS partners;\nCREATE TABLE IF NOT EXISTS partners (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n\nDROP TABLE IF EXISTS partner_sibling;\nCREATE TABLE IF NOT EXISTS partner_sibling (\n  partner_id INTEGER PRIMARY KEY,\n  sibling_dim VARCHAR NOT NULL UNIQUE\n);\n\nDROP TABLE IF EXISTS campaigns;\nCREATE TABLE IF NOT EXISTS campaigns (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR NOT NULL UNIQUE,\n  category VARCHAR NOT NULL,\n  partner_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n"
  },
  {
    "path": "tests/setup/create_testdb2_sqlite.py",
    "content": "from sqlite3 import connect, Row\n\nfrom test_utils import get_testdb_url\nfrom tlbx import st, rmfile, shell\n\nCREATE_AGGREGATED_STATS = \"\"\"CREATE TABLE aggregated_stats (\npartner_id int,\ncampaign_id int,\nleads int default 0,\nsales int default 0,\nrevenue decimal(10,2) default 0.0,\nprimary key (partner_id, campaign_id))\n\"\"\"\n\nLOAD_AGGREGATED_STATS = \"\"\"REPLACE INTO aggregated_stats\nSELECT\nc.partner_id,\nc.id as campaign_id,\ncount(distinct l.id) as leads,\ncount(distinct s.id) as sales,\nsum(s.revenue) as revenue\nfrom testdb1.sales s\njoin testdb1.leads l on s.lead_id=l.id\njoin testdb1.campaigns c on l.campaign_id=c.id\ngroup by 1,2\n\"\"\"\n\nif __name__ == \"__main__\":\n    rmfile(\"testdb2\", ignore_missing=True)\n    shell(\"touch testdb2\")\n\n    conn = connect(\"testdb2\")\n    cursor = conn.cursor()\n\n    with open(\"common.sqlite.sql\", \"r\") as sql_file:\n        sql_script = sql_file.read()\n    cursor.executescript(sql_script)\n    conn.commit()\n\n    cursor.execute('ATTACH DATABASE \"testdb1\" AS testdb1')\n    cursor.execute(\"REPLACE into partners SELECT * FROM testdb1.partners\")\n    cursor.execute(\"REPLACE into campaigns SELECT * FROM testdb1.campaigns\")\n\n    cursor.execute(CREATE_AGGREGATED_STATS)\n    cursor.execute(LOAD_AGGREGATED_STATS)\n    conn.commit()\n"
  },
  {
    "path": "tests/setup/duckdb/load.sql",
    "content": ""
  },
  {
    "path": "tests/setup/duckdb/schema.sql",
    "content": "\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "tests/setup/init_mysql_data.sh",
    "content": "#! /usr/bin/env bash\n\n# Exit in case of error\nset -e\n\ndocker exec -i `docker-compose ps -q mysql | xargs docker inspect --format '{{ .Name }}' | sed 's/\\/\\(.*\\)/\\1/'` mysql -u root zillion_test < zillion_test.mysql.sql\n\n\n"
  },
  {
    "path": "tests/setup/init_postgres_data.sh",
    "content": "#! /usr/bin/env bash\n\n# Exit in case of error\nset -e\n\ndocker exec -i -u postgres `docker-compose ps -q postgres | xargs docker inspect --format '{{ .Name }}' | sed 's/\\/\\(.*\\)/\\1/'` psql -U postgres -d zillion_test < zillion_test.postgres.sql\n"
  },
  {
    "path": "tests/setup/leads.csv",
    "content": "id,name,campaign_id,created_at\n1,\"John Doe\",1,\"2020-04-30 23:24:11\"\n2,\"Jane Doe\",1,\"2020-04-30 23:24:11\"\n3,\"Jim Doe\",2,\"2020-04-30 23:24:11\"\n4,\"Jeff Doe\",2,\"2020-04-30 23:24:11\"\n5,\"Jeremy Doe\",3,\"2020-04-30 23:24:11\"\n6,\"Jessica Doe\",4,\"2020-04-30 23:24:11\"\n7,\"Jay Doe\",5,\"2020-04-30 23:24:11\"\n8,,5,\"2020-04-30 23:24:11\"\n"
  },
  {
    "path": "tests/setup/partner_sibling.csv",
    "content": "partner_id,sibling_dim\n1,\"Partner A Sibling Dim\"\n2,\"Partner B Sibling Dim\"\n"
  },
  {
    "path": "tests/setup/partners.csv",
    "content": "id,name,created_at\n1,\"Partner A\",\"2019-03-26 21:02:15\"\n2,\"Partner B\",\"2019-03-26 21:02:15\"\n3,\"Partner C\",\"2019-03-26 21:02:15\"\n"
  },
  {
    "path": "tests/setup/sales.csv",
    "content": "id,item,quantity,revenue,lead_id,created_at\n1,apple,10,10,1,\"2020-04-30 23:24:11\"\n2,orange,15,7,1,\"2020-04-30 23:24:11\"\n3,lemon,11,30,1,\"2020-04-30 23:24:11\"\n4,lime,12,24,1,\"2020-04-30 23:24:11\"\n5,lemon,20,12,2,\"2020-04-30 23:24:11\"\n6,lettuce,30,8,3,\"2020-04-30 23:24:11\"\n7,potato,21,18,3,\"2020-04-30 23:24:11\"\n8,broccoli,25,17,3,\"2020-04-30 23:24:11\"\n9,potato,5,11,4,\"2020-04-30 23:24:11\"\n10,cauliflower,50,17,4,\"2020-04-30 23:24:11\"\n11,broccoli,25,11,4,\"2020-04-30 23:24:11\"\n12,apple,35,6,5,\"2020-04-30 23:24:11\"\n13,lettuce,12,13,6,\"2020-04-30 23:24:11\"\n14,orange,18,7.5,7,\"2020-04-30 23:24:11\"\n15,apple,24,15,7,\"2020-04-30 23:24:11\"\n16,lemon,36,9,7,\"2020-04-30 23:24:11\"\n17,lime,25,46,7,\"2020-04-30 23:24:11\"\n18,clementine,32,41,7,\"2020-04-30 23:24:11\"\n"
  },
  {
    "path": "tests/setup/testdb1.sqlite.sql",
    "content": "DROP TABLE IF EXISTS leads;\nCREATE TABLE IF NOT EXISTS leads (\n  id INTEGER PRIMARY KEY,\n  name VARCHAR DEFAULT NULL,\n  campaign_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nDROP TABLE IF EXISTS sales;\nCREATE TABLE IF NOT EXISTS sales (\n  id INTEGER PRIMARY KEY,\n  item VARCHAR NOT NULL,\n  quantity INTEGER NOT NULL,\n  revenue DECIMAL(10, 2),\n  lead_id INTEGER NOT NULL,\n  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nINSERT OR IGNORE INTO partners (name, created_at) VALUES ('Partner A', '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO partners (name, created_at) VALUES ('Partner B', '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO partners (name, created_at) VALUES ('Partner C', '2019-03-26 21:02:15');\n\nINSERT OR IGNORE INTO partner_sibling (partner_id, sibling_dim) VALUES (1, \"Partner A Sibling Dim\");\nINSERT OR IGNORE INTO partner_sibling (partner_id, sibling_dim) VALUES (2, \"Partner B Sibling Dim\");\n\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 1A', 'fruits', 1, '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 2A', 'vegetables', 1, '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 1B', 'fruits', 2, '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 2B', 'vegetables', 2, '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 1C', 'fruits', 3, '2019-03-26 21:02:15');\nINSERT OR IGNORE INTO campaigns (name, category, partner_id, created_at) VALUES ('Campaign 2C', 'vegetables', 3, '2019-03-26 21:02:15');\n\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (1, 'John Doe', 1, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (2, 'Jane Doe', 1, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (3, 'Jim Doe', 2, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (4, 'Jeff Doe', 2, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (5, 'Jeremy Doe', 3, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (6, 'Jessica Doe', 4, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (7, 'Jay Doe', 5, '2020-04-30 23:24:11');\nINSERT INTO leads (id, name, campaign_id, created_at) VALUES (8, NULL, 5, '2020-04-30 23:24:11');\n\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('apple', 10, 10.0, 1, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('orange', 15, 7.0, 1, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lemon', 11, 30.0, 1, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lime', 12, 24.0, 1, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lemon', 20, 12.0, 2, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lettuce', 30, 8.0, 3, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('potato', 21, 18.0, 3, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('broccoli', 25, 17.0, 3, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('potato', 5, 11.0, 4, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('cauliflower', 50, 17.0, 4, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('broccoli', 25, 11.0, 4, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('apple', 35, 6.0, 5, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lettuce', 12, 13.0, 6, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('orange', 18, 7.5, 7, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('apple', 24, 15.0, 7, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lemon', 36, 9.0, 7, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('lime', 25, 46.0, 7, \"2020-04-30 23:24:11\");\nINSERT INTO sales (item, quantity, revenue, lead_id, created_at) VALUES ('clementine', 32, 41.0, 7, \"2020-04-30 23:24:11\");\n"
  },
  {
    "path": "tests/setup/zillion_db.sqlite.sql",
    "content": "\nCREATE TABLE IF NOT EXISTS warehouses (\n  id INTEGER NOT NULL,\n  name VARCHAR(128) NOT NULL,\n  params TEXT NOT NULL,\n  meta TEXT,\n  created_at DATETIME DEFAULT (CURRENT_TIMESTAMP),\n  PRIMARY KEY (id),\n  UNIQUE (name)\n);\n\nCREATE TABLE IF NOT EXISTS report_specs (\n  id INTEGER NOT NULL,\n  warehouse_id INTEGER NOT NULL,\n  params TEXT,\n  meta TEXT,\n  created_at DATETIME DEFAULT (CURRENT_TIMESTAMP),\n  PRIMARY KEY (id)\n);\n"
  },
  {
    "path": "tests/setup/zillion_test.mysql.sql",
    "content": "-- MySQL dump 10.13  Distrib 5.7.28, for osx10.14 (x86_64)\n--\n-- Host: localhost    Database: zillion_test\n-- ------------------------------------------------------\n-- Server version\t5.7.28\n\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\n/*!40101 SET NAMES utf8 */;\n/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;\n/*!40103 SET TIME_ZONE='+00:00' */;\n/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;\n/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;\n/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;\n/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;\n\n--\n-- Current Database: `zillion_test`\n--\n\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ `zillion_test` /*!40100 DEFAULT CHARACTER SET utf8 */;\n\nUSE `zillion_test`;\n\n--\n-- Table structure for table `campaign_cost`\n--\n\nDROP TABLE IF EXISTS `campaign_cost`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `campaign_cost` (\n  `campaign_id` int(11) NOT NULL,\n  `cost` decimal(10,2) DEFAULT NULL,\n  `clicks` int(11) DEFAULT NULL,\n  PRIMARY KEY (`campaign_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `campaign_cost`\n--\n\nLOCK TABLES `campaign_cost` WRITE;\n/*!40000 ALTER TABLE `campaign_cost` DISABLE KEYS */;\nINSERT INTO `campaign_cost` VALUES (1,10.00,25),(2,15.00,35),(3,14.00,24),(4,18.00,85),(5,8.00,16),(6,12.00,15);\n/*!40000 ALTER TABLE `campaign_cost` ENABLE KEYS */;\nUNLOCK TABLES;\n\n--\n-- Table structure for table `campaigns`\n--\n\nDROP TABLE IF EXISTS `campaigns`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `campaigns` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `name` varchar(50) NOT NULL,\n  `category` varchar(50) NOT NULL,\n  `partner_id` int(11) NOT NULL,\n  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_name` (`name`)\n) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `campaigns`\n--\n\nLOCK TABLES `campaigns` WRITE;\n/*!40000 ALTER TABLE `campaigns` DISABLE KEYS */;\nINSERT INTO `campaigns` VALUES (1,'Campaign 1A','fruits',1,'2019-03-26 21:02:15'),(2,'Campaign 2A','vegetables',1,'2019-03-26 21:02:15'),(3,'Campaign 1B','fruits',2,'2019-03-26 21:02:15'),(4,'Campaign 2B','vegetables',2,'2019-03-26 21:02:15'),(5,'Campaign 1C','fruits',3,'2019-03-26 21:02:15'),(6,'Campaign 2C','vegetables',3,'2019-03-26 21:02:15');\n/*!40000 ALTER TABLE `campaigns` ENABLE KEYS */;\nUNLOCK TABLES;\n\n--\n-- Table structure for table `partners`\n--\n\nDROP TABLE IF EXISTS `partners`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `partners` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `name` varchar(50) NOT NULL,\n  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_name` (`name`)\n) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `partners`\n--\n\nLOCK TABLES `partners` WRITE;\n/*!40000 ALTER TABLE `partners` DISABLE KEYS */;\nINSERT INTO `partners` VALUES (1,'Partner A','2019-03-26 21:02:15'),(2,'Partner B','2019-03-26 21:02:15'),(3,'Partner C','2019-03-26 21:02:15');\n/*!40000 ALTER TABLE `partners` ENABLE KEYS */;\nUNLOCK TABLES;\n\n--\n-- Current Database: `zillion_test2`\n--\n\nCREATE DATABASE /*!32312 IF NOT EXISTS*/ `zillion_test2` /*!40100 DEFAULT CHARACTER SET utf8 */;\n\nUSE `zillion_test2`;\n\n--\n-- Table structure for table `campaign_transactions`\n--\n\nDROP TABLE IF EXISTS `campaign_transactions`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `campaign_transactions` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `campaign_id` int(11) NOT NULL,\n  PRIMARY KEY (`id`),\n  KEY `idx_campaign_id` (`campaign_id`)\n) ENGINE=InnoDB AUTO_INCREMENT=99001 DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `campaign_transactions`\n--\n\nLOCK TABLES `campaign_transactions` WRITE;\n/*!40000 ALTER TABLE `campaign_transactions` DISABLE KEYS */;\nINSERT INTO `campaign_transactions` VALUES (3,1),(5,1),(9,1),(13,1),(23,1),(29,1),(35,1),(36,1),(43,1),(52,1),(55,1),(60,1),(61,1),(62,1),(72,1),(89,1),(92,1),(97,1),(109,1),(128,1),(136,1),(140,1),(151,1),(153,1),(167,1),(168,1),(173,1),(175,1),(185,1),(189,1),(190,1),(196,1),(199,1),(201,1),(204,1),(211,1),(216,1),(225,1),(226,1),(236,1),(244,1),(258,1),(269,1),(271,1),(278,1),(280,1),(296,1),(310,1),(316,1),(326,1),(331,1),(332,1),(334,1),(342,1),(355,1),(359,1),(360,1),(364,1),(365,1),(369,1),(385,1),(387,1),(395,1),(397,1),(402,1),(411,1),(425,1),(426,1),(432,1),(435,1),(462,1),(464,1),(468,1),(475,1),(476,1),(485,1),(494,1),(499,1),(503,1),(506,1),(520,1),(522,1),(523,1),(524,1),(528,1),(530,1),(544,1),(547,1),(579,1),(583,1),(588,1),(591,1),(598,1),(599,1),(604,1),(608,1),(610,1),(626,1),(639,1),(642,1),(649,1),(651,1),(658,1),(659,1),(672,1),(675,1),(678,1),(681,1),(683,1),(698,1),(729,1),(746,1),(753,1),(754,1),(760,1),(763,1),(765,1),(771,1),(774,1),(785,1),(793,1),(806,1),(807,1),(814,1),(837,1),(846,1),(849,1),(859,1),(865,1),(866,1),(872,1),(877,1),(879,1),(881,1),(898,1),(899,1),(902,1),(903,1),(907,1),(911,1),(916,1),(947,1),(952,1),(957,1),(958,1),(961,1),(971,1),(972,1),(975,1),(994,1),(997,1),(1001,1),(1002,1),(1011,1),(1019,1),(1026,1),(1032,1),(1046,1),(1053,1),(1055,1),(1061,1),(1062,1),(1068,1),(1070,1),(1071,1),(1098,1),(1100,1),(1102,1),(1104,1),(1107,1),(1110,1),(1126,1),(1128,1),(1134,1),(1136,1),(1137,1),(1142,1),(1145,1),(1146,1),(1149,1),(1150,1),(1174,1),(1179,1),(1186,1),(1190,1),(1192,1),(1194,1),(1205,1),(1207,1),(1209,1),(1220,1),(1228,1),(1244,1),(1252,1),(1257,1),(1258,1),(1259,1),(1260,1),(1265,1),(1266,1),(1269,1),(1273,1),(1274,1),(1278,1),(1280,1),(1291,1),(1297,1),(1301,1),(1312,1),(1315,1),(1322,1),(1325,1),(1331,1),(1332,1),(1333,1),(1337,1),(1349,1),(1359,1),(1366,1),(1391,1),(1394,1),(1396,1),(1404,1),(1405,1),(1412,1),(1417,1),(1425,1),(1431,1),(1436,1),(1448,1),(1456,1),(1474,1),(1475,1),(1476,1),(1477,1),(1497,1),(1498,1),(1506,1),(1510,1),(1511,1),(1514,1),(1515,1),(1525,1),(1528,1),(1568,1),(1569,1),(1573,1),(1574,1),(1578,1),(1593,1),(1595,1),(1598,1),(1621,1),(1644,1),(1648,1),(1650,1),(1655,1),(1658,1),(1674,1),(1683,1),(1691,1),(1692,1),(1699,1),(1703,1),(1717,1),(1734,1),(1758,1),(1764,1),(1767,1),(1773,1),(1777,1),(1781,1),(1786,1),(1787,1),(1796,1),(1799,1),(1805,1),(1815,1),(1819,1),(1828,1),(1829,1),(1836,1),(1843,1),(1844,1),(1851,1),(1853,1),(1876,1),(1882,1),(1884,1),(1889,1),(1895,1),(1897,1),(1901,1),(1905,1),(1907,1),(1913,1),(1914,1),(1926,1),(1931,1),(1935,1),(1942,1),(1945,1),(1962,1),(1967,1),(1969,1),(1974,1),(1977,1),(1978,1),(1985,1),(1988,1),(1989,1),(1992,1),(1995,1),(2002,1),(2005,1),(2011,1),(2012,1),(2020,1),(2021,1),(2022,1),(2028,1),(2029,1),(2030,1),(2039,1),(2042,1),(2051,1),(2061,1),(2067,1),(2076,1),(2106,1),(2125,1),(2130,1),(2131,1),(2134,1),(2141,1),(2142,1),(2151,1),(2155,1),(2163,1),(2164,1),(2165,1),(2172,1),(2198,1),(2199,1),(2214,1),(2223,1),(2235,1),(2239,1),(2242,1),(2247,1),(2257,1),(2273,1),(2276,1),(2287,1),(2290,1),(2303,1),(2311,1),(2334,1),(2339,1),(2344,1),(2347,1),(2350,1),(2353,1),(2369,1),(2383,1),(2385,1),(2388,1),(2389,1),(2396,1),(2404,1),(2411,1),(2412,1),(2422,1),(2441,1),(2446,1),(2456,1),(2459,1),(2462,1),(2473,1),(2475,1),(2478,1),(2488,1),(2499,1),(2500,1),(2504,1),(2505,1),(2507,1),(2511,1),(2513,1),(2515,1),(2517,1),(2525,1),(2541,1),(2546,1),(2549,1),(2550,1),(2562,1),(2572,1),(2574,1),(2586,1),(2596,1),(2599,1),(2604,1),(2605,1),(2627,1),(2631,1),(2634,1),(2637,1),(2640,1),(2647,1),(2661,1),(2669,1),(2670,1),(2682,1),(2685,1),(2686,1),(2712,1),(2715,1),(2718,1),(2719,1),(2724,1),(2730,1),(2736,1),(2741,1),(2744,1),(2774,1),(2779,1),(2786,1),(2790,1),(2791,1),(2792,1),(2798,1),(2801,1),(2810,1),(2812,1),(2813,1),(2817,1),(2823,1),(2825,1),(2826,1),(2829,1),(2835,1),(2844,1),(2847,1),(2849,1),(2858,1),(2872,1),(2874,1),(2878,1),(2880,1),(2890,1),(2895,1),(2897,1),(2919,1),(2921,1),(2925,1),(2943,1),(2945,1),(2946,1),(2954,1),(2958,1),(2965,1),(2978,1),(2983,1),(2984,1),(3006,1),(3010,1),(3012,1),(3027,1),(3031,1),(3032,1),(3034,1),(3044,1),(3053,1),(3054,1),(3056,1),(3065,1),(3085,1),(3092,1),(3093,1),(3101,1),(3105,1),(3111,1),(3128,1),(3142,1),(3152,1),(3158,1),(3164,1),(3167,1),(3168,1),(3178,1),(3179,1),(3221,1),(3224,1),(3230,1),(3231,1),(3235,1),(3236,1),(3239,1),(3245,1),(3246,1),(3248,1),(3249,1),(3251,1),(3252,1),(3264,1),(3271,1),(3276,1),(3277,1),(3287,1),(3288,1),(3309,1),(3310,1),(3316,1),(3318,1),(3319,1),(3323,1),(3329,1),(3333,1),(3341,1),(3342,1),(3346,1),(3362,1),(3365,1),(3366,1),(3373,1),(3376,1),(3377,1),(3380,1),(3382,1),(3388,1),(3390,1),(3393,1),(3395,1),(3405,1),(3411,1),(3419,1),(3433,1),(3440,1),(3441,1),(3446,1),(3447,1),(3455,1),(3464,1),(3468,1),(3470,1),(3471,1),(3475,1),(3476,1),(3479,1),(3484,1),(3487,1),(3488,1),(3492,1),(3509,1),(3524,1),(3528,1),(3529,1),(3541,1),(3544,1),(3549,1),(3557,1),(3564,1),(3578,1),(3579,1),(3582,1),(3584,1),(3590,1),(3601,1),(3609,1),(3611,1),(3615,1),(3622,1),(3625,1),(3628,1),(3641,1),(3644,1),(3650,1),(3660,1),(3670,1),(3679,1),(3696,1),(3703,1),(3714,1),(3719,1),(3720,1),(3721,1),(3736,1),(3740,1),(3742,1),(3743,1),(3748,1),(3750,1),(3755,1),(3764,1),(3768,1),(3790,1),(3793,1),(3797,1),(3807,1),(3814,1),(3816,1),(3817,1),(3821,1),(3823,1),(3831,1),(3848,1),(3851,1),(3857,1),(3870,1),(3872,1),(3876,1),(3889,1),(3894,1),(3912,1),(3937,1),(3941,1),(3950,1),(3951,1),(3960,1),(3961,1),(3965,1),(3966,1),(3981,1),(3984,1),(3994,1),(4007,1),(4019,1),(4020,1),(4022,1),(4026,1),(4034,1),(4046,1),(4051,1),(4058,1),(4065,1),(4067,1),(4069,1),(4073,1),(4077,1),(4083,1),(4089,1),(4091,1),(4095,1),(4097,1),(4104,1),(4114,1),(4117,1),(4118,1),(4119,1),(4120,1),(4133,1),(4137,1),(4148,1),(4154,1),(4156,1),(4164,1),(4166,1),(4167,1),(4171,1),(4181,1),(4202,1),(4215,1),(4223,1),(4224,1),(4227,1),(4230,1),(4231,1),(4237,1),(4243,1),(4255,1),(4272,1),(4284,1),(4287,1),(4289,1),(4291,1),(4297,1),(4307,1),(4314,1),(4315,1),(4316,1),(4317,1),(4318,1),(4319,1),(4328,1),(4341,1),(4361,1),(4367,1),(4371,1),(4376,1),(4382,1),(4387,1),(4390,1),(4394,1),(4398,1),(4402,1),(4403,1),(4404,1),(4415,1),(4423,1),(4424,1),(4430,1),(4446,1),(4448,1),(4459,1),(4464,1),(4470,1),(4479,1),(4481,1),(4485,1),(4506,1),(4510,1),(4517,1),(4520,1),(4523,1),(4527,1),(4536,1),(4541,1),(4549,1),(4567,1),(4572,1),(4575,1),(4576,1),(4577,1),(4587,1),(4592,1),(4593,1),(4595,1),(4600,1),(4612,1),(4622,1),(4623,1),(4629,1),(4631,1),(4640,1),(4642,1),(4651,1),(4656,1),(4663,1),(4665,1),(4683,1),(4689,1),(4693,1),(4697,1),(4698,1),(4711,1),(4715,1),(4718,1),(4719,1),(4724,1),(4727,1),(4737,1),(4740,1),(4747,1),(4752,1),(4756,1),(4759,1),(4768,1),(4779,1),(4793,1),(4794,1),(4796,1),(4799,1),(4802,1),(4809,1),(4823,1),(4829,1),(4838,1),(4839,1),(4840,1),(4844,1),(4846,1),(4852,1),(4855,1),(4865,1),(4866,1),(4875,1),(4877,1),(4887,1),(4889,1),(4890,1),(4893,1),(4895,1),(4896,1),(4899,1),(4901,1),(4906,1),(4916,1),(4922,1),(4939,1),(4943,1),(4944,1),(4962,1),(4963,1),(4972,1),(4976,1),(4979,1),(4980,1),(4986,1),(4989,1),(5003,1),(5016,1),(5039,1),(5042,1),(5044,1),(5047,1),(5065,1),(5068,1),(5072,1),(5075,1),(5081,1),(5082,1),(5085,1),(5089,1),(5091,1),(5106,1),(5109,1),(5110,1),(5113,1),(5120,1),(5133,1),(5137,1),(5146,1),(5162,1),(5163,1),(5164,1),(5168,1),(5180,1),(5188,1),(5194,1),(5205,1),(5211,1),(5218,1),(5225,1),(5232,1),(5233,1),(5240,1),(5241,1),(5247,1),(5253,1),(5263,1),(5268,1),(5269,1),(5276,1),(5277,1),(5284,1),(5295,1),(5296,1),(5297,1),(5303,1),(5306,1),(5312,1),(5321,1),(5326,1),(5340,1),(5353,1),(5354,1),(5357,1),(5365,1),(5373,1),(5395,1),(5397,1),(5402,1),(5410,1),(5412,1),(5419,1),(5423,1),(5428,1),(5432,1),(5441,1),(5442,1),(5445,1),(5451,1),(5453,1),(5458,1),(5476,1),(5482,1),(5486,1),(5488,1),(5489,1),(5505,1),(5506,1),(5511,1),(5515,1),(5517,1),(5532,1),(5543,1),(5552,1),(5565,1),(5567,1),(5581,1),(5582,1),(5589,1),(5594,1),(5598,1),(5613,1),(5617,1),(5621,1),(5623,1),(5627,1),(5635,1),(5648,1),(5651,1),(5659,1),(5663,1),(5666,1),(5673,1),(5674,1),(5702,1),(5710,1),(5713,1),(5719,1),(5721,1),(5722,1),(5723,1),(5739,1),(5744,1),(5745,1),(5754,1),(5761,1),(5763,1),(5766,1),(5770,1),(5781,1),(5784,1),(5807,1),(5811,1),(5813,1),(5814,1),(5817,1),(5818,1),(5820,1),(5836,1),(5843,1),(5845,1),(5847,1),(5849,1),(5850,1),(5851,1),(5852,1),(5856,1),(5863,1),(5876,1),(5900,1),(5908,1),(5915,1),(5918,1),(5929,1),(5932,1),(5933,1),(5942,1),(5944,1),(5951,1),(5953,1),(5964,1),(5972,1),(5980,1),(5983,1),(5987,1),(5993,1),(5994,1),(5995,1),(5998,1),(5999,1),(6010,1),(6021,1),(6025,1),(6026,1),(6028,1),(6050,1),(6052,1),(6053,1),(6055,1),(6068,1),(6071,1),(6080,1),(6084,1),(6112,1),(6120,1),(6127,1),(6129,1),(6131,1),(6134,1),(6143,1),(6148,1),(6151,1),(6170,1),(6171,1),(6175,1),(6177,1),(6178,1),(6200,1),(6215,1),(6220,1),(6226,1),(6238,1),(6240,1),(6241,1),(6251,1),(6253,1),(6259,1),(6277,1),(6281,1),(6295,1),(6303,1),(6306,1),(6307,1),(6318,1),(6327,1),(6331,1),(6339,1),(6341,1),(6344,1),(6346,1),(6348,1),(6355,1),(6356,1),(6366,1),(6367,1),(6371,1),(6376,1),(6377,1),(6393,1),(6412,1),(6429,1),(6432,1),(6433,1),(6436,1),(6445,1),(6446,1),(6452,1),(6460,1),(6463,1),(6482,1),(6483,1),(6493,1),(6495,1),(6497,1),(6516,1),(6517,1),(6522,1),(6540,1),(6543,1),(6547,1),(6548,1),(6551,1),(6554,1),(6564,1),(6569,1),(6574,1),(6595,1),(6603,1),(6605,1),(6610,1),(6621,1),(6626,1),(6636,1),(6637,1),(6648,1),(6649,1),(6651,1),(6654,1),(6655,1),(6667,1),(6669,1),(6680,1),(6684,1),(6686,1),(6695,1),(6697,1),(6703,1),(6707,1),(6708,1),(6716,1),(6717,1),(6718,1),(6729,1),(6741,1),(6745,1),(6750,1),(6755,1),(6758,1),(6763,1),(6764,1),(6765,1),(6768,1),(6772,1),(6781,1),(6787,1),(6791,1),(6792,1),(6795,1),(6796,1),(6800,1),(6804,1),(6805,1),(6806,1),(6820,1),(6826,1),(6827,1),(6829,1),(6833,1),(6838,1),(6848,1),(6860,1),(6864,1),(6867,1),(6869,1),(6870,1),(6872,1),(6874,1),(6882,1),(6883,1),(6887,1),(6893,1),(6898,1),(6916,1),(6926,1),(6927,1),(6930,1),(6936,1),(6942,1),(6946,1),(6952,1),(6981,1),(6991,1),(6996,1),(7011,1),(7016,1),(7019,1),(7023,1),(7024,1),(7050,1),(7063,1),(7065,1),(7071,1),(7077,1),(7080,1),(7081,1),(7085,1),(7089,1),(7098,1),(7109,1),(7112,1),(7123,1),(7126,1),(7148,1),(7155,1),(7156,1),(7157,1),(7160,1),(7161,1),(7163,1),(7174,1),(7177,1),(7178,1),(7195,1),(7205,1),(7208,1),(7209,1),(7218,1),(7226,1),(7234,1),(7246,1),(7250,1),(7251,1),(7254,1),(7256,1),(7272,1),(7285,1),(7304,1),(7305,1),(7319,1),(7339,1),(7344,1),(7350,1),(7351,1),(7358,1),(7360,1),(7367,1),(7371,1),(7372,1),(7382,1),(7384,1),(7387,1),(7390,1),(7397,1),(7403,1),(7410,1),(7412,1),(7414,1),(7428,1),(7429,1),(7438,1),(7447,1),(7448,1),(7452,1),(7458,1),(7459,1),(7464,1),(7465,1),(7468,1),(7471,1),(7473,1),(7478,1),(7483,1),(7489,1),(7493,1),(7495,1),(7508,1),(7514,1),(7525,1),(7529,1),(7540,1),(7579,1),(7580,1),(7584,1),(7585,1),(7595,1),(7596,1),(7599,1),(7606,1),(7608,1),(7610,1),(7618,1),(7621,1),(7626,1),(7634,1),(7639,1),(7651,1),(7663,1),(7666,1),(7671,1),(7672,1),(7679,1),(7680,1),(7691,1),(7692,1),(7696,1),(7706,1),(7711,1),(7713,1),(7720,1),(7752,1),(7758,1),(7759,1),(7768,1),(7770,1),(7783,1),(7787,1),(7790,1),(7792,1),(7814,1),(7816,1),(7821,1),(7824,1),(7828,1),(7843,1),(7851,1),(7853,1),(7856,1),(7860,1),(7861,1),(7884,1),(7899,1),(7916,1),(7922,1),(7924,1),(7933,1),(7940,1),(7943,1),(7944,1),(7948,1),(7958,1),(7960,1),(7961,1),(7962,1),(7964,1),(7990,1),(7992,1),(7996,1),(8013,1),(8020,1),(8022,1),(8026,1),(8031,1),(8032,1),(8034,1),(8044,1),(8050,1),(8066,1),(8067,1),(8079,1),(8094,1),(8096,1),(8097,1),(8108,1),(8114,1),(8115,1),(8121,1),(8122,1),(8134,1),(8139,1),(8140,1),(8143,1),(8156,1),(8162,1),(8171,1),(8178,1),(8179,1),(8184,1),(8190,1),(8192,1),(8196,1),(8197,1),(8198,1),(8199,1),(8200,1),(8204,1),(8229,1),(8230,1),(8239,1),(8244,1),(8248,1),(8260,1),(8278,1),(8279,1),(8290,1),(8291,1),(8294,1),(8295,1),(8297,1),(8301,1),(8320,1),(8326,1),(8343,1),(8351,1),(8352,1),(8358,1),(8365,1),(8372,1),(8374,1),(8378,1),(8389,1),(8390,1),(8403,1),(8408,1),(8411,1),(8422,1),(8423,1),(8432,1),(8441,1),(8448,1),(8450,1),(8451,1),(8458,1),(8462,1),(8467,1),(8468,1),(8470,1),(8471,1),(8485,1),(8494,1),(8507,1),(8512,1),(8515,1),(8520,1),(8535,1),(8541,1),(8544,1),(8545,1),(8548,1),(8561,1),(8563,1),(8565,1),(8568,1),(8573,1),(8577,1),(8578,1),(8580,1),(8589,1),(8598,1),(8600,1),(8601,1),(8603,1),(8621,1),(8638,1),(8645,1),(8658,1),(8664,1),(8687,1),(8691,1),(8693,1),(8696,1),(8697,1),(8699,1),(8718,1),(8732,1),(8733,1),(8752,1),(8756,1),(8757,1),(8761,1),(8762,1),(8763,1),(8764,1),(8765,1),(8776,1),(8792,1),(8797,1),(8800,1),(8807,1),(8812,1),(8813,1),(8825,1),(8835,1),(8837,1),(8842,1),(8843,1),(8846,1),(8861,1),(8863,1),(8865,1),(8882,1),(8883,1),(8884,1),(8889,1),(8902,1),(8916,1),(8920,1),(8921,1),(8928,1),(8929,1),(8933,1),(8938,1),(8939,1),(8947,1),(8960,1),(8970,1),(8972,1),(8977,1),(8987,1),(8999,1),(9010,1),(9023,1),(9028,1),(9030,1),(9037,1),(9038,1),(9040,1),(9044,1),(9045,1),(9054,1),(9062,1),(9063,1),(9071,1),(9075,1),(9077,1),(9081,1),(9085,1),(9086,1),(9090,1),(9096,1),(9100,1),(9101,1),(9107,1),(9108,1),(9111,1),(9114,1),(9118,1),(9129,1),(9130,1),(9135,1),(9138,1),(9139,1),(9173,1),(9175,1),(9202,1),(9212,1),(9220,1),(9241,1),(9249,1),(9252,1),(9255,1),(9258,1),(9259,1),(9268,1),(9270,1),(9272,1),(9276,1),(9277,1),(9280,1),(9284,1),(9285,1),(9296,1),(9297,1),(9309,1),(9326,1),(9329,1),(9331,1),(9338,1),(9350,1),(9353,1),(9355,1),(9359,1),(9362,1),(9373,1),(9374,1),(9386,1),(9391,1),(9395,1),(9399,1),(9420,1),(9434,1),(9439,1),(9440,1),(9441,1),(9444,1),(9445,1),(9447,1),(9466,1),(9503,1),(9505,1),(9511,1),(9513,1),(9515,1),(9516,1),(9517,1),(9519,1),(9529,1),(9538,1),(9539,1),(9540,1),(9544,1),(9547,1),(9550,1),(9562,1),(9563,1),(9573,1),(9577,1),(9579,1),(9583,1),(9592,1),(9605,1),(9606,1),(9608,1),(9609,1),(9610,1),(9617,1),(9618,1),(9641,1),(9649,1),(9651,1),(9658,1),(9660,1),(9685,1),(9691,1),(9693,1),(9697,1),(9698,1),(9703,1),(9704,1),(9706,1),(9713,1),(9715,1),(9718,1),(9731,1),(9736,1),(9743,1),(9757,1),(9758,1),(9766,1),(9775,1),(9778,1),(9785,1),(9787,1),(9790,1),(9795,1),(9797,1),(9803,1),(9814,1),(9836,1),(9838,1),(9849,1),(9860,1),(9862,1),(9870,1),(9882,1),(9898,1),(9901,1),(9910,1),(9915,1),(9926,1),(9929,1),(9956,1),(9959,1),(9971,1),(9978,1),(9979,1),(9985,1),(9990,1),(9995,1),(9996,1),(10010,1),(10013,1),(10027,1),(10028,1),(10029,1),(10040,1),(10052,1),(10064,1),(10066,1),(10068,1),(10073,1),(10076,1),(10081,1),(10090,1),(10098,1),(10100,1),(10102,1),(10104,1),(10118,1),(10122,1),(10131,1),(10137,1),(10152,1),(10156,1),(10158,1),(10164,1),(10180,1),(10181,1),(10198,1),(10201,1),(10224,1),(10225,1),(10228,1),(10235,1),(10238,1),(10241,1),(10251,1),(10266,1),(10274,1),(10275,1),(10280,1),(10283,1),(10284,1),(10287,1),(10293,1),(10305,1),(10306,1),(10311,1),(10315,1),(10317,1),(10333,1),(10336,1),(10338,1),(10349,1),(10351,1),(10355,1),(10356,1),(10367,1),(10369,1),(10371,1),(10380,1),(10381,1),(10382,1),(10393,1),(10394,1),(10399,1),(10416,1),(10424,1),(10440,1),(10444,1),(10455,1),(10466,1),(10479,1),(10490,1),(10493,1),(10499,1),(10506,1),(10508,1),(10532,1),(10534,1),(10537,1),(10552,1),(10554,1),(10559,1),(10562,1),(10578,1),(10580,1),(10591,1),(10594,1),(10618,1),(10620,1),(10627,1),(10630,1),(10651,1),(10654,1),(10660,1),(10661,1),(10663,1),(10671,1),(10679,1),(10681,1),(10689,1),(10707,1),(10709,1),(10716,1),(10718,1),(10720,1),(10735,1),(10746,1),(10747,1),(10757,1),(10760,1),(10762,1),(10765,1),(10768,1),(10772,1),(10778,1),(10788,1),(10797,1),(10801,1),(10805,1),(10807,1),(10808,1),(10809,1),(10810,1),(10815,1),(10820,1),(10825,1),(10827,1),(10842,1),(10847,1),(10856,1),(10860,1),(10862,1),(10869,1),(10873,1),(10875,1),(10879,1),(10880,1),(10895,1),(10897,1),(10901,1),(10915,1),(10917,1),(10925,1),(10929,1),(10949,1),(10955,1),(10960,1),(10963,1),(10965,1),(10976,1),(10982,1),(10983,1),(10984,1),(10986,1),(10988,1),(10990,1),(11001,1),(11002,1),(11016,1),(11020,1),(11028,1),(11029,1),(11032,1),(11044,1),(11047,1),(11048,1),(11050,1),(11053,1),(11057,1),(11071,1),(11077,1),(11078,1),(11079,1),(11091,1),(11093,1),(11097,1),(11100,1),(11101,1),(11107,1),(11114,1),(11119,1),(11120,1),(11126,1),(11139,1),(11141,1),(11142,1),(11144,1),(11145,1),(11152,1),(11154,1),(11174,1),(11182,1),(11193,1),(11194,1),(11219,1),(11222,1),(11225,1),(11242,1),(11246,1),(11249,1),(11250,1),(11255,1),(11260,1),(11268,1),(11275,1),(11277,1),(11295,1),(11302,1),(11310,1),(11311,1),(11312,1),(11314,1),(11315,1),(11325,1),(11328,1),(11330,1),(11338,1),(11341,1),(11344,1),(11354,1),(11365,1),(11373,1),(11380,1),(11383,1),(11386,1),(11389,1),(11405,1),(11408,1),(11425,1),(11430,1),(11444,1),(11451,1),(11459,1),(11462,1),(11464,1),(11466,1),(11468,1),(11476,1),(11482,1),(11489,1),(11490,1),(11491,1),(11494,1),(11495,1),(11499,1),(11509,1),(11512,1),(11514,1),(11520,1),(11534,1),(11536,1),(11538,1),(11544,1),(11564,1),(11566,1),(11578,1),(11580,1),(11583,1),(11595,1),(11597,1),(11603,1),(11607,1),(11613,1),(11618,1),(11633,1),(11644,1),(11663,1),(11667,1),(11678,1),(11679,1),(11688,1),(11692,1),(11694,1),(11697,1),(11699,1),(11703,1),(11705,1),(11706,1),(11716,1),(11725,1),(11731,1),(11733,1),(11736,1),(11741,1),(11752,1),(11758,1),(11770,1),(11789,1),(11793,1),(11796,1),(11814,1),(11816,1),(11818,1),(11830,1),(11837,1),(11842,1),(11846,1),(11861,1),(11864,1),(11880,1),(11883,1),(11885,1),(11890,1),(11895,1),(11906,1),(11912,1),(11932,1),(11935,1),(11941,1),(11944,1),(11948,1),(11952,1),(11959,1),(11962,1),(11969,1),(11973,1),(11975,1),(11977,1),(11981,1),(11982,1),(11983,1),(11985,1),(12001,1),(12006,1),(12008,1),(12014,1),(12019,1),(12032,1),(12037,1),(12044,1),(12045,1),(12053,1),(12064,1),(12066,1),(12068,1),(12079,1),(12085,1),(12098,1),(12102,1),(12116,1),(12133,1),(12141,1),(12158,1),(12163,1),(12166,1),(12170,1),(12176,1),(12182,1),(12183,1),(12187,1),(12188,1),(12191,1),(12195,1),(12202,1),(12205,1),(12210,1),(12224,1),(12226,1),(12238,1),(12240,1),(12248,1),(12264,1),(12269,1),(12273,1),(12274,1),(12288,1),(12306,1),(12310,1),(12313,1),(12314,1),(12316,1),(12323,1),(12327,1),(12336,1),(12346,1),(12347,1),(12349,1),(12354,1),(12359,1),(12364,1),(12372,1),(12375,1),(12378,1),(12387,1),(12393,1),(12396,1),(12397,1),(12399,1),(12401,1),(12407,1),(12413,1),(12420,1),(12423,1),(12431,1),(12433,1),(12436,1),(12437,1),(12441,1),(12448,1),(12454,1),(12455,1),(12468,1),(12477,1),(12480,1),(12483,1),(12484,1),(12491,1),(12501,1),(12502,1),(12505,1),(12529,1),(12537,1),(12538,1),(12545,1),(12550,1),(12551,1),(12559,1),(12568,1),(12569,1),(12575,1),(12581,1),(12584,1),(12591,1),(12600,1),(12606,1),(12611,1),(12615,1),(12638,1),(12643,1),(12644,1),(12647,1),(12661,1),(12676,1),(12689,1),(12690,1),(12694,1),(12697,1),(12699,1),(12705,1),(12718,1),(12721,1),(12724,1),(12739,1),(12740,1),(12750,1),(12752,1),(12755,1),(12756,1),(12767,1),(12777,1),(12790,1),(12791,1),(12793,1),(12800,1),(12806,1),(12809,1),(12824,1),(12826,1),(12827,1),(12843,1),(12852,1),(12860,1),(12870,1),(12872,1),(12874,1),(12875,1),(12885,1),(12893,1),(12894,1),(12906,1),(12907,1),(12916,1),(12918,1),(12919,1),(12920,1),(12928,1),(12939,1),(12940,1),(12943,1),(12946,1),(12955,1),(12957,1),(12961,1),(12963,1),(12970,1),(12978,1),(12988,1),(12996,1),(13001,1),(13002,1),(13019,1),(13020,1),(13023,1),(13037,1),(13038,1),(13042,1),(13043,1),(13044,1),(13046,1),(13047,1),(13053,1),(13058,1),(13062,1),(13095,1),(13102,1),(13109,1),(13110,1),(13112,1),(13116,1),(13136,1),(13139,1),(13146,1),(13155,1),(13162,1),(13165,1),(13174,1),(13186,1),(13194,1),(13195,1),(13204,1),(13219,1),(13220,1),(13222,1),(13227,1),(13228,1),(13236,1),(13239,1),(13246,1),(13247,1),(13252,1),(13262,1),(13269,1),(13270,1),(13275,1),(13287,1),(13303,1),(13319,1),(13327,1),(13331,1),(13338,1),(13347,1),(13355,1),(13356,1),(13364,1),(13388,1),(13389,1),(13397,1),(13411,1),(13412,1),(13416,1),(13432,1),(13434,1),(13445,1),(13453,1),(13458,1),(13463,1),(13470,1),(13473,1),(13476,1),(13489,1),(13490,1),(13505,1),(13509,1),(13533,1),(13557,1),(13559,1),(13562,1),(13564,1),(13567,1),(13593,1),(13594,1),(13596,1),(13597,1),(13599,1),(13612,1),(13614,1),(13621,1),(13624,1),(13625,1),(13627,1),(13632,1),(13635,1),(13636,1),(13637,1),(13638,1),(13640,1),(13644,1),(13649,1),(13652,1),(13655,1),(13658,1),(13659,1),(13665,1),(13667,1),(13670,1),(13678,1),(13688,1),(13689,1),(13690,1),(13693,1),(13701,1),(13702,1),(13704,1),(13719,1),(13727,1),(13732,1),(13743,1),(13749,1),(13757,1),(13768,1),(13773,1),(13776,1),(13778,1),(13785,1),(13786,1),(13789,1),(13792,1),(13797,1),(13808,1),(13810,1),(13825,1),(13826,1),(13827,1),(13829,1),(13833,1),(13835,1),(13850,1),(13853,1),(13861,1),(13864,1),(13874,1),(13886,1),(13898,1),(13908,1),(13912,1),(13913,1),(13917,1),(13927,1),(13929,1),(13931,1),(13952,1),(13953,1),(13954,1),(13958,1),(13959,1),(13960,1),(13967,1),(13970,1),(13973,1),(13977,1),(13978,1),(13987,1),(13998,1),(13999,1),(14003,1),(14015,1),(14020,1),(14022,1),(14033,1),(14045,1),(14046,1),(14048,1),(14054,1),(14055,1),(14060,1),(14071,1),(14078,1),(14084,1),(14094,1),(14105,1),(14110,1),(14116,1),(14117,1),(14127,1),(14128,1),(14138,1),(14140,1),(14141,1),(14143,1),(14144,1),(14154,1),(14158,1),(14162,1),(14166,1),(14171,1),(14173,1),(14178,1),(14184,1),(14185,1),(14191,1),(14207,1),(14208,1),(14214,1),(14229,1),(14243,1),(14245,1),(14247,1),(14277,1),(14280,1),(14288,1),(14298,1),(14300,1),(14305,1),(14310,1),(14318,1),(14324,1),(14331,1),(14346,1),(14361,1),(14364,1),(14366,1),(14374,1),(14375,1),(14380,1),(14381,1),(14388,1),(14390,1),(14398,1),(14401,1),(14413,1),(14414,1),(14417,1),(14422,1),(14437,1),(14445,1),(14446,1),(14465,1),(14472,1),(14473,1),(14474,1),(14482,1),(14487,1),(14496,1),(14514,1),(14517,1),(14519,1),(14532,1),(14542,1),(14545,1),(14547,1),(14552,1),(14556,1),(14561,1),(14569,1),(14572,1),(14576,1),(14579,1),(14598,1),(14607,1),(14612,1),(14620,1),(14621,1),(14623,1),(14624,1),(14627,1),(14629,1),(14634,1),(14667,1),(14684,1),(14703,1),(14717,1),(14731,1),(14732,1),(14738,1),(14752,1),(14755,1),(14758,1),(14771,1),(14772,1),(14775,1),(14780,1),(14788,1),(14809,1),(14817,1),(14818,1),(14821,1),(14827,1),(14835,1),(14840,1),(14841,1),(14843,1),(14850,1),(14858,1),(14863,1),(14864,1),(14867,1),(14868,1),(14877,1),(14878,1),(14881,1),(14892,1),(14899,1),(14904,1),(14908,1),(14913,1),(14931,1),(14936,1),(14937,1),(14946,1),(14948,1),(14954,1),(14957,1),(14959,1),(14964,1),(14968,1),(14972,1),(14976,1),(14978,1),(14980,1),(14981,1),(14987,1),(15000,1),(15001,1),(15004,1),(15012,1),(15016,1),(15022,1),(15030,1),(15031,1),(15040,1),(15041,1),(15045,1),(15051,1),(15061,1),(15063,1),(15064,1),(15070,1),(15071,1),(15075,1),(15086,1),(15099,1),(15100,1),(15109,1),(15114,1),(15128,1),(15133,1),(15141,1),(15143,1),(15150,1),(15157,1),(15158,1),(15163,1),(15164,1),(15166,1),(15186,1),(15206,1),(15214,1),(15228,1),(15229,1),(15230,1),(15233,1),(15249,1),(15255,1),(15270,1),(15274,1),(15277,1),(15280,1),(15292,1),(15302,1),(15303,1),(15311,1),(15317,1),(15319,1),(15321,1),(15333,1),(15341,1),(15344,1),(15347,1),(15349,1),(15372,1),(15385,1),(15403,1),(15404,1),(15407,1),(15412,1),(15420,1),(15426,1),(15430,1),(15433,1),(15439,1),(15449,1),(15455,1),(15456,1),(15462,1),(15466,1),(15468,1),(15470,1),(15476,1),(15487,1),(15489,1),(15494,1),(15497,1),(15501,1),(15508,1),(15525,1),(15530,1),(15531,1),(15533,1),(15537,1),(15543,1),(15544,1),(15562,1),(15567,1),(15570,1),(15585,1),(15590,1),(15591,1),(15592,1),(15595,1),(15596,1),(15602,1),(15605,1),(15608,1),(15610,1),(15611,1),(15613,1),(15620,1),(15623,1),(15632,1),(15634,1),(15640,1),(15643,1),(15647,1),(15654,1),(15665,1),(15671,1),(15679,1),(15681,1),(15686,1),(15687,1),(15689,1),(15693,1),(15697,1),(15703,1),(15704,1),(15705,1),(15706,1),(15716,1),(15719,1),(15724,1),(15734,1),(15735,1),(15749,1),(15761,1),(15765,1),(15766,1),(15772,1),(15776,1),(15778,1),(15781,1),(15785,1),(15789,1),(15793,1),(15795,1),(15800,1),(15802,1),(15809,1),(15811,1),(15815,1),(15816,1),(15819,1),(15823,1),(15830,1),(15842,1),(15847,1),(15848,1),(15849,1),(15866,1),(15877,1),(15878,1),(15882,1),(15891,1),(15898,1),(15901,1),(15910,1),(15915,1),(15920,1),(15923,1),(15935,1),(15938,1),(15943,1),(15944,1),(15948,1),(15963,1),(15967,1),(15969,1),(15972,1),(15982,1),(15987,1),(16001,1),(16004,1),(16005,1),(16013,1),(16015,1),(16016,1),(16018,1),(16023,1),(16030,1),(16039,1),(16044,1),(16049,1),(16063,1),(16066,1),(16067,1),(16080,1),(16084,1),(16092,1),(16095,1),(16099,1),(16119,1),(16121,1),(16125,1),(16129,1),(16133,1),(16135,1),(16136,1),(16138,1),(16159,1),(16169,1),(16175,1),(16185,1),(16205,1),(16213,1),(16231,1),(16238,1),(16248,1),(16256,1),(16262,1),(16263,1),(16267,1),(16275,1),(16283,1),(16290,1),(16293,1),(16295,1),(16311,1),(16314,1),(16316,1),(16321,1),(16326,1),(16328,1),(16330,1),(16342,1),(16349,1),(16354,1),(16356,1),(16357,1),(16367,1),(16380,1),(16388,1),(16389,1),(16390,1),(16393,1),(16407,1),(16410,1),(16413,1),(16418,1),(16421,1),(16430,1),(16432,1),(16463,1),(16477,1),(16481,1),(16488,1),(16490,1),(16495,1),(16503,1),(16508,1),(16512,1),(16526,1),(16528,1),(16537,1),(16544,1),(16551,1),(16560,1),(16563,1),(16573,1),(16575,1),(16580,1),(16588,1),(16590,1),(16591,1),(16599,1),(16606,1),(16607,1),(16609,1),(16621,1),(16629,1),(16634,1),(16638,1),(16642,1),(16662,1),(16665,1),(16667,1),(16670,1),(16674,1),(16692,1),(16695,1),(16714,1),(16718,1),(16725,1),(16726,1),(16734,1),(16738,1),(16742,1),(16750,1),(16762,1),(16769,1),(16771,1),(16772,1),(16776,1),(16785,1),(16792,1),(16795,1),(16806,1),(16818,1),(16833,1),(16836,1),(16837,1),(16867,1),(16870,1),(16879,1),(16883,1),(16884,1),(16899,1),(16905,1),(16910,1),(16919,1),(16925,1),(16928,1),(16929,1),(16933,1),(16939,1),(16943,1),(16958,1),(16960,1),(16965,1),(16967,1),(16972,1),(16984,1),(16986,1),(16993,1),(16996,1),(17002,1),(17013,1),(17015,1),(17021,1),(17025,1),(17027,1),(17033,1),(17044,1),(17045,1),(17049,1),(17057,1),(17058,1),(17071,1),(17073,1),(17075,1),(17093,1),(17107,1),(17111,1),(17114,1),(17118,1),(17123,1),(17140,1),(17147,1),(17149,1),(17160,1),(17168,1),(17170,1),(17173,1),(17175,1),(17177,1),(17183,1),(17193,1),(17194,1),(17195,1),(17200,1),(17201,1),(17202,1),(17204,1),(17209,1),(17210,1),(17220,1),(17248,1),(17249,1),(17252,1),(17282,1),(17284,1),(17287,1),(17290,1),(17293,1),(17299,1),(17303,1),(17306,1),(17320,1),(17341,1),(17342,1),(17343,1),(17355,1),(17356,1),(17375,1),(17377,1),(17382,1),(17387,1),(17402,1),(17404,1),(17411,1),(17412,1),(17425,1),(17427,1),(17428,1),(17434,1),(17442,1),(17458,1),(17460,1),(17461,1),(17462,1),(17466,1),(17467,1),(17475,1),(17481,1),(17485,1),(17489,1),(17505,1),(17521,1),(17522,1),(17530,1),(17541,1),(17545,1),(17546,1),(17547,1),(17562,1),(17565,1),(17568,1),(17576,1),(17578,1),(17579,1),(17590,1),(17595,1),(17596,1),(17597,1),(17606,1),(17608,1),(17618,1),(17623,1),(17624,1),(17625,1),(17628,1),(17630,1),(17636,1),(17637,1),(17644,1),(17645,1),(17661,1),(17666,1),(17668,1),(17686,1),(17711,1),(17721,1),(17724,1),(17734,1),(17735,1),(17740,1),(17744,1),(17750,1),(17751,1),(17752,1),(17753,1),(17757,1),(17761,1),(17767,1),(17783,1),(17788,1),(17791,1),(17806,1),(17823,1),(17824,1),(17848,1),(17851,1),(17855,1),(17856,1),(17862,1),(17876,1),(17881,1),(17889,1),(17892,1),(17893,1),(17895,1),(17905,1),(17909,1),(17910,1),(17913,1),(17924,1),(17930,1),(17933,1),(17940,1),(17946,1),(17951,1),(17954,1),(17957,1),(17967,1),(17969,1),(17980,1),(17991,1),(17995,1),(17996,1),(18009,1),(18022,1),(18026,1),(18030,1),(18041,1),(18049,1),(18053,1),(18055,1),(18063,1),(18064,1),(18066,1),(18074,1),(18075,1),(18091,1),(18102,1),(18103,1),(18123,1),(18126,1),(18130,1),(18138,1),(18148,1),(18150,1),(18151,1),(18155,1),(18161,1),(18185,1),(18192,1),(18193,1),(18200,1),(18201,1),(18210,1),(18213,1),(18215,1),(18217,1),(18228,1),(18229,1),(18236,1),(18246,1),(18251,1),(18253,1),(18255,1),(18261,1),(18262,1),(18274,1),(18277,1),(18279,1),(18288,1),(18289,1),(18293,1),(18294,1),(18300,1),(18301,1),(18303,1),(18309,1),(18312,1),(18318,1),(18319,1),(18320,1),(18324,1),(18325,1),(18328,1),(18330,1),(18336,1),(18346,1),(18349,1),(18387,1),(18391,1),(18392,1),(18396,1),(18403,1),(18406,1),(18409,1),(18419,1),(18468,1),(18477,1),(18478,1),(18487,1),(18504,1),(18505,1),(18506,1),(18507,1),(18508,1),(18516,1),(18517,1),(18527,1),(18530,1),(18535,1),(18541,1),(18547,1),(18551,1),(18553,1),(18557,1),(18558,1),(18560,1),(18565,1),(18567,1),(18570,1),(18585,1),(18587,1),(18591,1),(18593,1),(18594,1),(18595,1),(18598,1),(18603,1),(18607,1),(18609,1),(18637,1),(18641,1),(18646,1),(18648,1),(18652,1),(18653,1),(18660,1),(18668,1),(18669,1),(18675,1),(18680,1),(18684,1),(18687,1),(18698,1),(18703,1),(18707,1),(18708,1),(18710,1),(18727,1),(18731,1),(18742,1),(18743,1),(18747,1),(18748,1),(18750,1),(18753,1),(18757,1),(18763,1),(18764,1),(18766,1),(18768,1),(18789,1),(18799,1),(18802,1),(18804,1),(18821,1),(18832,1),(18840,1),(18846,1),(18848,1),(18849,1),(18850,1),(18859,1),(18865,1),(18871,1),(18875,1),(18900,1),(18910,1),(18915,1),(18916,1),(18917,1),(18918,1),(18924,1),(18925,1),(18932,1),(18936,1),(18946,1),(18959,1),(18962,1),(18967,1),(18975,1),(18980,1),(18987,1),(18988,1),(18992,1),(19012,1),(19024,1),(19025,1),(19034,1),(19035,1),(19041,1),(19055,1),(19057,1),(19065,1),(19067,1),(19068,1),(19075,1),(19077,1),(19079,1),(19100,1),(19105,1),(19114,1),(19123,1),(19133,1),(19138,1),(19151,1),(19153,1),(19154,1),(19158,1),(19169,1),(19192,1),(19204,1),(19205,1),(19206,1),(19207,1),(19211,1),(19213,1),(19214,1),(19222,1),(19224,1),(19240,1),(19256,1),(19262,1),(19265,1),(19271,1),(19272,1),(19273,1),(19281,1),(19294,1),(19303,1),(19308,1),(19313,1),(19315,1),(19319,1),(19322,1),(19328,1),(19338,1),(19339,1),(19340,1),(19347,1),(19356,1),(19362,1),(19367,1),(19370,1),(19371,1),(19375,1),(19377,1),(19382,1),(19384,1),(19386,1),(19399,1),(19405,1),(19416,1),(19422,1),(19431,1),(19448,1),(19449,1),(19454,1),(19457,1),(19459,1),(19483,1),(19484,1),(19485,1),(19489,1),(19506,1),(19513,1),(19515,1),(19533,1),(19535,1),(19538,1),(19545,1),(19551,1),(19554,1),(19559,1),(19565,1),(19570,1),(19573,1),(19574,1),(19578,1),(19579,1),(19589,1),(19596,1),(19598,1),(19599,1),(19605,1),(19608,1),(19609,1),(19618,1),(19622,1),(19631,1),(19634,1),(19640,1),(19642,1),(19652,1),(19659,1),(19660,1),(19671,1),(19675,1),(19677,1),(19678,1),(19679,1),(19682,1),(19685,1),(19690,1),(19704,1),(19706,1),(19732,1),(19748,1),(19750,1),(19752,1),(19759,1),(19764,1),(19766,1),(19767,1),(19772,1),(19773,1),(19782,1),(19798,1),(19799,1),(19804,1),(19818,1),(19821,1),(19825,1),(19826,1),(19829,1),(19833,1),(19839,1),(19845,1),(19857,1),(19858,1),(19870,1),(19879,1),(19889,1),(19893,1),(19904,1),(19913,1),(19917,1),(19922,1),(19923,1),(19932,1),(19933,1),(19937,1),(19945,1),(19960,1),(19962,1),(19963,1),(19967,1),(19986,1),(19987,1),(19996,1),(20003,1),(20004,1),(20005,1),(20029,1),(20043,1),(20054,1),(20062,1),(20063,1),(20073,1),(20079,1),(20092,1),(20109,1),(20111,1),(20117,1),(20133,1),(20134,1),(20143,1),(20152,1),(20157,1),(20163,1),(20174,1),(20176,1),(20186,1),(20188,1),(20192,1),(20205,1),(20208,1),(20218,1),(20242,1),(20250,1),(20257,1),(20258,1),(20267,1),(20274,1),(20287,1),(20291,1),(20306,1),(20312,1),(20313,1),(20319,1),(20337,1),(20339,1),(20344,1),(20345,1),(20350,1),(20351,1),(20352,1),(20364,1),(20377,1),(20380,1),(20386,1),(20392,1),(20400,1),(20401,1),(20403,1),(20406,1),(20417,1),(20418,1),(20436,1),(20440,1),(20447,1),(20449,1),(20455,1),(20456,1),(20457,1),(20460,1),(20472,1),(20496,1),(20498,1),(20502,1),(20505,1),(20510,1),(20514,1),(20523,1),(20529,1),(20532,1),(20538,1),(20542,1),(20551,1),(20559,1),(20574,1),(20577,1),(20580,1),(20582,1),(20585,1),(20586,1),(20587,1),(20590,1),(20595,1),(20600,1),(20609,1),(20611,1),(20617,1),(20619,1),(20621,1),(20625,1),(20626,1),(20628,1),(20630,1),(20635,1),(20636,1),(20639,1),(20649,1),(20652,1),(20654,1),(20659,1),(20665,1),(20670,1),(20672,1),(20679,1),(20680,1),(20686,1),(20698,1),(20712,1),(20719,1),(20738,1),(20743,1),(20749,1),(20756,1),(20765,1),(20768,1),(20770,1),(20776,1),(20790,1),(20794,1),(20801,1),(20811,1),(20818,1),(20824,1),(20829,1),(20830,1),(20837,1),(20849,1),(20857,1),(20859,1),(20862,1),(20872,1),(20881,1),(20882,1),(20904,1),(20906,1),(20908,1),(20939,1),(20942,1),(20947,1),(20950,1),(20966,1),(20971,1),(20986,1),(20992,1),(20996,1),(20998,1),(21006,1),(21011,1),(21012,1),(21014,1),(21017,1),(21018,1),(21019,1),(21022,1),(21027,1),(21034,1),(21037,1),(21039,1),(21041,1),(21042,1),(21043,1),(21044,1),(21054,1),(21058,1),(21065,1),(21066,1),(21076,1),(21083,1),(21088,1),(21115,1),(21116,1),(21117,1),(21119,1),(21126,1),(21130,1),(21131,1),(21133,1),(21136,1),(21139,1),(21149,1),(21152,1),(21159,1),(21161,1),(21170,1),(21171,1),(21176,1),(21177,1),(21201,1),(21203,1),(21206,1),(21207,1),(21208,1),(21217,1),(21220,1),(21222,1),(21227,1),(21230,1),(21231,1),(21258,1),(21259,1),(21260,1),(21266,1),(21272,1),(21273,1),(21278,1),(21282,1),(21283,1),(21288,1),(21291,1),(21295,1),(21303,1),(21326,1),(21332,1),(21333,1),(21335,1),(21338,1),(21340,1),(21343,1),(21345,1),(21351,1),(21363,1),(21379,1),(21390,1),(21393,1),(21394,1),(21399,1),(21434,1),(21438,1),(21454,1),(21461,1),(21464,1),(21484,1),(21501,1),(21504,1),(21509,1),(21513,1),(21517,1),(21518,1),(21519,1),(21522,1),(21524,1),(21526,1),(21527,1),(21534,1),(21536,1),(21551,1),(21557,1),(21564,1),(21578,1),(21579,1),(21589,1),(21601,1),(21603,1),(21613,1),(21627,1),(21630,1),(21635,1),(21637,1),(21638,1),(21639,1),(21640,1),(21649,1),(21652,1),(21653,1),(21667,1),(21675,1),(21676,1),(21680,1),(21681,1),(21682,1),(21686,1),(21689,1),(21708,1),(21715,1),(21717,1),(21722,1),(21723,1),(21724,1),(21728,1),(21735,1),(21743,1),(21745,1),(21758,1),(21760,1),(21762,1),(21764,1),(21765,1),(21769,1),(21786,1),(21791,1),(21816,1),(21835,1),(21837,1),(21841,1),(21842,1),(21857,1),(21858,1),(21863,1),(21874,1),(21877,1),(21880,1),(21897,1),(21900,1),(21903,1),(21909,1),(21910,1),(21924,1),(21925,1),(21927,1),(21930,1),(21932,1),(21935,1),(21936,1),(21945,1),(21947,1),(21948,1),(21958,1),(21967,1),(21980,1),(21984,1),(21986,1),(21990,1),(21996,1),(22004,1),(22005,1),(22006,1),(22008,1),(22018,1),(22023,1),(22024,1),(22025,1),(22027,1),(22042,1),(22047,1),(22066,1),(22068,1),(22069,1),(22072,1),(22079,1),(22082,1),(22083,1),(22090,1),(22098,1),(22104,1),(22106,1),(22125,1),(22126,1),(22132,1),(22139,1),(22140,1),(22161,1),(22162,1),(22165,1),(22172,1),(22180,1),(22182,1),(22191,1),(22193,1),(22194,1),(22200,1),(22203,1),(22209,1),(22217,1),(22221,1),(22225,1),(22229,1),(22232,1),(22240,1),(22241,1),(22247,1),(22250,1),(22253,1),(22258,1),(22262,1),(22265,1),(22272,1),(22278,1),(22283,1),(22285,1),(22288,1),(22292,1),(22295,1),(22302,1),(22307,1),(22317,1),(22324,1),(22344,1),(22353,1),(22376,1),(22377,1),(22387,1),(22388,1),(22400,1),(22405,1),(22406,1),(22408,1),(22410,1),(22412,1),(22414,1),(22429,1),(22435,1),(22441,1),(22449,1),(22467,1),(22469,1),(22470,1),(22473,1),(22476,1),(22479,1),(22480,1),(22481,1),(22486,1),(22491,1),(22496,1),(22509,1),(22519,1),(22526,1),(22527,1),(22529,1),(22535,1),(22541,1),(22562,1),(22568,1),(22572,1),(22577,1),(22578,1),(22582,1),(22607,1),(22617,1),(22625,1),(22631,1),(22635,1),(22636,1),(22642,1),(22649,1),(22660,1),(22665,1),(22667,1),(22685,1),(22690,1),(22694,1),(22706,1),(22711,1),(22712,1),(22714,1),(22716,1),(22719,1),(22735,1),(22740,1),(22753,1),(22754,1),(22756,1),(22765,1),(22766,1),(22772,1),(22777,1),(22784,1),(22808,1),(22809,1),(22812,1),(22823,1),(22824,1),(22831,1),(22841,1),(22843,1),(22844,1),(22859,1),(22861,1),(22862,1),(22863,1),(22865,1),(22866,1),(22872,1),(22877,1),(22882,1),(22884,1),(22887,1),(22891,1),(22902,1),(22904,1),(22922,1),(22939,1),(22943,1),(22947,1),(22958,1),(22959,1),(22962,1),(22969,1),(22970,1),(22973,1),(22974,1),(22981,1),(22989,1),(22999,1),(23003,1),(23005,1),(23009,1),(23013,1),(23014,1),(23017,1),(23018,1),(23026,1),(23031,1),(23038,1),(23041,1),(23050,1),(23059,1),(23067,1),(23072,1),(23079,1),(23081,1),(23084,1),(23089,1),(23104,1),(23106,1),(23108,1),(23109,1),(23135,1),(23147,1),(23152,1),(23155,1),(23164,1),(23187,1),(23205,1),(23229,1),(23231,1),(23233,1),(23236,1),(23250,1),(23251,1),(23255,1),(23263,1),(23272,1),(23273,1),(23279,1),(23280,1),(23285,1),(23294,1),(23298,1),(23309,1),(23310,1),(23314,1),(23327,1),(23330,1),(23348,1),(23354,1),(23359,1),(23367,1),(23369,1),(23387,1),(23389,1),(23390,1),(23395,1),(23404,1),(23407,1),(23417,1),(23422,1),(23430,1),(23431,1),(23436,1),(23444,1),(23449,1),(23450,1),(23457,1),(23459,1),(23466,1),(23474,1),(23475,1),(23476,1),(23480,1),(23490,1),(23493,1),(23496,1),(23504,1),(23510,1),(23511,1),(23519,1),(23522,1),(23525,1),(23526,1),(23537,1),(23540,1),(23543,1),(23549,1),(23550,1),(23557,1),(23562,1),(23567,1),(23569,1),(23575,1),(23589,1),(23606,1),(23610,1),(23612,1),(23629,1),(23651,1),(23658,1),(23661,1),(23664,1),(23667,1),(23669,1),(23670,1),(23673,1),(23687,1),(23701,1),(23706,1),(23715,1),(23717,1),(23727,1),(23729,1),(23730,1),(23743,1),(23746,1),(23752,1),(23759,1),(23773,1),(23786,1),(23810,1),(23811,1),(23817,1),(23822,1),(23825,1),(23829,1),(23832,1),(23838,1),(23840,1),(23845,1),(23847,1),(23849,1),(23859,1),(23863,1),(23867,1),(23875,1),(23882,1),(23889,1),(23893,1),(23901,1),(23904,1),(23912,1),(23914,1),(23919,1),(23924,1),(23928,1),(23942,1),(23945,1),(23946,1),(23948,1),(23950,1),(23959,1),(23961,1),(23968,1),(23970,1),(23983,1),(23990,1),(23997,1),(24010,1),(24016,1),(24024,1),(24029,1),(24033,1),(24034,1),(24045,1),(24050,1),(24055,1),(24059,1),(24065,1),(24066,1),(24070,1),(24088,1),(24089,1),(24094,1),(24095,1),(24100,1),(24105,1),(24106,1),(24107,1),(24126,1),(24127,1),(24136,1),(24142,1),(24152,1),(24153,1),(24158,1),(24163,1),(24171,1),(24175,1),(24183,1),(24189,1),(24191,1),(24193,1),(24198,1),(24209,1),(24213,1),(24214,1),(24220,1),(24227,1),(24231,1),(24234,1),(24235,1),(24238,1),(24240,1),(24241,1),(24244,1),(24246,1),(24252,1),(24254,1),(24256,1),(24263,1),(24269,1),(24271,1),(24274,1),(24284,1),(24285,1),(24286,1),(24296,1),(24298,1),(24301,1),(24304,1),(24312,1),(24316,1),(24320,1),(24326,1),(24336,1),(24341,1),(24344,1),(24345,1),(24346,1),(24349,1),(24350,1),(24354,1),(24357,1),(24360,1),(24381,1),(24383,1),(24384,1),(24406,1),(24407,1),(24424,1),(24425,1),(24426,1),(24431,1),(24438,1),(24439,1),(24440,1),(24445,1),(24448,1),(24459,1),(24471,1),(24473,1),(24478,1),(24480,1),(24483,1),(24484,1),(24501,1),(24508,1),(24509,1),(24514,1),(24515,1),(24520,1),(24535,1),(24537,1),(24543,1),(24550,1),(24555,1),(24560,1),(24563,1),(24565,1),(24570,1),(24577,1),(24580,1),(24600,1),(24604,1),(24608,1),(24614,1),(24617,1),(24620,1),(24624,1),(24632,1),(24646,1),(24647,1),(24648,1),(24662,1),(24666,1),(24674,1),(24690,1),(24691,1),(24698,1),(24701,1),(24703,1),(24717,1),(24719,1),(24723,1),(24728,1),(24732,1),(24736,1),(24738,1),(24747,1),(24755,1),(24757,1),(24760,1),(24766,1),(24771,1),(24779,1),(24786,1),(24794,1),(24800,1),(24801,1),(24803,1),(24807,1),(24809,1),(24811,1),(24820,1),(24827,1),(24850,1),(24859,1),(24875,1),(24885,1),(24887,1),(24889,1),(24890,1),(24900,1),(24903,1),(24920,1),(24921,1),(24946,1),(24947,1),(24948,1),(24956,1),(24958,1),(24961,1),(24962,1),(24963,1),(24969,1),(24970,1),(24983,1),(24988,1),(24991,1),(25001,1),(25009,1),(25015,1),(25017,1),(25022,1),(25023,1),(25035,1),(25054,1),(25065,1),(25067,1),(25081,1),(25083,1),(25087,1),(25094,1),(25103,1),(25111,1),(25119,1),(25130,1),(25145,1),(25146,1),(25149,1),(25156,1),(25163,1),(25170,1),(25171,1),(25175,1),(25176,1),(25192,1),(25195,1),(25212,1),(25215,1),(25226,1),(25229,1),(25233,1),(25238,1),(25241,1),(25246,1),(25247,1),(25248,1),(25256,1),(25257,1),(25263,1),(25269,1),(25281,1),(25290,1),(25291,1),(25297,1),(25305,1),(25308,1),(25317,1),(25321,1),(25324,1),(25326,1),(25333,1),(25334,1),(25348,1),(25349,1),(25350,1),(25354,1),(25357,1),(25365,1),(25372,1),(25377,1),(25387,1),(25397,1),(25398,1),(25403,1),(25405,1),(25407,1),(25423,1),(25429,1),(25433,1),(25439,1),(25440,1),(25452,1),(25457,1),(25460,1),(25477,1),(25478,1),(25480,1),(25481,1),(25493,1),(25495,1),(25501,1),(25503,1),(25509,1),(25511,1),(25513,1),(25515,1),(25516,1),(25518,1),(25520,1),(25526,1),(25528,1),(25529,1),(25531,1),(25536,1),(25551,1),(25557,1),(25565,1),(25567,1),(25569,1),(25570,1),(25576,1),(25580,1),(25582,1),(25586,1),(25601,1),(25602,1),(25615,1),(25616,1),(25620,1),(25623,1),(25624,1),(25628,1),(25632,1),(25639,1),(25643,1),(25651,1),(25656,1),(25657,1),(25658,1),(25672,1),(25676,1),(25685,1),(25688,1),(25698,1),(25700,1),(25702,1),(25715,1),(25716,1),(25719,1),(25720,1),(25724,1),(25725,1),(25733,1),(25734,1),(25744,1),(25751,1),(25754,1),(25759,1),(25761,1),(25765,1),(25772,1),(25776,1),(25810,1),(25818,1),(25820,1),(25821,1),(25825,1),(25826,1),(25833,1),(25842,1),(25846,1),(25847,1),(25848,1),(25851,1),(25852,1),(25854,1),(25859,1),(25861,1),(25863,1),(25887,1),(25888,1),(25891,1),(25893,1),(25896,1),(25897,1),(25901,1),(25905,1),(25910,1),(25915,1),(25936,1),(25937,1),(25946,1),(25950,1),(25951,1),(25952,1),(25959,1),(25963,1),(25966,1),(25977,1),(25988,1),(25995,1),(26013,1),(26021,1),(26022,1),(26032,1),(26033,1),(26042,1),(26051,1),(26053,1),(26061,1),(26069,1),(26070,1),(26077,1),(26079,1),(26080,1),(26083,1),(26097,1),(26099,1),(26126,1),(26132,1),(26133,1),(26136,1),(26143,1),(26148,1),(26151,1),(26159,1),(26160,1),(26162,1),(26168,1),(26169,1),(26180,1),(26182,1),(26195,1),(26209,1),(26211,1),(26220,1),(26221,1),(26226,1),(26227,1),(26243,1),(26244,1),(26247,1),(26248,1),(26249,1),(26262,1),(26264,1),(26265,1),(26283,1),(26284,1),(26287,1),(26291,1),(26298,1),(26304,1),(26311,1),(26322,1),(26324,1),(26327,1),(26328,1),(26330,1),(26335,1),(26338,1),(26347,1),(26348,1),(26354,1),(26356,1),(26357,1),(26364,1),(26366,1),(26368,1),(26369,1),(26386,1),(26387,1),(26408,1),(26412,1),(26425,1),(26428,1),(26432,1),(26437,1),(26444,1),(26447,1),(26448,1),(26449,1),(26454,1),(26461,1),(26463,1),(26473,1),(26476,1),(26495,1),(26496,1),(26500,1),(26503,1),(26511,1),(26513,1),(26514,1),(26519,1),(26522,1),(26533,1),(26534,1),(26543,1),(26548,1),(26557,1),(26558,1),(26568,1),(26569,1),(26574,1),(26578,1),(26586,1),(26629,1),(26631,1),(26633,1),(26635,1),(26640,1),(26642,1),(26644,1),(26648,1),(26666,1),(26669,1),(26670,1),(26677,1),(26678,1),(26683,1),(26694,1),(26701,1),(26702,1),(26706,1),(26719,1),(26721,1),(26733,1),(26734,1),(26739,1),(26760,1),(26762,1),(26764,1),(26785,1),(26786,1),(26790,1),(26799,1),(26804,1),(26808,1),(26812,1),(26813,1),(26830,1),(26833,1),(26836,1),(26846,1),(26852,1),(26858,1),(26877,1),(26881,1),(26910,1),(26912,1),(26913,1),(26915,1),(26922,1),(26924,1),(26935,1),(26949,1),(26954,1),(26959,1),(26969,1),(26971,1),(26972,1),(26979,1),(26983,1),(26988,1),(26998,1),(27009,1),(27022,1),(27025,1),(27035,1),(27041,1),(27042,1),(27043,1),(27052,1),(27065,1),(27075,1),(27078,1),(27079,1),(27093,1),(27104,1),(27115,1),(27143,1),(27147,1),(27149,1),(27151,1),(27154,1),(27158,1),(27161,1),(27163,1),(27177,1),(27178,1),(27180,1),(27186,1),(27196,1),(27213,1),(27219,1),(27220,1),(27231,1),(27233,1),(27235,1),(27236,1),(27240,1),(27245,1),(27257,1),(27258,1),(27263,1),(27269,1),(27280,1),(27281,1),(27282,1),(27283,1),(27284,1),(27285,1),(27290,1),(27293,1),(27305,1),(27315,1),(27329,1),(27340,1),(27342,1),(27351,1),(27355,1),(27361,1),(27364,1),(27369,1),(27372,1),(27377,1),(27389,1),(27392,1),(27395,1),(27399,1),(27406,1),(27409,1),(27413,1),(27415,1),(27418,1),(27420,1),(27425,1),(27426,1),(27427,1),(27443,1),(27445,1),(27447,1),(27449,1),(27464,1),(27471,1),(27475,1),(27481,1),(27489,1),(27503,1),(27530,1),(27532,1),(27537,1),(27541,1),(27543,1),(27544,1),(27549,1),(27550,1),(27552,1),(27554,1),(27556,1),(27560,1),(27565,1),(27583,1),(27587,1),(27590,1),(27599,1),(27601,1),(27607,1),(27617,1),(27621,1),(27626,1),(27628,1),(27629,1),(27630,1),(27634,1),(27643,1),(27646,1),(27647,1),(27648,1),(27660,1),(27663,1),(27680,1),(27683,1),(27685,1),(27691,1),(27694,1),(27718,1),(27728,1),(27738,1),(27740,1),(27741,1),(27751,1),(27752,1),(27757,1),(27758,1),(27762,1),(27766,1),(27775,1),(27778,1),(27780,1),(27781,1),(27788,1),(27795,1),(27796,1),(27805,1),(27812,1),(27815,1),(27839,1),(27840,1),(27845,1),(27852,1),(27858,1),(27865,1),(27871,1),(27881,1),(27885,1),(27897,1),(27901,1),(27906,1),(27909,1),(27910,1),(27917,1),(27930,1),(27949,1),(27950,1),(27953,1),(27958,1),(27964,1),(27968,1),(27972,1),(27973,1),(27975,1),(27996,1),(28000,1),(28001,1),(28019,1),(28022,1),(28029,1),(28042,1),(28043,1),(28048,1),(28049,1),(28053,1),(28059,1),(28060,1),(28064,1),(28075,1),(28078,1),(28079,1),(28081,1),(28085,1),(28093,1),(28098,1),(28103,1),(28106,1),(28107,1),(28109,1),(28116,1),(28121,1),(28124,1),(28133,1),(28136,1),(28137,1),(28141,1),(28143,1),(28148,1),(28159,1),(28168,1),(28174,1),(28175,1),(28181,1),(28192,1),(28194,1),(28207,1),(28212,1),(28215,1),(28216,1),(28217,1),(28218,1),(28223,1),(28224,1),(28225,1),(28229,1),(28232,1),(28235,1),(28237,1),(28243,1),(28255,1),(28261,1),(28263,1),(28264,1),(28274,1),(28303,1),(28320,1),(28329,1),(28330,1),(28337,1),(28338,1),(28341,1),(28342,1),(28344,1),(28346,1),(28351,1),(28353,1),(28354,1),(28358,1),(28360,1),(28366,1),(28369,1),(28379,1),(28387,1),(28407,1),(28408,1),(28416,1),(28445,1),(28455,1),(28463,1),(28464,1),(28473,1),(28480,1),(28483,1),(28484,1),(28490,1),(28495,1),(28503,1),(28505,1),(28506,1),(28507,1),(28510,1),(28512,1),(28513,1),(28516,1),(28517,1),(28519,1),(28522,1),(28524,1),(28536,1),(28539,1),(28541,1),(28542,1),(28545,1),(28556,1),(28561,1),(28567,1),(28573,1),(28574,1),(28581,1),(28582,1),(28589,1),(28599,1),(28605,1),(28611,1),(28615,1),(28621,1),(28634,1),(28636,1),(28638,1),(28645,1),(28663,1),(28667,1),(28669,1),(28680,1),(28682,1),(28684,1),(28686,1),(28687,1),(28689,1),(28691,1),(28697,1),(28700,1),(28703,1),(28715,1),(28718,1),(28728,1),(28740,1),(28761,1),(28763,1),(28774,1),(28780,1),(28781,1),(28782,1),(28787,1),(28788,1),(28796,1),(28797,1),(28810,1),(28811,1),(28815,1),(28830,1),(28832,1),(28833,1),(28851,1),(28853,1),(28857,1),(28871,1),(28873,1),(28876,1),(28883,1),(28887,1),(28890,1),(28892,1),(28895,1),(28899,1),(28906,1),(28912,1),(28914,1),(28916,1),(28931,1),(28944,1),(28950,1),(28954,1),(28960,1),(28965,1),(28971,1),(28975,1),(28979,1),(28996,1),(29011,1),(29014,1),(29020,1),(29026,1),(29029,1),(29038,1),(29042,1),(29046,1),(29053,1),(29061,1),(29070,1),(29073,1),(29076,1),(29079,1),(29084,1),(29095,1),(29105,1),(29107,1),(29113,1),(29118,1),(29123,1),(29136,1),(29150,1),(29164,1),(29165,1),(29168,1),(29174,1),(29181,1),(29186,1),(29188,1),(29195,1),(29198,1),(29201,1),(29208,1),(29214,1),(29219,1),(29228,1),(29240,1),(29254,1),(29257,1),(29258,1),(29263,1),(29278,1),(29280,1),(29283,1),(29293,1),(29310,1),(29312,1),(29329,1),(29331,1),(29337,1),(29348,1),(29353,1),(29358,1),(29363,1),(29375,1),(29384,1),(29391,1),(29392,1),(29399,1),(29402,1),(29407,1),(29409,1),(29419,1),(29434,1),(29437,1),(29439,1),(29443,1),(29447,1),(29456,1),(29461,1),(29466,1),(29467,1),(29469,1),(29482,1),(29485,1),(29502,1),(29504,1),(29513,1),(29523,1),(29529,1),(29533,1),(29537,1),(29538,1),(29540,1),(29548,1),(29564,1),(29569,1),(29577,1),(29579,1),(29582,1),(29587,1),(29596,1),(29610,1),(29626,1),(29627,1),(29634,1),(29635,1),(29641,1),(29646,1),(29650,1),(29657,1),(29658,1),(29659,1),(29662,1),(29672,1),(29676,1),(29677,1),(29684,1),(29686,1),(29689,1),(29690,1),(29691,1),(29697,1),(29710,1),(29712,1),(29717,1),(29721,1),(29735,1),(29736,1),(29740,1),(29741,1),(29742,1),(29748,1),(29751,1),(29756,1),(29759,1),(29764,1),(29777,1),(29786,1),(29802,1),(29803,1),(29810,1),(29817,1),(29819,1),(29829,1),(29835,1),(29838,1),(29841,1),(29842,1),(29844,1),(29847,1),(29849,1),(29852,1),(29856,1),(29864,1),(29870,1),(29879,1),(29880,1),(29882,1),(29884,1),(29885,1),(29886,1),(29887,1),(29896,1),(29912,1),(29927,1),(29931,1),(29935,1),(29938,1),(29941,1),(29945,1),(29949,1),(29953,1),(29957,1),(29960,1),(29963,1),(29971,1),(29973,1),(29974,1),(29975,1),(29977,1),(29988,1),(29992,1),(29999,1),(30002,1),(30004,1),(30009,1),(30011,1),(30012,1),(30034,1),(30037,1),(30040,1),(30044,1),(30047,1),(30048,1),(30053,1),(30057,1),(30062,1),(30064,1),(30076,1),(30088,1),(30091,1),(30093,1),(30106,1),(30111,1),(30117,1),(30132,1),(30133,1),(30134,1),(30135,1),(30136,1),(30138,1),(30139,1),(30142,1),(30146,1),(30155,1),(30157,1),(30158,1),(30165,1),(30175,1),(30182,1),(30183,1),(30185,1),(30192,1),(30194,1),(30200,1),(30205,1),(30208,1),(30217,1),(30230,1),(30248,1),(30262,1),(30263,1),(30271,1),(30286,1),(30298,1),(30300,1),(30304,1),(30306,1),(30307,1),(30308,1),(30309,1),(30318,1),(30325,1),(30329,1),(30333,1),(30376,1),(30383,1),(30387,1),(30388,1),(30392,1),(30401,1),(30408,1),(30409,1),(30417,1),(30419,1),(30424,1),(30425,1),(30426,1),(30428,1),(30431,1),(30438,1),(30443,1),(30447,1),(30448,1),(30451,1),(30457,1),(30459,1),(30469,1),(30473,1),(30480,1),(30482,1),(30484,1),(30486,1),(30490,1),(30504,1),(30505,1),(30526,1),(30529,1),(30536,1),(30542,1),(30547,1),(30556,1),(30559,1),(30560,1),(30562,1),(30567,1),(30570,1),(30571,1),(30573,1),(30589,1),(30591,1),(30594,1),(30598,1),(30600,1),(30602,1),(30611,1),(30616,1),(30632,1),(30652,1),(30669,1),(30676,1),(30679,1),(30681,1),(30686,1),(30687,1),(30701,1),(30705,1),(30709,1),(30715,1),(30719,1),(30731,1),(30734,1),(30736,1),(30749,1),(30757,1),(30770,1),(30777,1),(30787,1),(30790,1),(30795,1),(30798,1),(30808,1),(30811,1),(30835,1),(30837,1),(30839,1),(30842,1),(30855,1),(30867,1),(30872,1),(30878,1),(30883,1),(30890,1),(30891,1),(30896,1),(30898,1),(30904,1),(30922,1),(30924,1),(30926,1),(30927,1),(30932,1),(30934,1),(30941,1),(30950,1),(30952,1),(30964,1),(30965,1),(30967,1),(30971,1),(30981,1),(30989,1),(31002,1),(31005,1),(31006,1),(31007,1),(31008,1),(31013,1),(31015,1),(31017,1),(31019,1),(31020,1),(31034,1),(31038,1),(31050,1),(31054,1),(31059,1),(31068,1),(31071,1),(31077,1),(31085,1),(31088,1),(31092,1),(31096,1),(31111,1),(31125,1),(31129,1),(31132,1),(31133,1),(31143,1),(31150,1),(31153,1),(31156,1),(31157,1),(31158,1),(31168,1),(31171,1),(31180,1),(31181,1),(31185,1),(31188,1),(31195,1),(31201,1),(31203,1),(31205,1),(31209,1),(31211,1),(31213,1),(31219,1),(31226,1),(31234,1),(31235,1),(31246,1),(31248,1),(31257,1),(31266,1),(31273,1),(31274,1),(31279,1),(31292,1),(31302,1),(31305,1),(31308,1),(31317,1),(31320,1),(31321,1),(31332,1),(31343,1),(31347,1),(31350,1),(31352,1),(31357,1),(31358,1),(31359,1),(31364,1),(31383,1),(31396,1),(31400,1),(31406,1),(31409,1),(31411,1),(31427,1),(31429,1),(31436,1),(31439,1),(31440,1),(31441,1),(31460,1),(31465,1),(31471,1),(31474,1),(31478,1),(31479,1),(31487,1),(31495,1),(31497,1),(31500,1),(31512,1),(31519,1),(31521,1),(31530,1),(31536,1),(31563,1),(31567,1),(31576,1),(31583,1),(31584,1),(31592,1),(31595,1),(31599,1),(31605,1),(31610,1),(31618,1),(31625,1),(31626,1),(31627,1),(31634,1),(31635,1),(31639,1),(31640,1),(31655,1),(31657,1),(31659,1),(31663,1),(31666,1),(31675,1),(31678,1),(31679,1),(31680,1),(31683,1),(31701,1),(31711,1),(31723,1),(31732,1),(31733,1),(31734,1),(31735,1),(31755,1),(31763,1),(31764,1),(31766,1),(31767,1),(31775,1),(31780,1),(31787,1),(31794,1),(31798,1),(31802,1),(31806,1),(31812,1),(31820,1),(31822,1),(31823,1),(31833,1),(31834,1),(31841,1),(31850,1),(31856,1),(31863,1),(31869,1),(31871,1),(31875,1),(31883,1),(31888,1),(31897,1),(31898,1),(31900,1),(31918,1),(31923,1),(31924,1),(31926,1),(31939,1),(31941,1),(31962,1),(31982,1),(31989,1),(31990,1),(31994,1),(31998,1),(32003,1),(32005,1),(32016,1),(32017,1),(32026,1),(32038,1),(32043,1),(32046,1),(32049,1),(32057,1),(32059,1),(32063,1),(32077,1),(32081,1),(32102,1),(32105,1),(32106,1),(32108,1),(32115,1),(32119,1),(32131,1),(32135,1),(32150,1),(32154,1),(32159,1),(32161,1),(32164,1),(32181,1),(32186,1),(32187,1),(32200,1),(32205,1),(32206,1),(32211,1),(32214,1),(32219,1),(32226,1),(32227,1),(32229,1),(32253,1),(32260,1),(32264,1),(32267,1),(32272,1),(32279,1),(32286,1),(32300,1),(32304,1),(32305,1),(32313,1),(32316,1),(32328,1),(32329,1),(32334,1),(32344,1),(32355,1),(32361,1),(32373,1),(32386,1),(32388,1),(32397,1),(32403,1),(32405,1),(32407,1),(32409,1),(32417,1),(32419,1),(32422,1),(32430,1),(32433,1),(32434,1),(32435,1),(32462,1),(32469,1),(32471,1),(32472,1),(32476,1),(32477,1),(32481,1),(32483,1),(32491,1),(32497,1),(32498,1),(32504,1),(32517,1),(32520,1),(32521,1),(32523,1),(32537,1),(32545,1),(32562,1),(32570,1),(32574,1),(32575,1),(32580,1),(32581,1),(32589,1),(32593,1),(32598,1),(32602,1),(32603,1),(32605,1),(32610,1),(32621,1),(32623,1),(32625,1),(32629,1),(32636,1),(32638,1),(32647,1),(32651,1),(32653,1),(32667,1),(32669,1),(32675,1),(32683,1),(32690,1),(32697,1),(32698,1),(32709,1),(32710,1),(32713,1),(32729,1),(32742,1),(32746,1),(32755,1),(32762,1),(32788,1),(32800,1),(32805,1),(32814,1),(32817,1),(32818,1),(32830,1),(32831,1),(32832,1),(32839,1),(32847,1),(32848,1),(32854,1),(32863,1),(32865,1),(32869,1),(32871,1),(32872,1),(32873,1),(32880,1),(32882,1),(32884,1),(32885,1),(32897,1),(32903,1),(32908,1),(32911,1),(32914,1),(32915,1),(32916,1),(32917,1),(32939,1),(32940,1),(32947,1),(32950,1),(32965,1),(32969,1),(32970,1),(32973,1),(32978,1),(32995,1),(33003,1),(33008,1),(33015,1),(33021,1),(33026,1),(33030,1),(33035,1),(33040,1),(33049,1),(33057,1),(33058,1),(33059,1),(33063,1),(33069,1),(33075,1),(33083,1),(33089,1),(33092,1),(33100,1),(33104,1),(33107,1),(33108,1),(33109,1),(33119,1),(33132,1),(33148,1),(33151,1),(33163,1),(33165,1),(33181,1),(33182,1),(33183,1),(33184,1),(33189,1),(33190,1),(33192,1),(33199,1),(33200,1),(33216,1),(33220,1),(33222,1),(33223,1),(33229,1),(33232,1),(33237,1),(33246,1),(33248,1),(33253,1),(33260,1),(33262,1),(33268,1),(33273,1),(33274,1),(33288,1),(33305,1),(33306,1),(33314,1),(33317,1),(33318,1),(33327,1),(33329,1),(33338,1),(33341,1),(33361,1),(33363,1),(33372,1),(33373,1),(33383,1),(33384,1),(33386,1),(33406,1),(33407,1),(33410,1),(33420,1),(33426,1),(33431,1),(33434,1),(33436,1),(33442,1),(33450,1),(33458,1),(33472,1),(33483,1),(33496,1),(33497,1),(33501,1),(33504,1),(33511,1),(33512,1),(33514,1),(33521,1),(33526,1),(33532,1),(33535,1),(33537,1),(33538,1),(33548,1),(33550,1),(33553,1),(33565,1),(33570,1),(33580,1),(33584,1),(33589,1),(33590,1),(33603,1),(33607,1),(33615,1),(33616,1),(33617,1),(33618,1),(33621,1),(33632,1),(33636,1),(33639,1),(33641,1),(33642,1),(33646,1),(33650,1),(33658,1),(33666,1),(33683,1),(33686,1),(33688,1),(33690,1),(33698,1),(33702,1),(33711,1),(33730,1),(33734,1),(33742,1),(33743,1),(33748,1),(33753,1),(33758,1),(33760,1),(33767,1),(33775,1),(33779,1),(33783,1),(33786,1),(33788,1),(33796,1),(33799,1),(33806,1),(33811,1),(33849,1),(33858,1),(33861,1),(33865,1),(33867,1),(33868,1),(33872,1),(33874,1),(33877,1),(33878,1),(33880,1),(33882,1),(33888,1),(33897,1),(33899,1),(33902,1),(33914,1),(33921,1),(33924,1),(33928,1),(33940,1),(33944,1),(33949,1),(33951,1),(33961,1),(33962,1),(33965,1),(33969,1),(33971,1),(33978,1),(33984,1),(33992,1),(33996,1),(33999,1),(34000,1),(34009,1),(34012,1),(34016,1),(34031,1),(34053,1),(34054,1),(34063,1),(34066,1),(34067,1),(34071,1),(34075,1),(34077,1),(34081,1),(34082,1),(34083,1),(34090,1),(34092,1),(34095,1),(34098,1),(34100,1),(34108,1),(34109,1),(34110,1),(34112,1),(34116,1),(34129,1),(34137,1),(34142,1),(34150,1),(34163,1),(34165,1),(34176,1),(34177,1),(34182,1),(34186,1),(34192,1),(34235,1),(34236,1),(34252,1),(34253,1),(34257,1),(34277,1),(34289,1),(34294,1),(34299,1),(34301,1),(34302,1),(34310,1),(34311,1),(34314,1),(34319,1),(34330,1),(34336,1),(34346,1),(34363,1),(34365,1),(34367,1),(34369,1),(34379,1),(34391,1),(34394,1),(34412,1),(34413,1),(34414,1),(34416,1),(34422,1),(34429,1),(34445,1),(34453,1),(34458,1),(34463,1),(34465,1),(34468,1),(34476,1),(34485,1),(34490,1),(34492,1),(34501,1),(34507,1),(34512,1),(34519,1),(34525,1),(34529,1),(34534,1),(34539,1),(34544,1),(34548,1),(34552,1),(34554,1),(34558,1),(34561,1),(34568,1),(34572,1),(34574,1),(34576,1),(34578,1),(34582,1),(34589,1),(34592,1),(34598,1),(34600,1),(34606,1),(34618,1),(34632,1),(34642,1),(34643,1),(34661,1),(34666,1),(34681,1),(34691,1),(34694,1),(34695,1),(34697,1),(34700,1),(34711,1),(34716,1),(34719,1),(34725,1),(34726,1),(34742,1),(34743,1),(34748,1),(34759,1),(34773,1),(34774,1),(34780,1),(34783,1),(34789,1),(34791,1),(34803,1),(34804,1),(34807,1),(34808,1),(34826,1),(34833,1),(34848,1),(34858,1),(34861,1),(34885,1),(34888,1),(34892,1),(34898,1),(34903,1),(34904,1),(34907,1),(34908,1),(34926,1),(34934,1),(34940,1),(34942,1),(34953,1),(34991,1),(34994,1),(34995,1),(34996,1),(35004,1),(35008,1),(35012,1),(35021,1),(35022,1),(35026,1),(35028,1),(35032,1),(35035,1),(35040,1),(35050,1),(35055,1),(35059,1),(35061,1),(35064,1),(35065,1),(35076,1),(35078,1),(35080,1),(35083,1),(35087,1),(35093,1),(35094,1),(35096,1),(35104,1),(35117,1),(35118,1),(35123,1),(35138,1),(35143,1),(35148,1),(35149,1),(35155,1),(35162,1),(35167,1),(35172,1),(35177,1),(35181,1),(35205,1),(35214,1),(35217,1),(35235,1),(35238,1),(35239,1),(35244,1),(35245,1),(35266,1),(35269,1),(35287,1),(35294,1),(35307,1),(35308,1),(35311,1),(35321,1),(35324,1),(35328,1),(35331,1),(35337,1),(35339,1),(35345,1),(35346,1),(35347,1),(35361,1),(35365,1),(35374,1),(35375,1),(35382,1),(35387,1),(35392,1),(35396,1),(35397,1),(35399,1),(35400,1),(35401,1),(35418,1),(35423,1),(35425,1),(35427,1),(35439,1),(35440,1),(35441,1),(35455,1),(35466,1),(35468,1),(35469,1),(35470,1),(35473,1),(35475,1),(35481,1),(35483,1),(35484,1),(35486,1),(35490,1),(35491,1),(35502,1),(35506,1),(35507,1),(35514,1),(35518,1),(35524,1),(35528,1),(35539,1),(35541,1),(35549,1),(35560,1),(35574,1),(35580,1),(35581,1),(35595,1),(35597,1),(35602,1),(35606,1),(35618,1),(35621,1),(35624,1),(35628,1),(35633,1),(35653,1),(35666,1),(35673,1),(35674,1),(35678,1),(35679,1),(35690,1),(35694,1),(35698,1),(35699,1),(35705,1),(35708,1),(35709,1),(35710,1),(35712,1),(35713,1),(35720,1),(35763,1),(35766,1),(35768,1),(35772,1),(35781,1),(35786,1),(35794,1),(35803,1),(35806,1),(35814,1),(35827,1),(35829,1),(35832,1),(35841,1),(35857,1),(35861,1),(35863,1),(35877,1),(35879,1),(35880,1),(35883,1),(35885,1),(35895,1),(35900,1),(35902,1),(35903,1),(35905,1),(35909,1),(35917,1),(35921,1),(35930,1),(35932,1),(35937,1),(35941,1),(35947,1),(35948,1),(35954,1),(35968,1),(35969,1),(35973,1),(35979,1),(35984,1),(35985,1),(36001,1),(36016,1),(36030,1),(36056,1),(36058,1),(36059,1),(36063,1),(36071,1),(36073,1),(36079,1),(36084,1),(36087,1),(36091,1),(36094,1),(36102,1),(36103,1),(36113,1),(36122,1),(36127,1),(36133,1),(36135,1),(36141,1),(36144,1),(36150,1),(36152,1),(36163,1),(36164,1),(36165,1),(36178,1),(36187,1),(36189,1),(36192,1),(36195,1),(36199,1),(36201,1),(36204,1),(36208,1),(36216,1),(36225,1),(36226,1),(36230,1),(36232,1),(36239,1),(36243,1),(36244,1),(36246,1),(36249,1),(36251,1),(36253,1),(36255,1),(36262,1),(36263,1),(36266,1),(36274,1),(36290,1),(36291,1),(36299,1),(36302,1),(36303,1),(36316,1),(36322,1),(36325,1),(36326,1),(36328,1),(36342,1),(36353,1),(36363,1),(36371,1),(36373,1),(36374,1),(36376,1),(36380,1),(36382,1),(36390,1),(36395,1),(36403,1),(36409,1),(36411,1),(36418,1),(36422,1),(36426,1),(36434,1),(36437,1),(36438,1),(36439,1),(36447,1),(36470,1),(36471,1),(36472,1),(36483,1),(36484,1),(36488,1),(36489,1),(36503,1),(36509,1),(36510,1),(36519,1),(36523,1),(36525,1),(36527,1),(36534,1),(36535,1),(36536,1),(36542,1),(36561,1),(36563,1),(36570,1),(36571,1),(36602,1),(36605,1),(36607,1),(36610,1),(36617,1),(36618,1),(36623,1),(36627,1),(36651,1),(36657,1),(36669,1),(36693,1),(36698,1),(36701,1),(36726,1),(36734,1),(36739,1),(36740,1),(36757,1),(36766,1),(36774,1),(36778,1),(36787,1),(36791,1),(36798,1),(36805,1),(36810,1),(36813,1),(36816,1),(36822,1),(36824,1),(36838,1),(36841,1),(36844,1),(36850,1),(36857,1),(36861,1),(36866,1),(36873,1),(36875,1),(36878,1),(36882,1),(36884,1),(36897,1),(36898,1),(36899,1),(36900,1),(36911,1),(36913,1),(36914,1),(36917,1),(36937,1),(36945,1),(36953,1),(36958,1),(36959,1),(36962,1),(36966,1),(36967,1),(36976,1),(36982,1),(36983,1),(36988,1),(36994,1),(37001,1),(37012,1),(37016,1),(37020,1),(37024,1),(37029,1),(37044,1),(37046,1),(37047,1),(37051,1),(37065,1),(37069,1),(37085,1),(37086,1),(37095,1),(37101,1),(37106,1),(37112,1),(37120,1),(37124,1),(37132,1),(37135,1),(37141,1),(37146,1),(37154,1),(37157,1),(37162,1),(37167,1),(37184,1),(37193,1),(37205,1),(37209,1),(37213,1),(37221,1),(37225,1),(37227,1),(37229,1),(37230,1),(37247,1),(37256,1),(37273,1),(37279,1),(37286,1),(37295,1),(37306,1),(37308,1),(37321,1),(37338,1),(37344,1),(37347,1),(37364,1),(37365,1),(37368,1),(37370,1),(37379,1),(37383,1),(37397,1),(37398,1),(37406,1),(37407,1),(37413,1),(37442,1),(37443,1),(37444,1),(37452,1),(37454,1),(37463,1),(37467,1),(37469,1),(37470,1),(37477,1),(37485,1),(37488,1),(37502,1),(37507,1),(37518,1),(37525,1),(37531,1),(37534,1),(37537,1),(37547,1),(37553,1),(37556,1),(37578,1),(37593,1),(37596,1),(37598,1),(37602,1),(37613,1),(37620,1),(37622,1),(37625,1),(37633,1),(37634,1),(37639,1),(37646,1),(37649,1),(37650,1),(37655,1),(37658,1),(37663,1),(37666,1),(37673,1),(37676,1),(37678,1),(37683,1),(37701,1),(37705,1),(37709,1),(37718,1),(37719,1),(37720,1),(37723,1),(37750,1),(37768,1),(37774,1),(37775,1),(37777,1),(37781,1),(37782,1),(37787,1),(37789,1),(37798,1),(37802,1),(37836,1),(37846,1),(37849,1),(37850,1),(37853,1),(37859,1),(37860,1),(37862,1),(37876,1),(37879,1),(37882,1),(37896,1),(37899,1),(37901,1),(37906,1),(37907,1),(37919,1),(37933,1),(37936,1),(37940,1),(37941,1),(37945,1),(37947,1),(37952,1),(37958,1),(37961,1),(37972,1),(37984,1),(37985,1),(37987,1),(37994,1),(38002,1),(38004,1),(38009,1),(38016,1),(38021,1),(38043,1),(38046,1),(38047,1),(38049,1),(38065,1),(38068,1),(38070,1),(38075,1),(38076,1),(38090,1),(38096,1),(38099,1),(38103,1),(38108,1),(38112,1),(38134,1),(38137,1),(38143,1),(38149,1),(38152,1),(38159,1),(38162,1),(38168,1),(38180,1),(38183,1),(38186,1),(38205,1),(38209,1),(38224,1),(38228,1),(38230,1),(38243,1),(38246,1),(38250,1),(38252,1),(38255,1),(38265,1),(38268,1),(38271,1),(38273,1),(38274,1),(38276,1),(38281,1),(38295,1),(38296,1),(38300,1),(38301,1),(38309,1),(38312,1),(38313,1),(38317,1),(38318,1),(38320,1),(38326,1),(38341,1),(38344,1),(38347,1),(38349,1),(38354,1),(38361,1),(38373,1),(38376,1),(38403,1),(38409,1),(38433,1),(38434,1),(38442,1),(38447,1),(38451,1),(38468,1),(38472,1),(38475,1),(38482,1),(38484,1),(38493,1),(38498,1),(38499,1),(38504,1),(38508,1),(38509,1),(38512,1),(38519,1),(38521,1),(38523,1),(38525,1),(38541,1),(38545,1),(38550,1),(38554,1),(38559,1),(38566,1),(38568,1),(38571,1),(38574,1),(38577,1),(38578,1),(38579,1),(38585,1),(38592,1),(38593,1),(38594,1),(38612,1),(38613,1),(38615,1),(38635,1),(38637,1),(38640,1),(38646,1),(38647,1),(38654,1),(38659,1),(38660,1),(38669,1),(38674,1),(38677,1),(38680,1),(38684,1),(38692,1),(38693,1),(38700,1),(38703,1),(38718,1),(38724,1),(38735,1),(38738,1),(38744,1),(38747,1),(38748,1),(38749,1),(38759,1),(38766,1),(38783,1),(38787,1),(38794,1),(38795,1),(38796,1),(38800,1),(38807,1),(38808,1),(38811,1),(38812,1),(38815,1),(38817,1),(38842,1),(38847,1),(38851,1),(38852,1),(38855,1),(38859,1),(38860,1),(38866,1),(38867,1),(38876,1),(38882,1),(38884,1),(38891,1),(38892,1),(38895,1),(38910,1),(38916,1),(38920,1),(38922,1),(38924,1),(38928,1),(38932,1),(38945,1),(38956,1),(38960,1),(38972,1),(38973,1),(38974,1),(38975,1),(38993,1),(39004,1),(39005,1),(39009,1),(39011,1),(39015,1),(39016,1),(39019,1),(39022,1),(39024,1),(39026,1),(39030,1),(39043,1),(39047,1),(39055,1),(39067,1),(39069,1),(39083,1),(39100,1),(39104,1),(39105,1),(39113,1),(39126,1),(39134,1),(39138,1),(39140,1),(39141,1),(39143,1),(39147,1),(39148,1),(39162,1),(39179,1),(39188,1),(39193,1),(39194,1),(39197,1),(39207,1),(39221,1),(39226,1),(39232,1),(39233,1),(39235,1),(39242,1),(39249,1),(39250,1),(39251,1),(39255,1),(39259,1),(39262,1),(39265,1),(39270,1),(39272,1),(39282,1),(39284,1),(39289,1),(39294,1),(39297,1),(39298,1),(39299,1),(39307,1),(39310,1),(39322,1),(39328,1),(39338,1),(39340,1),(39345,1),(39348,1),(39349,1),(39360,1),(39389,1),(39397,1),(39406,1),(39409,1),(39417,1),(39423,1),(39424,1),(39425,1),(39426,1),(39432,1),(39442,1),(39443,1),(39446,1),(39464,1),(39465,1),(39468,1),(39469,1),(39473,1),(39475,1),(39478,1),(39488,1),(39491,1),(39493,1),(39499,1),(39508,1),(39516,1),(39525,1),(39530,1),(39537,1),(39543,1),(39544,1),(39546,1),(39547,1),(39549,1),(39554,1),(39556,1),(39565,1),(39566,1),(39584,1),(39592,1),(39595,1),(39600,1),(39602,1),(39606,1),(39607,1),(39610,1),(39615,1),(39635,1),(39636,1),(39639,1),(39649,1),(39655,1),(39660,1),(39661,1),(39662,1),(39667,1),(39677,1),(39678,1),(39685,1),(39693,1),(39696,1),(39708,1),(39721,1),(39726,1),(39728,1),(39731,1),(39739,1),(39742,1),(39749,1),(39753,1),(39759,1),(39767,1),(39769,1),(39777,1),(39785,1),(39795,1),(39799,1),(39801,1),(39805,1),(39816,1),(39819,1),(39823,1),(39828,1),(39834,1),(39835,1),(39838,1),(39846,1),(39849,1),(39852,1),(39856,1),(39859,1),(39867,1),(39877,1),(39878,1),(39879,1),(39892,1),(39896,1),(39908,1),(39919,1),(39925,1),(39933,1),(39935,1),(39937,1),(39942,1),(39944,1),(39948,1),(39949,1),(39952,1),(39966,1),(39975,1),(39983,1),(40005,1),(40011,1),(40014,1),(40019,1),(40046,1),(40049,1),(40052,1),(40054,1),(40055,1),(40061,1),(40063,1),(40065,1),(40069,1),(40074,1),(40080,1),(40084,1),(40087,1),(40088,1),(40089,1),(40093,1),(40102,1),(40105,1),(40114,1),(40122,1),(40126,1),(40131,1),(40132,1),(40134,1),(40137,1),(40139,1),(40141,1),(40144,1),(40148,1),(40152,1),(40158,1),(40161,1),(40174,1),(40175,1),(40178,1),(40186,1),(40197,1),(40198,1),(40201,1),(40204,1),(40218,1),(40227,1),(40237,1),(40238,1),(40242,1),(40245,1),(40246,1),(40249,1),(40253,1),(40257,1),(40264,1),(40271,1),(40272,1),(40276,1),(40284,1),(40290,1),(40294,1),(40295,1),(40299,1),(40303,1),(40306,1),(40309,1),(40310,1),(40313,1),(40324,1),(40327,1),(40331,1),(40335,1),(40349,1),(40363,1),(40365,1),(40382,1),(40383,1),(40384,1),(40393,1),(40402,1),(40408,1),(40411,1),(40414,1),(40419,1),(40424,1),(40428,1),(40441,1),(40442,1),(40451,1),(40452,1),(40461,1),(40468,1),(40476,1),(40477,1),(40486,1),(40487,1),(40488,1),(40503,1),(40513,1),(40515,1),(40516,1),(40526,1),(40528,1),(40540,1),(40545,1),(40552,1),(40556,1),(40562,1),(40565,1),(40566,1),(40568,1),(40584,1),(40610,1),(40612,1),(40621,1),(40622,1),(40624,1),(40638,1),(40642,1),(40644,1),(40648,1),(40651,1),(40657,1),(40663,1),(40665,1),(40677,1),(40682,1),(40695,1),(40710,1),(40711,1),(40720,1),(40721,1),(40722,1),(40725,1),(40726,1),(40731,1),(40734,1),(40736,1),(40740,1),(40753,1),(40754,1),(40759,1),(40764,1),(40775,1),(40783,1),(40789,1),(40800,1),(40801,1),(40818,1),(40827,1),(40828,1),(40835,1),(40839,1),(40841,1),(40843,1),(40860,1),(40869,1),(40874,1),(40876,1),(40880,1),(40891,1),(40900,1),(40908,1),(40909,1),(40916,1),(40918,1),(40921,1),(40924,1),(40929,1),(40937,1),(40938,1),(40941,1),(40944,1),(40945,1),(40952,1),(40955,1),(40976,1),(40983,1),(40989,1),(40991,1),(41004,1),(41011,1),(41012,1),(41019,1),(41023,1),(41025,1),(41041,1),(41043,1),(41058,1),(41059,1),(41063,1),(41076,1),(41078,1),(41085,1),(41090,1),(41097,1),(41104,1),(41134,1),(41137,1),(41140,1),(41144,1),(41146,1),(41149,1),(41167,1),(41177,1),(41181,1),(41196,1),(41197,1),(41199,1),(41204,1),(41206,1),(41208,1),(41215,1),(41219,1),(41226,1),(41234,1),(41235,1),(41242,1),(41267,1),(41269,1),(41271,1),(41272,1),(41273,1),(41284,1),(41287,1),(41295,1),(41298,1),(41321,1),(41324,1),(41325,1),(41332,1),(41334,1),(41337,1),(41338,1),(41340,1),(41354,1),(41367,1),(41376,1),(41382,1),(41385,1),(41394,1),(41401,1),(41405,1),(41408,1),(41411,1),(41413,1),(41422,1),(41434,1),(41435,1),(41440,1),(41447,1),(41451,1),(41453,1),(41455,1),(41457,1),(41463,1),(41486,1),(41496,1),(41500,1),(41502,1),(41509,1),(41515,1),(41519,1),(41525,1),(41536,1),(41545,1),(41552,1),(41553,1),(41571,1),(41580,1),(41585,1),(41587,1),(41597,1),(41602,1),(41605,1),(41609,1),(41612,1),(41613,1),(41619,1),(41626,1),(41636,1),(41640,1),(41656,1),(41667,1),(41672,1),(41673,1),(41676,1),(41680,1),(41685,1),(41688,1),(41690,1),(41691,1),(41697,1),(41701,1),(41704,1),(41709,1),(41721,1),(41724,1),(41747,1),(41751,1),(41752,1),(41759,1),(41767,1),(41779,1),(41789,1),(41796,1),(41803,1),(41816,1),(41819,1),(41823,1),(41828,1),(41849,1),(41853,1),(41863,1),(41871,1),(41877,1),(41880,1),(41897,1),(41898,1),(41902,1),(41906,1),(41909,1),(41910,1),(41911,1),(41913,1),(41922,1),(41928,1),(41938,1),(41941,1),(41949,1),(41953,1),(41957,1),(41958,1),(41972,1),(41986,1),(41988,1),(41997,1),(41998,1),(42003,1),(42010,1),(42017,1),(42020,1),(42027,1),(42036,1),(42041,1),(42051,1),(42062,1),(42076,1),(42078,1),(42090,1),(42093,1),(42097,1),(42113,1),(42117,1),(42129,1),(42142,1),(42146,1),(42159,1),(42165,1),(42186,1),(42200,1),(42209,1),(42219,1),(42223,1),(42225,1),(42240,1),(42245,1),(42247,1),(42249,1),(42260,1),(42262,1),(42271,1),(42274,1),(42279,1),(42280,1),(42285,1),(42287,1),(42291,1),(42297,1),(42305,1),(42314,1),(42315,1),(42324,1),(42327,1),(42334,1),(42343,1),(42346,1),(42353,1),(42359,1),(42362,1),(42372,1),(42373,1),(42377,1),(42381,1),(42392,1),(42399,1),(42400,1),(42402,1),(42406,1),(42407,1),(42455,1),(42471,1),(42479,1),(42489,1),(42490,1),(42504,1),(42505,1),(42507,1),(42512,1),(42521,1),(42528,1),(42532,1),(42535,1),(42543,1),(42550,1),(42553,1),(42554,1),(42555,1),(42559,1),(42565,1),(42572,1),(42580,1),(42584,1),(42587,1),(42593,1),(42597,1),(42600,1),(42601,1),(42610,1),(42616,1),(42624,1),(42647,1),(42658,1),(42661,1),(42663,1),(42664,1),(42665,1),(42671,1),(42676,1),(42677,1),(42684,1),(42696,1),(42700,1),(42701,1),(42707,1),(42709,1),(42710,1),(42711,1),(42718,1),(42719,1),(42724,1),(42731,1),(42732,1),(42737,1),(42763,1),(42764,1),(42771,1),(42777,1),(42799,1),(42809,1),(42812,1),(42826,1),(42828,1),(42831,1),(42832,1),(42845,1),(42852,1),(42885,1),(42888,1),(42893,1),(42896,1),(42905,1),(42909,1),(42911,1),(42923,1),(42927,1),(42930,1),(42933,1),(42936,1),(42937,1),(42940,1),(42944,1),(42949,1),(42950,1),(42955,1),(42963,1),(42965,1),(42969,1),(42974,1),(42993,1),(42994,1),(43026,1),(43034,1),(43044,1),(43048,1),(43057,1),(43058,1),(43060,1),(43069,1),(43079,1),(43087,1),(43092,1),(43095,1),(43101,1),(43104,1),(43107,1),(43108,1),(43109,1),(43117,1),(43126,1),(43132,1),(43147,1),(43150,1),(43157,1),(43166,1),(43167,1),(43169,1),(43171,1),(43173,1),(43177,1),(43183,1),(43188,1),(43190,1),(43192,1),(43197,1),(43201,1),(43203,1),(43219,1),(43229,1),(43230,1),(43238,1),(43240,1),(43246,1),(43249,1),(43288,1),(43292,1),(43294,1),(43302,1),(43322,1),(43341,1),(43342,1),(43351,1),(43352,1),(43353,1),(43360,1),(43362,1),(43364,1),(43373,1),(43378,1),(43386,1),(43390,1),(43393,1),(43403,1),(43408,1),(43414,1),(43419,1),(43440,1),(43445,1),(43462,1),(43475,1),(43481,1),(43485,1),(43513,1),(43524,1),(43552,1),(43556,1),(43557,1),(43566,1),(43589,1),(43593,1),(43599,1),(43612,1),(43614,1),(43623,1),(43626,1),(43628,1),(43634,1),(43646,1),(43660,1),(43662,1),(43663,1),(43665,1),(43674,1),(43677,1),(43682,1),(43688,1),(43690,1),(43694,1),(43695,1),(43702,1),(43703,1),(43705,1),(43715,1),(43719,1),(43724,1),(43730,1),(43734,1),(43747,1),(43750,1),(43757,1),(43767,1),(43780,1),(43782,1),(43792,1),(43796,1),(43802,1),(43805,1),(43809,1),(43811,1),(43812,1),(43817,1),(43822,1),(43832,1),(43834,1),(43847,1),(43852,1),(43857,1),(43858,1),(43901,1),(43903,1),(43906,1),(43910,1),(43924,1),(43938,1),(43941,1),(43949,1),(43951,1),(43959,1),(43960,1),(43972,1),(43978,1),(43980,1),(43982,1),(43986,1),(43990,1),(43996,1),(43999,1),(44012,1),(44014,1),(44022,1),(44033,1),(44038,1),(44040,1),(44061,1),(44090,1),(44092,1),(44098,1),(44100,1),(44116,1),(44124,1),(44128,1),(44135,1),(44136,1),(44139,1),(44147,1),(44150,1),(44151,1),(44152,1),(44153,1),(44162,1),(44170,1),(44192,1),(44194,1),(44200,1),(44207,1),(44212,1),(44223,1),(44226,1),(44250,1),(44251,1),(44271,1),(44272,1),(44276,1),(44281,1),(44286,1),(44287,1),(44292,1),(44294,1),(44304,1),(44306,1),(44317,1),(44323,1),(44324,1),(44326,1),(44330,1),(44338,1),(44343,1),(44348,1),(44360,1),(44369,1),(44373,1),(44374,1),(44375,1),(44376,1),(44377,1),(44381,1),(44385,1),(44393,1),(44400,1),(44411,1),(44418,1),(44428,1),(44435,1),(44447,1),(44455,1),(44457,1),(44459,1),(44460,1),(44466,1),(44469,1),(44472,1),(44486,1),(44498,1),(44513,1),(44522,1),(44527,1),(44532,1),(44535,1),(44539,1),(44545,1),(44546,1),(44555,1),(44561,1),(44579,1),(44581,1),(44583,1),(44584,1),(44592,1),(44629,1),(44639,1),(44643,1),(44657,1),(44666,1),(44682,1),(44683,1),(44687,1),(44692,1),(44705,1),(44712,1),(44717,1),(44726,1),(44729,1),(44730,1),(44733,1),(44738,1),(44743,1),(44746,1),(44750,1),(44760,1),(44770,1),(44772,1),(44776,1),(44777,1),(44779,1),(44780,1),(44781,1),(44785,1),(44786,1),(44812,1),(44813,1),(44814,1),(44823,1),(44830,1),(44847,1),(44850,1),(44855,1),(44856,1),(44862,1),(44865,1),(44866,1),(44874,1),(44876,1),(44879,1),(44883,1),(44889,1),(44890,1),(44891,1),(44900,1),(44901,1),(44908,1),(44909,1),(44914,1),(44931,1),(44937,1),(44942,1),(44945,1),(44947,1),(44953,1),(44957,1),(44961,1),(44962,1),(44969,1),(44970,1),(44972,1),(44977,1),(44980,1),(44983,1),(44995,1),(44997,1),(45007,1),(45009,1),(45016,1),(45020,1),(45028,1),(45029,1),(45030,1),(45035,1),(45050,1),(45061,1),(45082,1),(45092,1),(45119,1),(45130,1),(45136,1),(45139,1),(45146,1),(45148,1),(45150,1),(45158,1),(45175,1),(45179,1),(45182,1),(45191,1),(45192,1),(45210,1),(45216,1),(45217,1),(45223,1),(45230,1),(45231,1),(45234,1),(45238,1),(45245,1),(45250,1),(45263,1),(45267,1),(45276,1),(45284,1),(45289,1),(45296,1),(45300,1),(45308,1),(45320,1),(45321,1),(45322,1),(45323,1),(45331,1),(45335,1),(45346,1),(45348,1),(45350,1),(45352,1),(45357,1),(45359,1),(45364,1),(45367,1),(45382,1),(45383,1),(45385,1),(45386,1),(45389,1),(45395,1),(45399,1),(45405,1),(45414,1),(45415,1),(45426,1),(45433,1),(45434,1),(45442,1),(45444,1),(45446,1),(45450,1),(45452,1),(45454,1),(45466,1),(45479,1),(45485,1),(45490,1),(45493,1),(45495,1),(45496,1),(45499,1),(45508,1),(45509,1),(45512,1),(45514,1),(45517,1),(45522,1),(45523,1),(45527,1),(45533,1),(45538,1),(45539,1),(45542,1),(45543,1),(45544,1),(45549,1),(45551,1),(45558,1),(45569,1),(45570,1),(45575,1),(45582,1),(45583,1),(45584,1),(45591,1),(45603,1),(45606,1),(45611,1),(45616,1),(45619,1),(45621,1),(45623,1),(45624,1),(45627,1),(45632,1),(45639,1),(45645,1),(45647,1),(45654,1),(45655,1),(45662,1),(45665,1),(45666,1),(45669,1),(45679,1),(45706,1),(45713,1),(45716,1),(45718,1),(45741,1),(45743,1),(45750,1),(45753,1),(45754,1),(45761,1),(45763,1),(45774,1),(45777,1),(45781,1),(45795,1),(45802,1),(45809,1),(45834,1),(45837,1),(45841,1),(45844,1),(45851,1),(45854,1),(45871,1),(45874,1),(45887,1),(45894,1),(45899,1),(45904,1),(45927,1),(45929,1),(45931,1),(45943,1),(45960,1),(45971,1),(45973,1),(45977,1),(45979,1),(45985,1),(46005,1),(46027,1),(46029,1),(46031,1),(46032,1),(46037,1),(46038,1),(46059,1),(46062,1),(46071,1),(46073,1),(46076,1),(46096,1),(46098,1),(46099,1),(46106,1),(46108,1),(46124,1),(46130,1),(46132,1),(46135,1),(46142,1),(46144,1),(46153,1),(46160,1),(46166,1),(46169,1),(46176,1),(46195,1),(46198,1),(46203,1),(46206,1),(46209,1),(46215,1),(46219,1),(46229,1),(46231,1),(46234,1),(46236,1),(46239,1),(46241,1),(46243,1),(46251,1),(46252,1),(46254,1),(46262,1),(46263,1),(46266,1),(46273,1),(46276,1),(46282,1),(46286,1),(46292,1),(46300,1),(46303,1),(46307,1),(46308,1),(46327,1),(46332,1),(46334,1),(46339,1),(46345,1),(46357,1),(46358,1),(46372,1),(46377,1),(46380,1),(46384,1),(46390,1),(46393,1),(46399,1),(46413,1),(46421,1),(46425,1),(46435,1),(46445,1),(46451,1),(46453,1),(46469,1),(46470,1),(46474,1),(46484,1),(46488,1),(46502,1),(46507,1),(46509,1),(46513,1),(46525,1),(46527,1),(46532,1),(46559,1),(46571,1),(46577,1),(46586,1),(46588,1),(46597,1),(46598,1),(46599,1),(46608,1),(46614,1),(46620,1),(46636,1),(46640,1),(46647,1),(46652,1),(46658,1),(46659,1),(46695,1),(46697,1),(46705,1),(46712,1),(46720,1),(46725,1),(46727,1),(46730,1),(46732,1),(46733,1),(46738,1),(46742,1),(46743,1),(46754,1),(46757,1),(46762,1),(46770,1),(46777,1),(46787,1),(46796,1),(46805,1),(46806,1),(46807,1),(46814,1),(46816,1),(46822,1),(46825,1),(46837,1),(46858,1),(46862,1),(46867,1),(46875,1),(46881,1),(46888,1),(46892,1),(46897,1),(46898,1),(46904,1),(46906,1),(46910,1),(46930,1),(46941,1),(46943,1),(46951,1),(46953,1),(46954,1),(46955,1),(46960,1),(46961,1),(46970,1),(46972,1),(46976,1),(46978,1),(46982,1),(46989,1),(46993,1),(47000,1),(47004,1),(47006,1),(47012,1),(47015,1),(47022,1),(47025,1),(47049,1),(47051,1),(47055,1),(47060,1),(47071,1),(47079,1),(47085,1),(47087,1),(47089,1),(47097,1),(47103,1),(47104,1),(47109,1),(47123,1),(47127,1),(47129,1),(47131,1),(47138,1),(47161,1),(47165,1),(47169,1),(47172,1),(47175,1),(47178,1),(47202,1),(47205,1),(47226,1),(47227,1),(47236,1),(47238,1),(47239,1),(47244,1),(47245,1),(47248,1),(47255,1),(47262,1),(47272,1),(47274,1),(47288,1),(47299,1),(47309,1),(47310,1),(47314,1),(47317,1),(47336,1),(47345,1),(47348,1),(47353,1),(47355,1),(47357,1),(47364,1),(47365,1),(47368,1),(47371,1),(47375,1),(47381,1),(47387,1),(47394,1),(47395,1),(47396,1),(47398,1),(47403,1),(47408,1),(47423,1),(47425,1),(47432,1),(47436,1),(47442,1),(47443,1),(47447,1),(47454,1),(47459,1),(47461,1),(47462,1),(47476,1),(47478,1),(47480,1),(47488,1),(47494,1),(47505,1),(47519,1),(47520,1),(47527,1),(47528,1),(47529,1),(47532,1),(47541,1),(47546,1),(47554,1),(47564,1),(47565,1),(47574,1),(47576,1),(47578,1),(47586,1),(47595,1),(47607,1),(47608,1),(47611,1),(47615,1),(47620,1),(47622,1),(47625,1),(47632,1),(47639,1),(47640,1),(47646,1),(47658,1),(47659,1),(47664,1),(47667,1),(47668,1),(47669,1),(47682,1),(47689,1),(47704,1),(47708,1),(47727,1),(47731,1),(47736,1),(47737,1),(47738,1),(47740,1),(47742,1),(47751,1),(47753,1),(47754,1),(47755,1),(47767,1),(47769,1),(47771,1),(47800,1),(47812,1),(47823,1),(47824,1),(47831,1),(47843,1),(47845,1),(47848,1),(47852,1),(47854,1),(47858,1),(47867,1),(47868,1),(47871,1),(47872,1),(47880,1),(47888,1),(47889,1),(47891,1),(47898,1),(47899,1),(47900,1),(47903,1),(47906,1),(47910,1),(47915,1),(47932,1),(47933,1),(47934,1),(47935,1),(47942,1),(47946,1),(47954,1),(47958,1),(47980,1),(47981,1),(47984,1),(47992,1),(47999,1),(48001,1),(48036,1),(48055,1),(48059,1),(48063,1),(48065,1),(48070,1),(48082,1),(48086,1),(48104,1),(48106,1),(48121,1),(48140,1),(48142,1),(48145,1),(48154,1),(48161,1),(48162,1),(48180,1),(48181,1),(48187,1),(48191,1),(48194,1),(48198,1),(48203,1),(48204,1),(48207,1),(48211,1),(48216,1),(48228,1),(48229,1),(48237,1),(48246,1),(48251,1),(48256,1),(48262,1),(48268,1),(48270,1),(48275,1),(48279,1),(48280,1),(48281,1),(48282,1),(48287,1),(48289,1),(48299,1),(48302,1),(48306,1),(48307,1),(48309,1),(48312,1),(48315,1),(48329,1),(48334,1),(48336,1),(48347,1),(48350,1),(48355,1),(48357,1),(48373,1),(48381,1),(48385,1),(48388,1),(48394,1),(48395,1),(48396,1),(48408,1),(48409,1),(48411,1),(48422,1),(48426,1),(48437,1),(48441,1),(48443,1),(48449,1),(48451,1),(48452,1),(48472,1),(48476,1),(48483,1),(48493,1),(48496,1),(48511,1),(48513,1),(48514,1),(48515,1),(48522,1),(48523,1),(48527,1),(48540,1),(48547,1),(48556,1),(48558,1),(48560,1),(48567,1),(48577,1),(48579,1),(48586,1),(48599,1),(48602,1),(48605,1),(48608,1),(48613,1),(48623,1),(48626,1),(48628,1),(48631,1),(48640,1),(48641,1),(48642,1),(48648,1),(48652,1),(48670,1),(48676,1),(48681,1),(48689,1),(48707,1),(48712,1),(48717,1),(48724,1),(48727,1),(48728,1),(48735,1),(48742,1),(48746,1),(48748,1),(48751,1),(48752,1),(48753,1),(48758,1),(48762,1),(48764,1),(48765,1),(48766,1),(48776,1),(48786,1),(48797,1),(48804,1),(48816,1),(48821,1),(48843,1),(48846,1),(48848,1),(48853,1),(48855,1),(48859,1),(48868,1),(48873,1),(48874,1),(48884,1),(48888,1),(48897,1),(48904,1),(48911,1),(48922,1),(48924,1),(48931,1),(48939,1),(48942,1),(48949,1),(48954,1),(48960,1),(48962,1),(48966,1),(48979,1),(48988,1),(48989,1),(48991,1),(48997,1),(48998,1),(49000,1),(49011,1),(49023,1),(49029,1),(49030,1),(49039,1),(49040,1),(49045,1),(49048,1),(49052,1),(49056,1),(49057,1),(49063,1),(49064,1),(49067,1),(49070,1),(49073,1),(49080,1),(49081,1),(49090,1),(49097,1),(49102,1),(49121,1),(49128,1),(49133,1),(49139,1),(49141,1),(49148,1),(49162,1),(49164,1),(49168,1),(49169,1),(49175,1),(49178,1),(49179,1),(49184,1),(49185,1),(49186,1),(49190,1),(49199,1),(49207,1),(49209,1),(49212,1),(49213,1),(49221,1),(49227,1),(49231,1),(49232,1),(49245,1),(49249,1),(49251,1),(49264,1),(49266,1),(49271,1),(49275,1),(49279,1),(49280,1),(49291,1),(49294,1),(49305,1),(49308,1),(49309,1),(49325,1),(49327,1),(49333,1),(49335,1),(49343,1),(49355,1),(49363,1),(49368,1),(49369,1),(49376,1),(49399,1),(49406,1),(49407,1),(49413,1),(49424,1),(49440,1),(49446,1),(49447,1),(49455,1),(49465,1),(49475,1),(49476,1),(49478,1),(49481,1),(49483,1),(49484,1),(49493,1),(49494,1),(49496,1),(49503,1),(49520,1),(49539,1),(49544,1),(49547,1),(49549,1),(49553,1),(49557,1),(49561,1),(49574,1),(49581,1),(49598,1),(49600,1),(49602,1),(49607,1),(49612,1),(49616,1),(49618,1),(49624,1),(49633,1),(49638,1),(49644,1),(49646,1),(49653,1),(49674,1),(49677,1),(49707,1),(49708,1),(49710,1),(49716,1),(49722,1),(49723,1),(49734,1),(49739,1),(49743,1),(49746,1),(49749,1),(49759,1),(49762,1),(49764,1),(49768,1),(49772,1),(49778,1),(49785,1),(49786,1),(49790,1),(49798,1),(49802,1),(49818,1),(49823,1),(49834,1),(49847,1),(49851,1),(49852,1),(49854,1),(49857,1),(49861,1),(49875,1),(49881,1),(49898,1),(49904,1),(49910,1),(49917,1),(49924,1),(49927,1),(49929,1),(49933,1),(49936,1),(49939,1),(49940,1),(49946,1),(49950,1),(49962,1),(49969,1),(49970,1),(49978,1),(49981,1),(49992,1),(49995,1),(50000,1),(50006,1),(50018,1),(50023,1),(50033,1),(50048,1),(50056,1),(50059,1),(50070,1),(50085,1),(50087,1),(50091,1),(50098,1),(50104,1),(50108,1),(50109,1),(50115,1),(50126,1),(50127,1),(50139,1),(50141,1),(50152,1),(50155,1),(50156,1),(50159,1),(50163,1),(50164,1),(50169,1),(50182,1),(50194,1),(50201,1),(50203,1),(50210,1),(50217,1),(50219,1),(50225,1),(50235,1),(50236,1),(50250,1),(50259,1),(50269,1),(50270,1),(50276,1),(50283,1),(50293,1),(50294,1),(50306,1),(50313,1),(50323,1),(50345,1),(50352,1),(50356,1),(50357,1),(50368,1),(50369,1),(50370,1),(50379,1),(50397,1),(50400,1),(50404,1),(50407,1),(50429,1),(50435,1),(50460,1),(50482,1),(50483,1),(50494,1),(50500,1),(50501,1),(50509,1),(50510,1),(50514,1),(50515,1),(50516,1),(50525,1),(50529,1),(50534,1),(50544,1),(50551,1),(50553,1),(50554,1),(50556,1),(50561,1),(50562,1),(50563,1),(50569,1),(50571,1),(50576,1),(50579,1),(50612,1),(50618,1),(50622,1),(50627,1),(50639,1),(50644,1),(50647,1),(50650,1),(50654,1),(50671,1),(50679,1),(50680,1),(50682,1),(50688,1),(50691,1),(50692,1),(50693,1),(50699,1),(50700,1),(50705,1),(50706,1),(50712,1),(50715,1),(50717,1),(50720,1),(50726,1),(50732,1),(50741,1),(50760,1),(50761,1),(50767,1),(50769,1),(50777,1),(50782,1),(50785,1),(50804,1),(50809,1),(50810,1),(50823,1),(50831,1),(50832,1),(50837,1),(50841,1),(50842,1),(50849,1),(50850,1),(50851,1),(50852,1),(50866,1),(50870,1),(50871,1),(50877,1),(50882,1),(50890,1),(50897,1),(50902,1),(50904,1),(50910,1),(50911,1),(50912,1),(50920,1),(50923,1),(50926,1),(50928,1),(50932,1),(50936,1),(50943,1),(50950,1),(50951,1),(50952,1),(50969,1),(50979,1),(50982,1),(50984,1),(50990,1),(50992,1),(51003,1),(51019,1),(51034,1),(51059,1),(51064,1),(51073,1),(51100,1),(51106,1),(51109,1),(51112,1),(51116,1),(51119,1),(51128,1),(51129,1),(51140,1),(51141,1),(51143,1),(51146,1),(51158,1),(51170,1),(51173,1),(51174,1),(51176,1),(51178,1),(51188,1),(51197,1),(51198,1),(51210,1),(51226,1),(51239,1),(51245,1),(51247,1),(51253,1),(51258,1),(51260,1),(51264,1),(51265,1),(51271,1),(51276,1),(51282,1),(51287,1),(51291,1),(51300,1),(51308,1),(51313,1),(51318,1),(51320,1),(51331,1),(51338,1),(51340,1),(51341,1),(51347,1),(51352,1),(51367,1),(51378,1),(51382,1),(51384,1),(51386,1),(51390,1),(51392,1),(51394,1),(51395,1),(51396,1),(51402,1),(51403,1),(51404,1),(51412,1),(51417,1),(51422,1),(51424,1),(51428,1),(51430,1),(51442,1),(51471,1),(51477,1),(51492,1),(51506,1),(51508,1),(51521,1),(51524,1),(51525,1),(51529,1),(51531,1),(51537,1),(51539,1),(51546,1),(51550,1),(51553,1),(51560,1),(51565,1),(51567,1),(51572,1),(51582,1),(51593,1),(51600,1),(51607,1),(51618,1),(51621,1),(51625,1),(51636,1),(51649,1),(51652,1),(51654,1),(51657,1),(51662,1),(51673,1),(51688,1),(51693,1),(51694,1),(51697,1),(51701,1),(51702,1),(51712,1),(51718,1),(51721,1),(51724,1),(51729,1),(51730,1),(51748,1),(51751,1),(51757,1),(51764,1),(51773,1),(51780,1),(51782,1),(51795,1),(51804,1),(51810,1),(51812,1),(51824,1),(51825,1),(51828,1),(51829,1),(51831,1),(51839,1),(51840,1),(51850,1),(51854,1),(51858,1),(51859,1),(51860,1),(51867,1),(51882,1),(51887,1),(51888,1),(51901,1),(51905,1),(51908,1),(51921,1),(51939,1),(51950,1),(51962,1),(51972,1),(51974,1),(51975,1),(51981,1),(51987,1),(52002,1),(52004,1),(52005,1),(52007,1),(52011,1),(52012,1),(52015,1),(52016,1),(52023,1),(52026,1),(52027,1),(52041,1),(52054,1),(52055,1),(52056,1),(52070,1),(52072,1),(52078,1),(52097,1),(52098,1),(52114,1),(52122,1),(52131,1),(52145,1),(52147,1),(52149,1),(52154,1),(52159,1),(52165,1),(52167,1),(52171,1),(52173,1),(52175,1),(52176,1),(52177,1),(52191,1),(52193,1),(52202,1),(52205,1),(52207,1),(52210,1),(52211,1),(52214,1),(52220,1),(52246,1),(52248,1),(52250,1),(52260,1),(52263,1),(52264,1),(52282,1),(52284,1),(52285,1),(52289,1),(52290,1),(52303,1),(52308,1),(52309,1),(52323,1),(52325,1),(52335,1),(52338,1),(52356,1),(52358,1),(52359,1),(52368,1),(52372,1),(52395,1),(52396,1),(52403,1),(52409,1),(52410,1),(52413,1),(52416,1),(52422,1),(52427,1),(52430,1),(52438,1),(52443,1),(52446,1),(52455,1),(52461,1),(52469,1),(52471,1),(52477,1),(52480,1),(52488,1),(52496,1),(52498,1),(52509,1),(52510,1),(52511,1),(52524,1),(52535,1),(52536,1),(52544,1),(52549,1),(52551,1),(52557,1),(52560,1),(52561,1),(52562,1),(52564,1),(52568,1),(52577,1),(52581,1),(52582,1),(52583,1),(52586,1),(52587,1),(52593,1),(52594,1),(52595,1),(52597,1),(52599,1),(52618,1),(52631,1),(52634,1),(52635,1),(52637,1),(52641,1),(52647,1),(52650,1),(52651,1),(52657,1),(52661,1),(52664,1),(52668,1),(52669,1),(52678,1),(52685,1),(52688,1),(52689,1),(52692,1),(52694,1),(52702,1),(52705,1),(52707,1),(52712,1),(52713,1),(52718,1),(52732,1),(52741,1),(52747,1),(52751,1),(52752,1),(52766,1),(52778,1),(52782,1),(52793,1),(52797,1),(52799,1),(52816,1),(52820,1),(52827,1),(52828,1),(52834,1),(52839,1),(52844,1),(52847,1),(52857,1),(52864,1),(52865,1),(52870,1),(52875,1),(52901,1),(52917,1),(52918,1),(52924,1),(52940,1),(52948,1),(52957,1),(52958,1),(52959,1),(52978,1),(52979,1),(53001,1),(53005,1),(53012,1),(53024,1),(53027,1),(53029,1),(53032,1),(53041,1),(53049,1),(53057,1),(53065,1),(53075,1),(53088,1),(53097,1),(53107,1),(53118,1),(53120,1),(53122,1),(53134,1),(53138,1),(53159,1),(53165,1),(53166,1),(53176,1),(53186,1),(53190,1),(53200,1),(53205,1),(53207,1),(53216,1),(53233,1),(53239,1),(53241,1),(53251,1),(53255,1),(53270,1),(53285,1),(53294,1),(53310,1),(53313,1),(53326,1),(53328,1),(53329,1),(53339,1),(53349,1),(53362,1),(53378,1),(53382,1),(53392,1),(53393,1),(53395,1),(53398,1),(53399,1),(53408,1),(53426,1),(53427,1),(53429,1),(53430,1),(53442,1),(53444,1),(53446,1),(53448,1),(53452,1),(53453,1),(53457,1),(53463,1),(53465,1),(53477,1),(53504,1),(53516,1),(53525,1),(53533,1),(53541,1),(53553,1),(53554,1),(53557,1),(53566,1),(53569,1),(53575,1),(53577,1),(53581,1),(53588,1),(53590,1),(53598,1),(53604,1),(53615,1),(53619,1),(53624,1),(53633,1),(53635,1),(53637,1),(53650,1),(53651,1),(53658,1),(53663,1),(53667,1),(53688,1),(53690,1),(53702,1),(53703,1),(53709,1),(53746,1),(53749,1),(53758,1),(53760,1),(53769,1),(53771,1),(53790,1),(53792,1),(53801,1),(53803,1),(53815,1),(53817,1),(53824,1),(53826,1),(53835,1),(53845,1),(53846,1),(53849,1),(53853,1),(53861,1),(53863,1),(53868,1),(53882,1),(53885,1),(53890,1),(53891,1),(53900,1),(53904,1),(53913,1),(53923,1),(53928,1),(53934,1),(53936,1),(53946,1),(53960,1),(53974,1),(53976,1),(53981,1),(53982,1),(53987,1),(53999,1),(54001,1),(54026,1),(54036,1),(54044,1),(54045,1),(54058,1),(54061,1),(54077,1),(54088,1),(54091,1),(54094,1),(54095,1),(54099,1),(54103,1),(54108,1),(54110,1),(54127,1),(54144,1),(54146,1),(54150,1),(54152,1),(54165,1),(54172,1),(54175,1),(54176,1),(54192,1),(54199,1),(54214,1),(54215,1),(54216,1),(54218,1),(54223,1),(54238,1),(54244,1),(54275,1),(54292,1),(54301,1),(54315,1),(54329,1),(54331,1),(54343,1),(54350,1),(54356,1),(54357,1),(54367,1),(54370,1),(54380,1),(54389,1),(54391,1),(54395,1),(54398,1),(54412,1),(54414,1),(54416,1),(54424,1),(54429,1),(54432,1),(54437,1),(54438,1),(54460,1),(54461,1),(54469,1),(54480,1),(54482,1),(54495,1),(54501,1),(54510,1),(54511,1),(54514,1),(54517,1),(54518,1),(54519,1),(54528,1),(54529,1),(54535,1),(54537,1),(54539,1),(54548,1),(54552,1),(54555,1),(54573,1),(54575,1),(54584,1),(54593,1),(54598,1),(54625,1),(54627,1),(54634,1),(54638,1),(54640,1),(54643,1),(54647,1),(54650,1),(54652,1),(54668,1),(54674,1),(54675,1),(54692,1),(54706,1),(54712,1),(54714,1),(54724,1),(54727,1),(54728,1),(54735,1),(54740,1),(54744,1),(54749,1),(54750,1),(54752,1),(54772,1),(54776,1),(54779,1),(54808,1),(54836,1),(54845,1),(54855,1),(54857,1),(54861,1),(54868,1),(54872,1),(54873,1),(54883,1),(54888,1),(54893,1),(54902,1),(54912,1),(54919,1),(54920,1),(54944,1),(54947,1),(54948,1),(54950,1),(54957,1),(54970,1),(54976,1),(54979,1),(54984,1),(54993,1),(54997,1),(54998,1),(55006,1),(55013,1),(55019,1),(55020,1),(55023,1),(55025,1),(55029,1),(55030,1),(55040,1),(55046,1),(55055,1),(55060,1),(55063,1),(55071,1),(55086,1),(55092,1),(55100,1),(55109,1),(55110,1),(55111,1),(55115,1),(55119,1),(55125,1),(55138,1),(55139,1),(55144,1),(55146,1),(55147,1),(55159,1),(55166,1),(55191,1),(55193,1),(55198,1),(55203,1),(55204,1),(55205,1),(55207,1),(55213,1),(55218,1),(55223,1),(55227,1),(55229,1),(55230,1),(55233,1),(55240,1),(55242,1),(55246,1),(55251,1),(55285,1),(55287,1),(55297,1),(55305,1),(55316,1),(55325,1),(55333,1),(55334,1),(55335,1),(55336,1),(55337,1),(55340,1),(55348,1),(55357,1),(55361,1),(55362,1),(55363,1),(55371,1),(55378,1),(55381,1),(55383,1),(55385,1),(55386,1),(55394,1),(55395,1),(55396,1),(55400,1),(55405,1),(55413,1),(55425,1),(55438,1),(55441,1),(55454,1),(55464,1),(55483,1),(55488,1),(55494,1),(55516,1),(55519,1),(55522,1),(55523,1),(55530,1),(55551,1),(55554,1),(55558,1),(55561,1),(55566,1),(55572,1),(55575,1),(55584,1),(55586,1),(55598,1),(55616,1),(55625,1),(55629,1),(55630,1),(55631,1),(55634,1),(55635,1),(55655,1),(55659,1),(55668,1),(55672,1),(55682,1),(55689,1),(55696,1),(55698,1),(55707,1),(55709,1),(55718,1),(55720,1),(55721,1),(55727,1),(55728,1),(55744,1),(55747,1),(55748,1),(55764,1),(55766,1),(55775,1),(55778,1),(55786,1),(55802,1),(55816,1),(55823,1),(55837,1),(55851,1),(55854,1),(55859,1),(55861,1),(55865,1),(55882,1),(55887,1),(55894,1),(55903,1),(55911,1),(55912,1),(55921,1),(55931,1),(55939,1),(55941,1),(55949,1),(55959,1),(55970,1),(55971,1),(55979,1),(55992,1),(56001,1),(56004,1),(56008,1),(56027,1),(56041,1),(56042,1),(56043,1),(56044,1),(56052,1),(56053,1),(56066,1),(56082,1),(56090,1),(56094,1),(56104,1),(56110,1),(56114,1),(56132,1),(56139,1),(56149,1),(56150,1),(56173,1),(56178,1),(56182,1),(56183,1),(56192,1),(56195,1),(56200,1),(56211,1),(56217,1),(56221,1),(56230,1),(56240,1),(56243,1),(56246,1),(56256,1),(56259,1),(56264,1),(56273,1),(56275,1),(56278,1),(56283,1),(56289,1),(56292,1),(56296,1),(56300,1),(56307,1),(56308,1),(56309,1),(56318,1),(56326,1),(56331,1),(56333,1),(56337,1),(56341,1),(56344,1),(56347,1),(56352,1),(56353,1),(56366,1),(56371,1),(56372,1),(56378,1),(56384,1),(56388,1),(56393,1),(56400,1),(56408,1),(56426,1),(56431,1),(56440,1),(56444,1),(56450,1),(56459,1),(56469,1),(56475,1),(56482,1),(56500,1),(56506,1),(56507,1),(56517,1),(56522,1),(56526,1),(56527,1),(56529,1),(56530,1),(56536,1),(56539,1),(56553,1),(56560,1),(56570,1),(56572,1),(56577,1),(56583,1),(56588,1),(56591,1),(56598,1),(56601,1),(56607,1),(56610,1),(56611,1),(56612,1),(56613,1),(56621,1),(56622,1),(56637,1),(56639,1),(56645,1),(56648,1),(56651,1),(56661,1),(56682,1),(56690,1),(56709,1),(56711,1),(56713,1),(56717,1),(56721,1),(56724,1),(56729,1),(56751,1),(56752,1),(56770,1),(56786,1),(56798,1),(56810,1),(56817,1),(56823,1),(56825,1),(56830,1),(56837,1),(56856,1),(56857,1),(56864,1),(56869,1),(56876,1),(56889,1),(56891,1),(56892,1),(56904,1),(56909,1),(56911,1),(56914,1),(56915,1),(56916,1),(56919,1),(56925,1),(56935,1),(56941,1),(56943,1),(56949,1),(56954,1),(56956,1),(56957,1),(56966,1),(56985,1),(56992,1),(56998,1),(57000,1),(57018,1),(57026,1),(57038,1),(57039,1),(57042,1),(57047,1),(57054,1),(57062,1),(57063,1),(57068,1),(57077,1),(57078,1),(57084,1),(57103,1),(57108,1),(57109,1),(57110,1),(57111,1),(57113,1),(57125,1),(57129,1),(57135,1),(57137,1),(57138,1),(57139,1),(57143,1),(57145,1),(57157,1),(57159,1),(57160,1),(57165,1),(57169,1),(57174,1),(57190,1),(57193,1),(57205,1),(57208,1),(57211,1),(57222,1),(57226,1),(57231,1),(57232,1),(57239,1),(57251,1),(57253,1),(57254,1),(57263,1),(57265,1),(57273,1),(57274,1),(57278,1),(57283,1),(57284,1),(57293,1),(57295,1),(57299,1),(57303,1),(57306,1),(57310,1),(57317,1),(57322,1),(57330,1),(57335,1),(57343,1),(57347,1),(57365,1),(57371,1),(57375,1),(57384,1),(57390,1),(57392,1),(57405,1),(57409,1),(57419,1),(57428,1),(57432,1),(57433,1),(57436,1),(57442,1),(57446,1),(57448,1),(57454,1),(57456,1),(57460,1),(57465,1),(57468,1),(57489,1),(57498,1),(57500,1),(57508,1),(57513,1),(57546,1),(57548,1),(57556,1),(57559,1),(57568,1),(57571,1),(57578,1),(57589,1),(57601,1),(57610,1),(57613,1),(57615,1),(57623,1),(57630,1),(57641,1),(57646,1),(57658,1),(57667,1),(57673,1),(57685,1),(57688,1),(57696,1),(57702,1),(57703,1),(57712,1),(57716,1),(57717,1),(57722,1),(57726,1),(57772,1),(57774,1),(57775,1),(57790,1),(57822,1),(57824,1),(57827,1),(57829,1),(57835,1),(57841,1),(57849,1),(57859,1),(57862,1),(57871,1),(57872,1),(57873,1),(57878,1),(57879,1),(57881,1),(57899,1),(57911,1),(57926,1),(57933,1),(57934,1),(57946,1),(57952,1),(57957,1),(57960,1),(57967,1),(57988,1),(57991,1),(57993,1),(58016,1),(58031,1),(58037,1),(58045,1),(58048,1),(58050,1),(58057,1),(58062,1),(58066,1),(58075,1),(58078,1),(58090,1),(58094,1),(58102,1),(58105,1),(58112,1),(58131,1),(58134,1),(58137,1),(58155,1),(58163,1),(58168,1),(58169,1),(58172,1),(58195,1),(58196,1),(58198,1),(58203,1),(58206,1),(58213,1),(58224,1),(58228,1),(58235,1),(58236,1),(58239,1),(58251,1),(58263,1),(58293,1),(58298,1),(58303,1),(58313,1),(58319,1),(58325,1),(58327,1),(58360,1),(58362,1),(58363,1),(58365,1),(58394,1),(58400,1),(58404,1),(58411,1),(58412,1),(58420,1),(58427,1),(58433,1),(58438,1),(58449,1),(58459,1),(58468,1),(58471,1),(58480,1),(58481,1),(58493,1),(58494,1),(58501,1),(58508,1),(58511,1),(58513,1),(58524,1),(58532,1),(58547,1),(58555,1),(58556,1),(58569,1),(58570,1),(58573,1),(58579,1),(58591,1),(58594,1),(58596,1),(58607,1),(58624,1),(58633,1),(58634,1),(58639,1),(58651,1),(58656,1),(58657,1),(58672,1),(58675,1),(58681,1),(58683,1),(58686,1),(58695,1),(58701,1),(58711,1),(58714,1),(58721,1),(58726,1),(58751,1),(58760,1),(58763,1),(58776,1),(58786,1),(58788,1),(58790,1),(58791,1),(58795,1),(58797,1),(58820,1),(58829,1),(58867,1),(58876,1),(58889,1),(58898,1),(58917,1),(58918,1),(58922,1),(58925,1),(58927,1),(58928,1),(58929,1),(58935,1),(58941,1),(58944,1),(58950,1),(58954,1),(58960,1),(58962,1),(58971,1),(58972,1),(58976,1),(58977,1),(58984,1),(58989,1),(58993,1),(59006,1),(59012,1),(59021,1),(59024,1),(59027,1),(59031,1),(59035,1),(59036,1),(59037,1),(59038,1),(59039,1),(59047,1),(59052,1),(59054,1),(59055,1),(59058,1),(59060,1),(59067,1),(59073,1),(59087,1),(59089,1),(59092,1),(59098,1),(59103,1),(59107,1),(59108,1),(59121,1),(59123,1),(59145,1),(59159,1),(59163,1),(59168,1),(59169,1),(59175,1),(59177,1),(59180,1),(59182,1),(59185,1),(59186,1),(59187,1),(59188,1),(59189,1),(59193,1),(59194,1),(59197,1),(59199,1),(59210,1),(59216,1),(59217,1),(59238,1),(59244,1),(59260,1),(59262,1),(59271,1),(59278,1),(59281,1),(59284,1),(59286,1),(59297,1),(59319,1),(59336,1),(59339,1),(59341,1),(59343,1),(59346,1),(59353,1),(59357,1),(59359,1),(59360,1),(59363,1),(59375,1),(59378,1),(59386,1),(59389,1),(59391,1),(59396,1),(59403,1),(59405,1),(59411,1),(59412,1),(59431,1),(59437,1),(59438,1),(59441,1),(59443,1),(59456,1),(59460,1),(59473,1),(59475,1),(59483,1),(59506,1),(59510,1),(59521,1),(59526,1),(59527,1),(59559,1),(59562,1),(59573,1),(59578,1),(59579,1),(59585,1),(59601,1),(59615,1),(59616,1),(59626,1),(59629,1),(59631,1),(59639,1),(59640,1),(59645,1),(59646,1),(59663,1),(59673,1),(59683,1),(59684,1),(59687,1),(59688,1),(59689,1),(59692,1),(59697,1),(59699,1),(59716,1),(59717,1),(59726,1),(59727,1),(59730,1),(59733,1),(59734,1),(59736,1),(59745,1),(59762,1),(59765,1),(59768,1),(59771,1),(59775,1),(59784,1),(59785,1),(59787,1),(59801,1),(59808,1),(59809,1),(59822,1),(59824,1),(59826,1),(59827,1),(59836,1),(59843,1),(59845,1),(59860,1),(59864,1),(59867,1),(59868,1),(59872,1),(59875,1),(59878,1),(59881,1),(59892,1),(59893,1),(59894,1),(59910,1),(59926,1),(59930,1),(59933,1),(59936,1),(59945,1),(59948,1),(59950,1),(59952,1),(59963,1),(59964,1),(59969,1),(59975,1),(59978,1),(59979,1),(59983,1),(59986,1),(59990,1),(59991,1),(60002,1),(60031,1),(60042,1),(60048,1),(60053,1),(60056,1),(60063,1),(60073,1),(60075,1),(60077,1),(60079,1),(60081,1),(60083,1),(60088,1),(60093,1),(60096,1),(60108,1),(60121,1),(60128,1),(60133,1),(60142,1),(60145,1),(60157,1),(60158,1),(60184,1),(60195,1),(60198,1),(60203,1),(60207,1),(60213,1),(60235,1),(60239,1),(60243,1),(60244,1),(60246,1),(60247,1),(60251,1),(60254,1),(60256,1),(60257,1),(60258,1),(60267,1),(60278,1),(60284,1),(60288,1),(60294,1),(60305,1),(60317,1),(60323,1),(60324,1),(60338,1),(60347,1),(60351,1),(60360,1),(60365,1),(60391,1),(60407,1),(60409,1),(60410,1),(60417,1),(60419,1),(60424,1),(60427,1),(60436,1),(60443,1),(60447,1),(60452,1),(60459,1),(60472,1),(60478,1),(60488,1),(60489,1),(60510,1),(60511,1),(60512,1),(60520,1),(60526,1),(60531,1),(60536,1),(60539,1),(60543,1),(60555,1),(60557,1),(60575,1),(60577,1),(60578,1),(60580,1),(60581,1),(60582,1),(60588,1),(60591,1),(60594,1),(60600,1),(60604,1),(60611,1),(60615,1),(60625,1),(60628,1),(60629,1),(60630,1),(60635,1),(60651,1),(60654,1),(60666,1),(60689,1),(60698,1),(60703,1),(60708,1),(60715,1),(60722,1),(60726,1),(60737,1),(60744,1),(60750,1),(60756,1),(60757,1),(60763,1),(60767,1),(60768,1),(60769,1),(60772,1),(60785,1),(60788,1),(60792,1),(60796,1),(60806,1),(60808,1),(60809,1),(60814,1),(60821,1),(60825,1),(60829,1),(60832,1),(60847,1),(60872,1),(60888,1),(60894,1),(60895,1),(60897,1),(60914,1),(60917,1),(60919,1),(60927,1),(60957,1),(60960,1),(60964,1),(60971,1),(60974,1),(60975,1),(60976,1),(60980,1),(60982,1),(60984,1),(60994,1),(61019,1),(61040,1),(61044,1),(61049,1),(61050,1),(61053,1),(61054,1),(61055,1),(61065,1),(61080,1),(61082,1),(61091,1),(61094,1),(61110,1),(61114,1),(61116,1),(61120,1),(61122,1),(61123,1),(61132,1),(61139,1),(61144,1),(61147,1),(61150,1),(61151,1),(61166,1),(61171,1),(61172,1),(61186,1),(61188,1),(61206,1),(61209,1),(61227,1),(61240,1),(61242,1),(61273,1),(61279,1),(61283,1),(61289,1),(61303,1),(61310,1),(61311,1),(61312,1),(61322,1),(61331,1),(61336,1),(61339,1),(61340,1),(61343,1),(61364,1),(61373,1),(61374,1),(61381,1),(61387,1),(61388,1),(61390,1),(61400,1),(61406,1),(61409,1),(61411,1),(61417,1),(61442,1),(61448,1),(61457,1),(61459,1),(61461,1),(61471,1),(61474,1),(61475,1),(61478,1),(61490,1),(61492,1),(61500,1),(61508,1),(61513,1),(61538,1),(61547,1),(61550,1),(61551,1),(61554,1),(61556,1),(61557,1),(61565,1),(61569,1),(61570,1),(61578,1),(61581,1),(61587,1),(61590,1),(61619,1),(61622,1),(61626,1),(61633,1),(61637,1),(61642,1),(61647,1),(61662,1),(61664,1),(61670,1),(61674,1),(61679,1),(61682,1),(61685,1),(61695,1),(61699,1),(61704,1),(61707,1),(61709,1),(61713,1),(61716,1),(61717,1),(61718,1),(61719,1),(61721,1),(61722,1),(61727,1),(61729,1),(61734,1),(61747,1),(61751,1),(61756,1),(61763,1),(61770,1),(61780,1),(61787,1),(61796,1),(61797,1),(61798,1),(61803,1),(61806,1),(61819,1),(61826,1),(61827,1),(61833,1),(61866,1),(61872,1),(61880,1),(61884,1),(61895,1),(61903,1),(61920,1),(61923,1),(61925,1),(61931,1),(61948,1),(61951,1),(61959,1),(61963,1),(61966,1),(61967,1),(61985,1),(62002,1),(62003,1),(62004,1),(62005,1),(62033,1),(62038,1),(62039,1),(62040,1),(62047,1),(62048,1),(62052,1),(62059,1),(62061,1),(62077,1),(62084,1),(62088,1),(62096,1),(62100,1),(62103,1),(62106,1),(62108,1),(62121,1),(62125,1),(62127,1),(62138,1),(62139,1),(62140,1),(62141,1),(62142,1),(62144,1),(62147,1),(62156,1),(62164,1),(62166,1),(62177,1),(62184,1),(62191,1),(62194,1),(62202,1),(62213,1),(62216,1),(62234,1),(62235,1),(62247,1),(62254,1),(62255,1),(62256,1),(62259,1),(62262,1),(62263,1),(62268,1),(62269,1),(62272,1),(62278,1),(62289,1),(62293,1),(62299,1),(62300,1),(62303,1),(62310,1),(62319,1),(62326,1),(62344,1),(62348,1),(62353,1),(62354,1),(62358,1),(62377,1),(62378,1),(62382,1),(62383,1),(62388,1),(62391,1),(62392,1),(62397,1),(62398,1),(62400,1),(62401,1),(62403,1),(62408,1),(62418,1),(62424,1),(62431,1),(62432,1),(62435,1),(62438,1),(62440,1),(62450,1),(62452,1),(62467,1),(62471,1),(62472,1),(62473,1),(62477,1),(62478,1),(62485,1),(62491,1),(62504,1),(62507,1),(62509,1),(62513,1),(62530,1),(62538,1),(62562,1),(62572,1),(62573,1),(62574,1),(62576,1),(62589,1),(62602,1),(62603,1),(62607,1),(62609,1),(62637,1),(62642,1),(62647,1),(62648,1),(62651,1),(62657,1),(62660,1),(62671,1),(62672,1),(62675,1),(62694,1),(62701,1),(62704,1),(62709,1),(62720,1),(62731,1),(62740,1),(62748,1),(62757,1),(62761,1),(62764,1),(62772,1),(62774,1),(62776,1),(62778,1),(62780,1),(62782,1),(62783,1),(62788,1),(62792,1),(62802,1),(62806,1),(62810,1),(62811,1),(62812,1),(62823,1),(62831,1),(62836,1),(62849,1),(62851,1),(62869,1),(62873,1),(62875,1),(62876,1),(62884,1),(62893,1),(62898,1),(62901,1),(62908,1),(62913,1),(62915,1),(62921,1),(62926,1),(62939,1),(62946,1),(62948,1),(62951,1),(62956,1),(62968,1),(62977,1),(62983,1),(62992,1),(62994,1),(63001,1),(63025,1),(63033,1),(63040,1),(63045,1),(63052,1),(63053,1),(63054,1),(63055,1),(63065,1),(63066,1),(63089,1),(63094,1),(63097,1),(63112,1),(63113,1),(63119,1),(63122,1),(63123,1),(63129,1),(63133,1),(63134,1),(63138,1),(63139,1),(63145,1),(63146,1),(63147,1),(63151,1),(63157,1),(63162,1),(63183,1),(63193,1),(63196,1),(63200,1),(63205,1),(63213,1),(63216,1),(63233,1),(63239,1),(63245,1),(63249,1),(63261,1),(63262,1),(63270,1),(63274,1),(63275,1),(63279,1),(63280,1),(63282,1),(63290,1),(63311,1),(63318,1),(63328,1),(63337,1),(63351,1),(63353,1),(63362,1),(63370,1),(63373,1),(63376,1),(63386,1),(63388,1),(63392,1),(63404,1),(63412,1),(63419,1),(63421,1),(63426,1),(63427,1),(63429,1),(63437,1),(63438,1),(63439,1),(63440,1),(63442,1),(63448,1),(63455,1),(63476,1),(63480,1),(63486,1),(63489,1),(63491,1),(63508,1),(63511,1),(63514,1),(63525,1),(63535,1),(63544,1),(63551,1),(63552,1),(63560,1),(63565,1),(63568,1),(63572,1),(63579,1),(63584,1),(63586,1),(63588,1),(63589,1),(63592,1),(63606,1),(63617,1),(63619,1),(63634,1),(63639,1),(63642,1),(63646,1),(63649,1),(63653,1),(63659,1),(63662,1),(63670,1),(63671,1),(63672,1),(63678,1),(63681,1),(63689,1),(63697,1),(63709,1),(63715,1),(63718,1),(63723,1),(63739,1),(63742,1),(63743,1),(63753,1),(63769,1),(63779,1),(63785,1),(63789,1),(63802,1),(63809,1),(63820,1),(63825,1),(63850,1),(63859,1),(63863,1),(63866,1),(63873,1),(63874,1),(63880,1),(63899,1),(63900,1),(63901,1),(63903,1),(63905,1),(63906,1),(63910,1),(63925,1),(63926,1),(63927,1),(63928,1),(63935,1),(63936,1),(63939,1),(63960,1),(63962,1),(63964,1),(63970,1),(63971,1),(63976,1),(63988,1),(63993,1),(64002,1),(64016,1),(64024,1),(64029,1),(64030,1),(64033,1),(64037,1),(64053,1),(64057,1),(64061,1),(64069,1),(64086,1),(64087,1),(64091,1),(64095,1),(64103,1),(64109,1),(64114,1),(64116,1),(64117,1),(64130,1),(64138,1),(64146,1),(64157,1),(64159,1),(64175,1),(64179,1),(64185,1),(64198,1),(64203,1),(64208,1),(64209,1),(64213,1),(64222,1),(64224,1),(64225,1),(64235,1),(64238,1),(64244,1),(64257,1),(64258,1),(64264,1),(64268,1),(64269,1),(64271,1),(64279,1),(64283,1),(64284,1),(64288,1),(64290,1),(64294,1),(64296,1),(64303,1),(64308,1),(64309,1),(64314,1),(64319,1),(64321,1),(64324,1),(64325,1),(64333,1),(64348,1),(64351,1),(64353,1),(64355,1),(64357,1),(64360,1),(64361,1),(64365,1),(64366,1),(64368,1),(64373,1),(64383,1),(64390,1),(64392,1),(64393,1),(64395,1),(64401,1),(64402,1),(64413,1),(64416,1),(64424,1),(64428,1),(64431,1),(64437,1),(64445,1),(64458,1),(64460,1),(64462,1),(64466,1),(64470,1),(64472,1),(64473,1),(64490,1),(64491,1),(64494,1),(64505,1),(64509,1),(64512,1),(64527,1),(64529,1),(64530,1),(64534,1),(64538,1),(64544,1),(64549,1),(64552,1),(64559,1),(64575,1),(64583,1),(64598,1),(64610,1),(64612,1),(64620,1),(64624,1),(64637,1),(64641,1),(64643,1),(64647,1),(64651,1),(64655,1),(64660,1),(64676,1),(64678,1),(64682,1),(64695,1),(64704,1),(64717,1),(64723,1),(64725,1),(64730,1),(64735,1),(64738,1),(64740,1),(64743,1),(64746,1),(64749,1),(64753,1),(64759,1),(64761,1),(64763,1),(64769,1),(64778,1),(64783,1),(64786,1),(64791,1),(64794,1),(64796,1),(64798,1),(64800,1),(64802,1),(64807,1),(64810,1),(64819,1),(64822,1),(64828,1),(64831,1),(64834,1),(64842,1),(64846,1),(64855,1),(64861,1),(64871,1),(64876,1),(64881,1),(64884,1),(64890,1),(64896,1),(64899,1),(64900,1),(64901,1),(64907,1),(64927,1),(64932,1),(64935,1),(64941,1),(64948,1),(64960,1),(64966,1),(64967,1),(64969,1),(64973,1),(64975,1),(64976,1),(64981,1),(64988,1),(64998,1),(65000,1),(65002,1),(65006,1),(65015,1),(65018,1),(65026,1),(65027,1),(65033,1),(65042,1),(65045,1),(65046,1),(65055,1),(65056,1),(65080,1),(65081,1),(65110,1),(65118,1),(65124,1),(65134,1),(65140,1),(65147,1),(65157,1),(65165,1),(65171,1),(65179,1),(65193,1),(65203,1),(65216,1),(65217,1),(65222,1),(65240,1),(65243,1),(65247,1),(65250,1),(65261,1),(65266,1),(65273,1),(65283,1),(65288,1),(65294,1),(65297,1),(65298,1),(65299,1),(65326,1),(65327,1),(65338,1),(65355,1),(65362,1),(65369,1),(65371,1),(65386,1),(65390,1),(65413,1),(65419,1),(65424,1),(65427,1),(65430,1),(65440,1),(65445,1),(65447,1),(65449,1),(65451,1),(65461,1),(65469,1),(65470,1),(65476,1),(65479,1),(65487,1),(65491,1),(65492,1),(65493,1),(65496,1),(65505,1),(65512,1),(65519,1),(65520,1),(65534,1),(65548,1),(65550,1),(65552,1),(65559,1),(65563,1),(65565,1),(65568,1),(65574,1),(65583,1),(65586,1),(65587,1),(65593,1),(65602,1),(65604,1),(65605,1),(65609,1),(65612,1),(65620,1),(65625,1),(65641,1),(65648,1),(65650,1),(65651,1),(65652,1),(65658,1),(65661,1),(65669,1),(65679,1),(65683,1),(65695,1),(65709,1),(65727,1),(65738,1),(65740,1),(65743,1),(65745,1),(65747,1),(65770,1),(65773,1),(65782,1),(65783,1),(65784,1),(65798,1),(65803,1),(65808,1),(65811,1),(65819,1),(65826,1),(65837,1),(65839,1),(65846,1),(65847,1),(65852,1),(65857,1),(65860,1),(65866,1),(65882,1),(65887,1),(65889,1),(65894,1),(65896,1),(65898,1),(65901,1),(65907,1),(65909,1),(65913,1),(65920,1),(65930,1),(65934,1),(65935,1),(65943,1),(65944,1),(65947,1),(65951,1),(65954,1),(65955,1),(65972,1),(65986,1),(65991,1),(65992,1),(65994,1),(65997,1),(66008,1),(66012,1),(66013,1),(66016,1),(66019,1),(66020,1),(66024,1),(66041,1),(66044,1),(66048,1),(66053,1),(66058,1),(66060,1),(66062,1),(66063,1),(66073,1),(66076,1),(66078,1),(66079,1),(66082,1),(66096,1),(66097,1),(66106,1),(66107,1),(66112,1),(66118,1),(66119,1),(66120,1),(66121,1),(66126,1),(66127,1),(66138,1),(66139,1),(66152,1),(66157,1),(66166,1),(66170,1),(66175,1),(66181,1),(66194,1),(66199,1),(66202,1),(66232,1),(66236,1),(66237,1),(66241,1),(66252,1),(66258,1),(66260,1),(66268,1),(66291,1),(66294,1),(66296,1),(66301,1),(66303,1),(66322,1),(66328,1),(66334,1),(66353,1),(66360,1),(66362,1),(66371,1),(66375,1),(66378,1),(66380,1),(66382,1),(66392,1),(66393,1),(66395,1),(66403,1),(66407,1),(66417,1),(66424,1),(66436,1),(66449,1),(66450,1),(66453,1),(66463,1),(66466,1),(66467,1),(66483,1),(66485,1),(66486,1),(66490,1),(66493,1),(66499,1),(66501,1),(66505,1),(66510,1),(66514,1),(66521,1),(66526,1),(66531,1),(66533,1),(66538,1),(66539,1),(66548,1),(66555,1),(66558,1),(66559,1),(66562,1),(66567,1),(66569,1),(66570,1),(66587,1),(66604,1),(66611,1),(66629,1),(66639,1),(66648,1),(66650,1),(66657,1),(66664,1),(66671,1),(66680,1),(66682,1),(66701,1),(66706,1),(66707,1),(66720,1),(66731,1),(66733,1),(66741,1),(66750,1),(66771,1),(66774,1),(66785,1),(66786,1),(66787,1),(66792,1),(66794,1),(66797,1),(66814,1),(66816,1),(66824,1),(66825,1),(66826,1),(66828,1),(66831,1),(66833,1),(66838,1),(66844,1),(66855,1),(66861,1),(66862,1),(66872,1),(66892,1),(66895,1),(66898,1),(66905,1),(66909,1),(66920,1),(66925,1),(66927,1),(66929,1),(66936,1),(66938,1),(66950,1),(66964,1),(66971,1),(66973,1),(66978,1),(66984,1),(66995,1),(66999,1),(67000,1),(67018,1),(67028,1),(67052,1),(67059,1),(67074,1),(67077,1),(67081,1),(67088,1),(67098,1),(67115,1),(67116,1),(67131,1),(67133,1),(67138,1),(67139,1),(67149,1),(67150,1),(67151,1),(67168,1),(67180,1),(67183,1),(67187,1),(67194,1),(67196,1),(67197,1),(67204,1),(67205,1),(67207,1),(67208,1),(67224,1),(67232,1),(67240,1),(67243,1),(67256,1),(67271,1),(67274,1),(67278,1),(67288,1),(67297,1),(67306,1),(67308,1),(67312,1),(67318,1),(67340,1),(67346,1),(67361,1),(67373,1),(67374,1),(67385,1),(67400,1),(67402,1),(67404,1),(67413,1),(67417,1),(67418,1),(67426,1),(67430,1),(67437,1),(67456,1),(67472,1),(67474,1),(67488,1),(67489,1),(67490,1),(67492,1),(67495,1),(67500,1),(67511,1),(67513,1),(67520,1),(67522,1),(67527,1),(67528,1),(67533,1),(67547,1),(67555,1),(67560,1),(67569,1),(67572,1),(67577,1),(67590,1),(67591,1),(67593,1),(67602,1),(67604,1),(67607,1),(67612,1),(67619,1),(67626,1),(67634,1),(67647,1),(67649,1),(67652,1),(67656,1),(67658,1),(67671,1),(67677,1),(67678,1),(67689,1),(67699,1),(67702,1),(67707,1),(67708,1),(67721,1),(67727,1),(67728,1),(67730,1),(67731,1),(67733,1),(67740,1),(67746,1),(67758,1),(67760,1),(67777,1),(67779,1),(67803,1),(67807,1),(67813,1),(67831,1),(67839,1),(67844,1),(67850,1),(67869,1),(67877,1),(67895,1),(67918,1),(67929,1),(67932,1),(67937,1),(67946,1),(67950,1),(67961,1),(67976,1),(67979,1),(67981,1),(67988,1),(67999,1),(68008,1),(68012,1),(68014,1),(68017,1),(68021,1),(68026,1),(68027,1),(68034,1),(68048,1),(68055,1),(68058,1),(68061,1),(68065,1),(68077,1),(68093,1),(68098,1),(68102,1),(68109,1),(68110,1),(68112,1),(68124,1),(68127,1),(68132,1),(68133,1),(68141,1),(68143,1),(68160,1),(68164,1),(68165,1),(68166,1),(68179,1),(68180,1),(68184,1),(68185,1),(68187,1),(68188,1),(68194,1),(68197,1),(68198,1),(68201,1),(68210,1),(68237,1),(68242,1),(68261,1),(68267,1),(68268,1),(68272,1),(68284,1),(68300,1),(68310,1),(68314,1),(68316,1),(68319,1),(68343,1),(68347,1),(68366,1),(68371,1),(68374,1),(68375,1),(68381,1),(68382,1),(68408,1),(68417,1),(68425,1),(68433,1),(68444,1),(68446,1),(68460,1),(68463,1),(68468,1),(68474,1),(68481,1),(68487,1),(68489,1),(68494,1),(68496,1),(68500,1),(68507,1),(68511,1),(68518,1),(68519,1),(68523,1),(68547,1),(68559,1),(68565,1),(68567,1),(68573,1),(68579,1),(68594,1),(68597,1),(68603,1),(68611,1),(68612,1),(68613,1),(68624,1),(68627,1),(68631,1),(68648,1),(68662,1),(68677,1),(68678,1),(68679,1),(68681,1),(68687,1),(68693,1),(68716,1),(68735,1),(68745,1),(68746,1),(68752,1),(68773,1),(68797,1),(68801,1),(68805,1),(68820,1),(68824,1),(68828,1),(68832,1),(68836,1),(68850,1),(68855,1),(68860,1),(68871,1),(68875,1),(68882,1),(68884,1),(68886,1),(68888,1),(68900,1),(68915,1),(68928,1),(68929,1),(68932,1),(68933,1),(68947,1),(68960,1),(68965,1),(68969,1),(68977,1),(68980,1),(68983,1),(68988,1),(68995,1),(68998,1),(69002,1),(69014,1),(69022,1),(69031,1),(69032,1),(69033,1),(69036,1),(69041,1),(69045,1),(69063,1),(69077,1),(69078,1),(69079,1),(69081,1),(69083,1),(69087,1),(69098,1),(69100,1),(69102,1),(69104,1),(69107,1),(69108,1),(69119,1),(69125,1),(69132,1),(69133,1),(69134,1),(69135,1),(69136,1),(69138,1),(69143,1),(69144,1),(69147,1),(69150,1),(69151,1),(69152,1),(69156,1),(69161,1),(69168,1),(69170,1),(69171,1),(69174,1),(69177,1),(69184,1),(69186,1),(69188,1),(69190,1),(69210,1),(69216,1),(69225,1),(69226,1),(69227,1),(69237,1),(69238,1),(69241,1),(69243,1),(69245,1),(69246,1),(69249,1),(69251,1),(69254,1),(69274,1),(69289,1),(69293,1),(69294,1),(69295,1),(69297,1),(69300,1),(69305,1),(69310,1),(69312,1),(69314,1),(69316,1),(69317,1),(69325,1),(69332,1),(69337,1),(69343,1),(69357,1),(69359,1),(69362,1),(69378,1),(69387,1),(69390,1),(69397,1),(69404,1),(69409,1),(69413,1),(69414,1),(69418,1),(69432,1),(69436,1),(69440,1),(69444,1),(69453,1),(69461,1),(69465,1),(69468,1),(69471,1),(69472,1),(69474,1),(69476,1),(69482,1),(69486,1),(69487,1),(69488,1),(69496,1),(69502,1),(69509,1),(69512,1),(69515,1),(69521,1),(69532,1),(69540,1),(69541,1),(69543,1),(69549,1),(69551,1),(69557,1),(69562,1),(69565,1),(69576,1),(69577,1),(69580,1),(69581,1),(69591,1),(69592,1),(69594,1),(69596,1),(69598,1),(69601,1),(69605,1),(69621,1),(69625,1),(69626,1),(69627,1),(69630,1),(69637,1),(69640,1),(69657,1),(69658,1),(69659,1),(69660,1),(69661,1),(69668,1),(69672,1),(69680,1),(69682,1),(69684,1),(69703,1),(69710,1),(69731,1),(69734,1),(69743,1),(69744,1),(69747,1),(69748,1),(69756,1),(69758,1),(69761,1),(69765,1),(69767,1),(69768,1),(69786,1),(69788,1),(69792,1),(69797,1),(69805,1),(69811,1),(69812,1),(69814,1),(69815,1),(69818,1),(69820,1),(69821,1),(69822,1),(69824,1),(69828,1),(69829,1),(69839,1),(69840,1),(69843,1),(69848,1),(69851,1),(69866,1),(69871,1),(69872,1),(69893,1),(69896,1),(69909,1),(69910,1),(69917,1),(69920,1),(69926,1),(69929,1),(69940,1),(69951,1),(69979,1),(69984,1),(69987,1),(69991,1),(69993,1),(69996,1),(70001,1),(70002,1),(70004,1),(70006,1),(70012,1),(70018,1),(70019,1),(70029,1),(70033,1),(70054,1),(70059,1),(70061,1),(70081,1),(70106,1),(70109,1),(70112,1),(70121,1),(70122,1),(70124,1),(70125,1),(70131,1),(70135,1),(70136,1),(70144,1),(70150,1),(70151,1),(70159,1),(70162,1),(70164,1),(70165,1),(70166,1),(70185,1),(70203,1),(70204,1),(70206,1),(70214,1),(70215,1),(70219,1),(70220,1),(70227,1),(70233,1),(70242,1),(70245,1),(70249,1),(70251,1),(70263,1),(70274,1),(70281,1),(70285,1),(70286,1),(70296,1),(70300,1),(70302,1),(70304,1),(70306,1),(70307,1),(70316,1),(70321,1),(70325,1),(70328,1),(70329,1),(70361,1),(70362,1),(70369,1),(70382,1),(70384,1),(70393,1),(70414,1),(70415,1),(70418,1),(70421,1),(70424,1),(70437,1),(70441,1),(70447,1),(70449,1),(70453,1),(70456,1),(70458,1),(70473,1),(70478,1),(70479,1),(70485,1),(70491,1),(70494,1),(70495,1),(70500,1),(70510,1),(70511,1),(70513,1),(70522,1),(70535,1),(70547,1),(70559,1),(70561,1),(70564,1),(70565,1),(70581,1),(70585,1),(70598,1),(70603,1),(70605,1),(70608,1),(70616,1),(70621,1),(70623,1),(70624,1),(70626,1),(70629,1),(70636,1),(70643,1),(70650,1),(70655,1),(70658,1),(70659,1),(70662,1),(70666,1),(70676,1),(70680,1),(70687,1),(70690,1),(70704,1),(70728,1),(70736,1),(70741,1),(70742,1),(70748,1),(70754,1),(70757,1),(70761,1),(70764,1),(70769,1),(70770,1),(70775,1),(70783,1),(70784,1),(70789,1),(70790,1),(70792,1),(70795,1),(70812,1),(70813,1),(70821,1),(70832,1),(70833,1),(70838,1),(70840,1),(70845,1),(70853,1),(70860,1),(70863,1),(70866,1),(70867,1),(70870,1),(70874,1),(70878,1),(70883,1),(70887,1),(70894,1),(70906,1),(70914,1),(70950,1),(70959,1),(70962,1),(70968,1),(70976,1),(70984,1),(70985,1),(70994,1),(71001,1),(71009,1),(71012,1),(71019,1),(71025,1),(71026,1),(71042,1),(71046,1),(71057,1),(71073,1),(71080,1),(71082,1),(71084,1),(71090,1),(71094,1),(71095,1),(71105,1),(71106,1),(71114,1),(71137,1),(71140,1),(71141,1),(71147,1),(71148,1),(71153,1),(71156,1),(71177,1),(71182,1),(71184,1),(71187,1),(71188,1),(71189,1),(71191,1),(71195,1),(71204,1),(71209,1),(71227,1),(71232,1),(71234,1),(71244,1),(71248,1),(71255,1),(71267,1),(71274,1),(71277,1),(71279,1),(71293,1),(71294,1),(71295,1),(71301,1),(71316,1),(71319,1),(71332,1),(71335,1),(71336,1),(71362,1),(71365,1),(71366,1),(71370,1),(71393,1),(71397,1),(71401,1),(71403,1),(71406,1),(71415,1),(71418,1),(71439,1),(71458,1),(71466,1),(71475,1),(71477,1),(71478,1),(71481,1),(71487,1),(71490,1),(71494,1),(71495,1),(71499,1),(71521,1),(71530,1),(71535,1),(71539,1),(71545,1),(71549,1),(71560,1),(71575,1),(71587,1),(71590,1),(71594,1),(71595,1),(71599,1),(71603,1),(71610,1),(71622,1),(71623,1),(71632,1),(71636,1),(71638,1),(71640,1),(71641,1),(71647,1),(71650,1),(71668,1),(71671,1),(71683,1),(71698,1),(71700,1),(71701,1),(71708,1),(71722,1),(71727,1),(71739,1),(71742,1),(71751,1),(71790,1),(71791,1),(71792,1),(71793,1),(71795,1),(71804,1),(71808,1),(71813,1),(71814,1),(71818,1),(71822,1),(71830,1),(71840,1),(71842,1),(71860,1),(71870,1),(71872,1),(71876,1),(71877,1),(71878,1),(71885,1),(71886,1),(71890,1),(71898,1),(71899,1),(71903,1),(71917,1),(71934,1),(71940,1),(71941,1),(71951,1),(71955,1),(71958,1),(71963,1),(71974,1),(71980,1),(71982,1),(71997,1),(71998,1),(72000,1),(72001,1),(72011,1),(72013,1),(72018,1),(72020,1),(72027,1),(72037,1),(72043,1),(72060,1),(72063,1),(72073,1),(72074,1),(72079,1),(72095,1),(72104,1),(72106,1),(72108,1),(72133,1),(72145,1),(72147,1),(72153,1),(72156,1),(72161,1),(72166,1),(72167,1),(72173,1),(72174,1),(72189,1),(72190,1),(72205,1),(72207,1),(72208,1),(72209,1),(72214,1),(72223,1),(72246,1),(72247,1),(72254,1),(72259,1),(72262,1),(72269,1),(72272,1),(72274,1),(72278,1),(72293,1),(72297,1),(72302,1),(72310,1),(72314,1),(72318,1),(72330,1),(72332,1),(72333,1),(72334,1),(72335,1),(72341,1),(72344,1),(72347,1),(72352,1),(72367,1),(72371,1),(72379,1),(72381,1),(72388,1),(72391,1),(72398,1),(72400,1),(72406,1),(72408,1),(72416,1),(72417,1),(72422,1),(72428,1),(72429,1),(72435,1),(72436,1),(72448,1),(72450,1),(72458,1),(72459,1),(72462,1),(72464,1),(72466,1),(72474,1),(72478,1),(72488,1),(72499,1),(72502,1),(72503,1),(72507,1),(72509,1),(72510,1),(72521,1),(72528,1),(72529,1),(72532,1),(72533,1),(72538,1),(72550,1),(72554,1),(72567,1),(72573,1),(72585,1),(72605,1),(72613,1),(72619,1),(72620,1),(72623,1),(72629,1),(72631,1),(72634,1),(72635,1),(72645,1),(72648,1),(72649,1),(72652,1),(72658,1),(72665,1),(72678,1),(72683,1),(72684,1),(72714,1),(72715,1),(72718,1),(72719,1),(72726,1),(72742,1),(72744,1),(72746,1),(72752,1),(72755,1),(72756,1),(72759,1),(72764,1),(72765,1),(72770,1),(72771,1),(72772,1),(72773,1),(72780,1),(72796,1),(72797,1),(72810,1),(72815,1),(72816,1),(72818,1),(72821,1),(72828,1),(72831,1),(72857,1),(72874,1),(72878,1),(72879,1),(72884,1),(72886,1),(72887,1),(72894,1),(72895,1),(72899,1),(72906,1),(72908,1),(72915,1),(72922,1),(72926,1),(72928,1),(72936,1),(72939,1),(72941,1),(72942,1),(72943,1),(72944,1),(72946,1),(72957,1),(72967,1),(72969,1),(72974,1),(72975,1),(72978,1),(72988,1),(72991,1),(72998,1),(72999,1),(73000,1),(73001,1),(73006,1),(73009,1),(73011,1),(73013,1),(73019,1),(73028,1),(73032,1),(73035,1),(73039,1),(73057,1),(73058,1),(73063,1),(73064,1),(73067,1),(73072,1),(73074,1),(73081,1),(73083,1),(73091,1),(73092,1),(73096,1),(73097,1),(73102,1),(73103,1),(73107,1),(73109,1),(73110,1),(73112,1),(73118,1),(73131,1),(73147,1),(73151,1),(73152,1),(73153,1),(73156,1),(73160,1),(73174,1),(73175,1),(73185,1),(73195,1),(73197,1),(73203,1),(73232,1),(73235,1),(73239,1),(73251,1),(73255,1),(73278,1),(73285,1),(73291,1),(73302,1),(73303,1),(73314,1),(73315,1),(73321,1),(73326,1),(73330,1),(73335,1),(73336,1),(73339,1),(73341,1),(73342,1),(73344,1),(73350,1),(73351,1),(73355,1),(73357,1),(73364,1),(73367,1),(73373,1),(73374,1),(73383,1),(73399,1),(73402,1),(73405,1),(73409,1),(73415,1),(73424,1),(73428,1),(73429,1),(73432,1),(73435,1),(73438,1),(73443,1),(73452,1),(73466,1),(73469,1),(73471,1),(73472,1),(73500,1),(73502,1),(73507,1),(73510,1),(73513,1),(73514,1),(73515,1),(73516,1),(73525,1),(73536,1),(73541,1),(73542,1),(73546,1),(73551,1),(73560,1),(73565,1),(73566,1),(73571,1),(73574,1),(73575,1),(73578,1),(73594,1),(73599,1),(73605,1),(73619,1),(73621,1),(73624,1),(73648,1),(73653,1),(73655,1),(73663,1),(73672,1),(73673,1),(73681,1),(73696,1),(73703,1),(73709,1),(73717,1),(73721,1),(73727,1),(73733,1),(73739,1),(73742,1),(73746,1),(73749,1),(73756,1),(73760,1),(73765,1),(73769,1),(73772,1),(73780,1),(73783,1),(73788,1),(73790,1),(73795,1),(73797,1),(73799,1),(73817,1),(73818,1),(73827,1),(73833,1),(73835,1),(73843,1),(73852,1),(73856,1),(73857,1),(73858,1),(73867,1),(73881,1),(73882,1),(73888,1),(73889,1),(73893,1),(73901,1),(73907,1),(73913,1),(73916,1),(73919,1),(73925,1),(73937,1),(73944,1),(73946,1),(73950,1),(73985,1),(73986,1),(73993,1),(74008,1),(74010,1),(74016,1),(74019,1),(74023,1),(74024,1),(74025,1),(74027,1),(74048,1),(74054,1),(74055,1),(74056,1),(74059,1),(74061,1),(74065,1),(74067,1),(74068,1),(74069,1),(74078,1),(74081,1),(74088,1),(74091,1),(74098,1),(74105,1),(74109,1),(74110,1),(74112,1),(74117,1),(74124,1),(74128,1),(74132,1),(74133,1),(74135,1),(74137,1),(74143,1),(74147,1),(74150,1),(74163,1),(74173,1),(74179,1),(74184,1),(74190,1),(74200,1),(74201,1),(74207,1),(74210,1),(74217,1),(74226,1),(74229,1),(74236,1),(74238,1),(74249,1),(74261,1),(74269,1),(74272,1),(74273,1),(74290,1),(74306,1),(74309,1),(74310,1),(74320,1),(74321,1),(74326,1),(74327,1),(74336,1),(74344,1),(74350,1),(74355,1),(74361,1),(74362,1),(74380,1),(74402,1),(74405,1),(74408,1),(74415,1),(74423,1),(74424,1),(74426,1),(74443,1),(74451,1),(74455,1),(74466,1),(74482,1),(74486,1),(74490,1),(74501,1),(74503,1),(74511,1),(74531,1),(74532,1),(74556,1),(74557,1),(74565,1),(74567,1),(74569,1),(74571,1),(74572,1),(74574,1),(74577,1),(74583,1),(74593,1),(74598,1),(74603,1),(74611,1),(74614,1),(74617,1),(74624,1),(74626,1),(74632,1),(74640,1),(74649,1),(74653,1),(74658,1),(74661,1),(74662,1),(74667,1),(74672,1),(74675,1),(74676,1),(74690,1),(74694,1),(74695,1),(74697,1),(74720,1),(74723,1),(74730,1),(74735,1),(74738,1),(74749,1),(74752,1),(74754,1),(74762,1),(74764,1),(74767,1),(74769,1),(74777,1),(74780,1),(74810,1),(74814,1),(74823,1),(74825,1),(74826,1),(74830,1),(74832,1),(74859,1),(74864,1),(74867,1),(74879,1),(74887,1),(74891,1),(74909,1),(74919,1),(74920,1),(74922,1),(74926,1),(74932,1),(74937,1),(74941,1),(74948,1),(74955,1),(74956,1),(74970,1),(74975,1),(74990,1),(74993,1),(75000,1),(75002,1),(75004,1),(75006,1),(75008,1),(75009,1),(75011,1),(75024,1),(75042,1),(75046,1),(75054,1),(75058,1),(75060,1),(75091,1),(75092,1),(75095,1),(75103,1),(75104,1),(75113,1),(75117,1),(75119,1),(75125,1),(75135,1),(75137,1),(75140,1),(75162,1),(75163,1),(75164,1),(75167,1),(75170,1),(75178,1),(75180,1),(75189,1),(75193,1),(75204,1),(75209,1),(75215,1),(75222,1),(75235,1),(75240,1),(75248,1),(75250,1),(75260,1),(75264,1),(75265,1),(75270,1),(75277,1),(75278,1),(75282,1),(75283,1),(75284,1),(75288,1),(75304,1),(75305,1),(75313,1),(75314,1),(75316,1),(75325,1),(75326,1),(75329,1),(75346,1),(75349,1),(75351,1),(75369,1),(75389,1),(75391,1),(75396,1),(75406,1),(75407,1),(75408,1),(75416,1),(75419,1),(75422,1),(75429,1),(75434,1),(75441,1),(75445,1),(75449,1),(75463,1),(75476,1),(75477,1),(75484,1),(75493,1),(75496,1),(75498,1),(75503,1),(75514,1),(75516,1),(75521,1),(75523,1),(75524,1),(75530,1),(75532,1),(75548,1),(75550,1),(75551,1),(75567,1),(75569,1),(75577,1),(75579,1),(75580,1),(75586,1),(75589,1),(75591,1),(75606,1),(75608,1),(75613,1),(75615,1),(75619,1),(75627,1),(75630,1),(75635,1),(75637,1),(75641,1),(75648,1),(75659,1),(75663,1),(75665,1),(75674,1),(75684,1),(75695,1),(75697,1),(75699,1),(75701,1),(75711,1),(75728,1),(75729,1),(75735,1),(75736,1),(75739,1),(75742,1),(75746,1),(75764,1),(75768,1),(75773,1),(75780,1),(75785,1),(75787,1),(75793,1),(75805,1),(75808,1),(75821,1),(75828,1),(75832,1),(75835,1),(75838,1),(75841,1),(75850,1),(75865,1),(75870,1),(75879,1),(75885,1),(75890,1),(75898,1),(75904,1),(75920,1),(75928,1),(75929,1),(75935,1),(75959,1),(75961,1),(75966,1),(75988,1),(75991,1),(75998,1),(76004,1),(76011,1),(76024,1),(76029,1),(76030,1),(76031,1),(76036,1),(76041,1),(76043,1),(76045,1),(76056,1),(76058,1),(76060,1),(76071,1),(76072,1),(76077,1),(76080,1),(76083,1),(76084,1),(76085,1),(76087,1),(76097,1),(76108,1),(76110,1),(76114,1),(76117,1),(76118,1),(76119,1),(76122,1),(76140,1),(76145,1),(76166,1),(76168,1),(76178,1),(76183,1),(76186,1),(76188,1),(76196,1),(76209,1),(76227,1),(76236,1),(76244,1),(76249,1),(76258,1),(76260,1),(76274,1),(76280,1),(76281,1),(76283,1),(76294,1),(76298,1),(76308,1),(76313,1),(76315,1),(76319,1),(76329,1),(76337,1),(76345,1),(76349,1),(76350,1),(76361,1),(76367,1),(76369,1),(76371,1),(76375,1),(76378,1),(76382,1),(76411,1),(76412,1),(76420,1),(76430,1),(76432,1),(76438,1),(76441,1),(76445,1),(76450,1),(76452,1),(76458,1),(76460,1),(76461,1),(76463,1),(76467,1),(76473,1),(76474,1),(76480,1),(76483,1),(76484,1),(76486,1),(76488,1),(76491,1),(76494,1),(76505,1),(76506,1),(76510,1),(76512,1),(76516,1),(76527,1),(76528,1),(76541,1),(76552,1),(76553,1),(76554,1),(76556,1),(76557,1),(76564,1),(76567,1),(76578,1),(76586,1),(76591,1),(76606,1),(76615,1),(76617,1),(76618,1),(76625,1),(76627,1),(76633,1),(76636,1),(76643,1),(76648,1),(76652,1),(76655,1),(76657,1),(76659,1),(76660,1),(76663,1),(76664,1),(76668,1),(76670,1),(76671,1),(76679,1),(76689,1),(76696,1),(76705,1),(76706,1),(76707,1),(76712,1),(76726,1),(76728,1),(76742,1),(76743,1),(76747,1),(76751,1),(76753,1),(76756,1),(76764,1),(76770,1),(76771,1),(76778,1),(76780,1),(76786,1),(76793,1),(76795,1),(76805,1),(76807,1),(76813,1),(76814,1),(76816,1),(76819,1),(76820,1),(76824,1),(76832,1),(76842,1),(76845,1),(76847,1),(76855,1),(76860,1),(76862,1),(76864,1),(76872,1),(76873,1),(76881,1),(76894,1),(76897,1),(76902,1),(76904,1),(76908,1),(76909,1),(76912,1),(76916,1),(76921,1),(76924,1),(76926,1),(76935,1),(76937,1),(76948,1),(76949,1),(76950,1),(76955,1),(76960,1),(76965,1),(76970,1),(76974,1),(76977,1),(76979,1),(76983,1),(76986,1),(77009,1),(77045,1),(77046,1),(77047,1),(77051,1),(77065,1),(77072,1),(77074,1),(77080,1),(77084,1),(77094,1),(77101,1),(77105,1),(77109,1),(77111,1),(77112,1),(77113,1),(77115,1),(77123,1),(77137,1),(77144,1),(77148,1),(77162,1),(77168,1),(77170,1),(77174,1),(77188,1),(77191,1),(77194,1),(77195,1),(77204,1),(77208,1),(77209,1),(77216,1),(77222,1),(77224,1),(77226,1),(77237,1),(77240,1),(77251,1),(77255,1),(77266,1),(77274,1),(77275,1),(77291,1),(77305,1),(77307,1),(77313,1),(77314,1),(77316,1),(77317,1),(77332,1),(77335,1),(77345,1),(77352,1),(77366,1),(77384,1),(77385,1),(77395,1),(77397,1),(77401,1),(77405,1),(77407,1),(77419,1),(77429,1),(77432,1),(77445,1),(77446,1),(77453,1),(77459,1),(77463,1),(77469,1),(77471,1),(77477,1),(77481,1),(77487,1),(77488,1),(77499,1),(77501,1),(77504,1),(77508,1),(77512,1),(77513,1),(77526,1),(77527,1),(77531,1),(77546,1),(77555,1),(77557,1),(77561,1),(77570,1),(77576,1),(77582,1),(77590,1),(77592,1),(77598,1),(77599,1),(77602,1),(77604,1),(77605,1),(77606,1),(77608,1),(77613,1),(77614,1),(77615,1),(77625,1),(77630,1),(77636,1),(77645,1),(77654,1),(77659,1),(77663,1),(77669,1),(77675,1),(77683,1),(77685,1),(77690,1),(77698,1),(77703,1),(77707,1),(77708,1),(77713,1),(77716,1),(77718,1),(77724,1),(77725,1),(77730,1),(77741,1),(77745,1),(77748,1),(77749,1),(77762,1),(77765,1),(77770,1),(77787,1),(77793,1),(77798,1),(77803,1),(77804,1),(77805,1),(77812,1),(77815,1),(77824,1),(77829,1),(77837,1),(77840,1),(77841,1),(77847,1),(77849,1),(77858,1),(77866,1),(77869,1),(77873,1),(77899,1),(77911,1),(77925,1),(77926,1),(77932,1),(77936,1),(77937,1),(77941,1),(77947,1),(77951,1),(77958,1),(77966,1),(77974,1),(77976,1),(77985,1),(77990,1),(77996,1),(78012,1),(78017,1),(78019,1),(78026,1),(78037,1),(78041,1),(78057,1),(78068,1),(78077,1),(78078,1),(78086,1),(78087,1),(78088,1),(78094,1),(78099,1),(78108,1),(78121,1),(78126,1),(78130,1),(78138,1),(78148,1),(78151,1),(78156,1),(78164,1),(78181,1),(78183,1),(78188,1),(78189,1),(78194,1),(78199,1),(78207,1),(78209,1),(78212,1),(78219,1),(78220,1),(78230,1),(78231,1),(78232,1),(78236,1),(78238,1),(78240,1),(78244,1),(78254,1),(78259,1),(78263,1),(78271,1),(78275,1),(78285,1),(78286,1),(78295,1),(78303,1),(78304,1),(78308,1),(78315,1),(78318,1),(78322,1),(78323,1),(78324,1),(78334,1),(78356,1),(78362,1),(78364,1),(78370,1),(78377,1),(78384,1),(78389,1),(78391,1),(78423,1),(78424,1),(78430,1),(78436,1),(78445,1),(78463,1),(78464,1),(78471,1),(78488,1),(78491,1),(78494,1),(78496,1),(78506,1),(78521,1),(78551,1),(78572,1),(78581,1),(78597,1),(78600,1),(78601,1),(78606,1),(78616,1),(78619,1),(78631,1),(78633,1),(78637,1),(78638,1),(78659,1),(78663,1),(78664,1),(78669,1),(78676,1),(78678,1),(78684,1),(78689,1),(78691,1),(78695,1),(78698,1),(78699,1),(78701,1),(78705,1),(78713,1),(78718,1),(78723,1),(78729,1),(78730,1),(78733,1),(78748,1),(78754,1),(78757,1),(78762,1),(78776,1),(78779,1),(78780,1),(78784,1),(78792,1),(78796,1),(78799,1),(78802,1),(78817,1),(78819,1),(78821,1),(78826,1),(78832,1),(78841,1),(78851,1),(78859,1),(78866,1),(78871,1),(78876,1),(78880,1),(78907,1),(78924,1),(78927,1),(78929,1),(78931,1),(78933,1),(78943,1),(78945,1),(78952,1),(78968,1),(78975,1),(78984,1),(78998,1),(79005,1),(79009,1),(79012,1),(79013,1),(79015,1),(79018,1),(79020,1),(79024,1),(79029,1),(79040,1),(79043,1),(79046,1),(79056,1),(79073,1),(79074,1),(79077,1),(79085,1),(79087,1),(79094,1),(79099,1),(79100,1),(79120,1),(79121,1),(79122,1),(79124,1),(79125,1),(79126,1),(79143,1),(79150,1),(79151,1),(79162,1),(79168,1),(79169,1),(79170,1),(79173,1),(79187,1),(79195,1),(79199,1),(79227,1),(79235,1),(79241,1),(79250,1),(79252,1),(79261,1),(79273,1),(79277,1),(79278,1),(79279,1),(79289,1),(79300,1),(79318,1),(79321,1),(79325,1),(79348,1),(79350,1),(79351,1),(79358,1),(79371,1),(79378,1),(79386,1),(79392,1),(79399,1),(79407,1),(79416,1),(79417,1),(79421,1),(79422,1),(79435,1),(79439,1),(79442,1),(79449,1),(79461,1),(79464,1),(79468,1),(79469,1),(79476,1),(79480,1),(79485,1),(79491,1),(79492,1),(79502,1),(79511,1),(79520,1),(79525,1),(79527,1),(79531,1),(79549,1),(79552,1),(79567,1),(79580,1),(79588,1),(79591,1),(79592,1),(79605,1),(79613,1),(79630,1),(79633,1),(79643,1),(79648,1),(79649,1),(79653,1),(79654,1),(79657,1),(79670,1),(79676,1),(79683,1),(79688,1),(79695,1),(79696,1),(79704,1),(79710,1),(79717,1),(79720,1),(79724,1),(79729,1),(79731,1),(79740,1),(79744,1),(79758,1),(79760,1),(79779,1),(79785,1),(79786,1),(79787,1),(79794,1),(79796,1),(79803,1),(79826,1),(79842,1),(79844,1),(79848,1),(79862,1),(79865,1),(79869,1),(79872,1),(79881,1),(79887,1),(79892,1),(79910,1),(79914,1),(79919,1),(79924,1),(79927,1),(79933,1),(79940,1),(79942,1),(79946,1),(79948,1),(79951,1),(79960,1),(79967,1),(79969,1),(79975,1),(79979,1),(79980,1),(79982,1),(79985,1),(79989,1),(79990,1),(79995,1),(79998,1),(80000,1),(80006,1),(80011,1),(80025,1),(80032,1),(80040,1),(80042,1),(80045,1),(80067,1),(80087,1),(80093,1),(80103,1),(80112,1),(80114,1),(80117,1),(80126,1),(80127,1),(80150,1),(80153,1),(80155,1),(80170,1),(80176,1),(80184,1),(80185,1),(80188,1),(80189,1),(80197,1),(80231,1),(80247,1),(80249,1),(80259,1),(80262,1),(80274,1),(80296,1),(80309,1),(80310,1),(80328,1),(80330,1),(80333,1),(80334,1),(80335,1),(80339,1),(80347,1),(80353,1),(80361,1),(80375,1),(80380,1),(80386,1),(80413,1),(80420,1),(80427,1),(80449,1),(80452,1),(80454,1),(80455,1),(80456,1),(80458,1),(80475,1),(80479,1),(80489,1),(80493,1),(80498,1),(80510,1),(80516,1),(80517,1),(80521,1),(80541,1),(80555,1),(80559,1),(80560,1),(80564,1),(80573,1),(80579,1),(80607,1),(80620,1),(80626,1),(80642,1),(80651,1),(80655,1),(80662,1),(80663,1),(80678,1),(80679,1),(80680,1),(80685,1),(80690,1),(80696,1),(80699,1),(80703,1),(80704,1),(80705,1),(80710,1),(80730,1),(80742,1),(80758,1),(80765,1),(80769,1),(80771,1),(80777,1),(80783,1),(80792,1),(80793,1),(80796,1),(80800,1),(80801,1),(80802,1),(80807,1),(80808,1),(80819,1),(80820,1),(80828,1),(80830,1),(80832,1),(80835,1),(80837,1),(80841,1),(80843,1),(80850,1),(80860,1),(80883,1),(80884,1),(80887,1),(80896,1),(80900,1),(80913,1),(80925,1),(80929,1),(80931,1),(80943,1),(80946,1),(80952,1),(80955,1),(80958,1),(80967,1),(80969,1),(80977,1),(80978,1),(80986,1),(80989,1),(80990,1),(80991,1),(80992,1),(80995,1),(80998,1),(81005,1),(81010,1),(81015,1),(81033,1),(81037,1),(81039,1),(81040,1),(81044,1),(81046,1),(81047,1),(81049,1),(81056,1),(81067,1),(81085,1),(81096,1),(81099,1),(81105,1),(81111,1),(81116,1),(81117,1),(81119,1),(81122,1),(81130,1),(81131,1),(81139,1),(81157,1),(81167,1),(81179,1),(81187,1),(81188,1),(81191,1),(81193,1),(81196,1),(81202,1),(81206,1),(81216,1),(81228,1),(81231,1),(81233,1),(81243,1),(81252,1),(81269,1),(81270,1),(81271,1),(81274,1),(81280,1),(81287,1),(81295,1),(81298,1),(81309,1),(81310,1),(81311,1),(81313,1),(81315,1),(81318,1),(81327,1),(81328,1),(81334,1),(81336,1),(81346,1),(81348,1),(81349,1),(81353,1),(81361,1),(81370,1),(81378,1),(81385,1),(81390,1),(81400,1),(81401,1),(81407,1),(81412,1),(81413,1),(81415,1),(81429,1),(81431,1),(81438,1),(81453,1),(81454,1),(81462,1),(81474,1),(81481,1),(81482,1),(81495,1),(81499,1),(81500,1),(81504,1),(81505,1),(81520,1),(81524,1),(81525,1),(81528,1),(81530,1),(81533,1),(81534,1),(81536,1),(81547,1),(81549,1),(81565,1),(81569,1),(81572,1),(81578,1),(81588,1),(81590,1),(81591,1),(81592,1),(81607,1),(81618,1),(81622,1),(81626,1),(81634,1),(81643,1),(81646,1),(81652,1),(81655,1),(81668,1),(81675,1),(81680,1),(81688,1),(81695,1),(81715,1),(81720,1),(81724,1),(81740,1),(81756,1),(81759,1),(81763,1),(81774,1),(81779,1),(81782,1),(81786,1),(81792,1),(81798,1),(81805,1),(81806,1),(81809,1),(81811,1),(81815,1),(81821,1),(81824,1),(81831,1),(81832,1),(81852,1),(81866,1),(81871,1),(81873,1),(81876,1),(81890,1),(81896,1),(81906,1),(81913,1),(81914,1),(81925,1),(81926,1),(81936,1),(81945,1),(81947,1),(81954,1),(81959,1),(81961,1),(81965,1),(81966,1),(81967,1),(81969,1),(81971,1),(81972,1),(81980,1),(81981,1),(81989,1),(81990,1),(81993,1),(81994,1),(82006,1),(82029,1),(82032,1),(82037,1),(82042,1),(82046,1),(82051,1),(82055,1),(82060,1),(82061,1),(82073,1),(82076,1),(82079,1),(82081,1),(82083,1),(82085,1),(82112,1),(82123,1),(82128,1),(82142,1),(82143,1),(82146,1),(82157,1),(82163,1),(82167,1),(82177,1),(82180,1),(82184,1),(82186,1),(82190,1),(82213,1),(82215,1),(82220,1),(82222,1),(82235,1),(82236,1),(82255,1),(82259,1),(82273,1),(82279,1),(82283,1),(82294,1),(82298,1),(82307,1),(82318,1),(82319,1),(82320,1),(82346,1),(82348,1),(82363,1),(82366,1),(82381,1),(82394,1),(82398,1),(82404,1),(82410,1),(82414,1),(82416,1),(82424,1),(82425,1),(82428,1),(82447,1),(82448,1),(82468,1),(82483,1),(82494,1),(82495,1),(82496,1),(82497,1),(82501,1),(82502,1),(82511,1),(82515,1),(82523,1),(82526,1),(82551,1),(82552,1),(82566,1),(82571,1),(82573,1),(82575,1),(82576,1),(82579,1),(82580,1),(82581,1),(82585,1),(82589,1),(82590,1),(82603,1),(82604,1),(82617,1),(82620,1),(82625,1),(82632,1),(82643,1),(82649,1),(82667,1),(82675,1),(82677,1),(82686,1),(82689,1),(82692,1),(82695,1),(82696,1),(82702,1),(82706,1),(82708,1),(82712,1),(82718,1),(82724,1),(82731,1),(82735,1),(82742,1),(82745,1),(82750,1),(82757,1),(82759,1),(82762,1),(82764,1),(82773,1),(82790,1),(82793,1),(82832,1),(82841,1),(82846,1),(82859,1),(82873,1),(82878,1),(82881,1),(82891,1),(82892,1),(82897,1),(82908,1),(82911,1),(82923,1),(82937,1),(82942,1),(82948,1),(82951,1),(82957,1),(82960,1),(82965,1),(82973,1),(82976,1),(82980,1),(82983,1),(82984,1),(82985,1),(82992,1),(82998,1),(83006,1),(83008,1),(83009,1),(83022,1),(83035,1),(83036,1),(83056,1),(83062,1),(83063,1),(83064,1),(83065,1),(83075,1),(83077,1),(83078,1),(83080,1),(83083,1),(83084,1),(83100,1),(83110,1),(83113,1),(83114,1),(83122,1),(83125,1),(83133,1),(83136,1),(83145,1),(83159,1),(83172,1),(83177,1),(83181,1),(83185,1),(83188,1),(83190,1),(83202,1),(83214,1),(83217,1),(83221,1),(83223,1),(83231,1),(83233,1),(83237,1),(83238,1),(83239,1),(83249,1),(83253,1),(83268,1),(83269,1),(83273,1),(83274,1),(83278,1),(83280,1),(83284,1),(83285,1),(83294,1),(83298,1),(83299,1),(83301,1),(83307,1),(83310,1),(83331,1),(83349,1),(83352,1),(83357,1),(83360,1),(83363,1),(83365,1),(83373,1),(83374,1),(83379,1),(83382,1),(83386,1),(83390,1),(83391,1),(83394,1),(83400,1),(83411,1),(83426,1),(83435,1),(83441,1),(83455,1),(83457,1),(83459,1),(83462,1),(83463,1),(83467,1),(83497,1),(83498,1),(83512,1),(83518,1),(83522,1),(83531,1),(83533,1),(83541,1),(83544,1),(83551,1),(83556,1),(83573,1),(83580,1),(83585,1),(83593,1),(83605,1),(83606,1),(83609,1),(83616,1),(83618,1),(83628,1),(83630,1),(83638,1),(83652,1),(83654,1),(83660,1),(83670,1),(83683,1),(83687,1),(83689,1),(83690,1),(83691,1),(83699,1),(83700,1),(83701,1),(83705,1),(83708,1),(83710,1),(83711,1),(83713,1),(83723,1),(83734,1),(83735,1),(83748,1),(83753,1),(83758,1),(83773,1),(83775,1),(83781,1),(83782,1),(83786,1),(83787,1),(83790,1),(83797,1),(83799,1),(83809,1),(83810,1),(83811,1),(83814,1),(83827,1),(83828,1),(83830,1),(83841,1),(83869,1),(83871,1),(83876,1),(83880,1),(83885,1),(83888,1),(83897,1),(83907,1),(83934,1),(83939,1),(83944,1),(83945,1),(83946,1),(83948,1),(83958,1),(83959,1),(83967,1),(83968,1),(83970,1),(83988,1),(84006,1),(84011,1),(84018,1),(84038,1),(84040,1),(84045,1),(84049,1),(84050,1),(84051,1),(84057,1),(84067,1),(84079,1),(84082,1),(84085,1),(84086,1),(84094,1),(84107,1),(84113,1),(84115,1),(84123,1),(84131,1),(84146,1),(84156,1),(84165,1),(84167,1),(84176,1),(84187,1),(84191,1),(84198,1),(84200,1),(84205,1),(84207,1),(84216,1),(84218,1),(84226,1),(84231,1),(84238,1),(84248,1),(84249,1),(84251,1),(84254,1),(84268,1),(84287,1),(84288,1),(84289,1),(84294,1),(84295,1),(84298,1),(84301,1),(84318,1),(84321,1),(84325,1),(84335,1),(84338,1),(84339,1),(84347,1),(84363,1),(84367,1),(84371,1),(84376,1),(84381,1),(84399,1),(84409,1),(84422,1),(84426,1),(84433,1),(84441,1),(84445,1),(84446,1),(84453,1),(84462,1),(84466,1),(84469,1),(84476,1),(84482,1),(84489,1),(84496,1),(84501,1),(84503,1),(84508,1),(84512,1),(84534,1),(84535,1),(84542,1),(84547,1),(84552,1),(84553,1),(84555,1),(84558,1),(84562,1),(84568,1),(84574,1),(84583,1),(84584,1),(84585,1),(84597,1),(84598,1),(84600,1),(84602,1),(84609,1),(84613,1),(84614,1),(84642,1),(84653,1),(84654,1),(84660,1),(84662,1),(84675,1),(84683,1),(84684,1),(84692,1),(84696,1),(84702,1),(84707,1),(84708,1),(84709,1),(84714,1),(84718,1),(84719,1),(84722,1),(84733,1),(84745,1),(84749,1),(84755,1),(84774,1),(84782,1),(84795,1),(84802,1),(84808,1),(84814,1),(84815,1),(84819,1),(84823,1),(84825,1),(84831,1),(84836,1),(84839,1),(84844,1),(84851,1),(84855,1),(84856,1),(84857,1),(84860,1),(84868,1),(84871,1),(84875,1),(84878,1),(84885,1),(84887,1),(84895,1),(84901,1),(84904,1),(84909,1),(84914,1),(84922,1),(84926,1),(84938,1),(84944,1),(84947,1),(84948,1),(84949,1),(84951,1),(84954,1),(84959,1),(84961,1),(84971,1),(84972,1),(84973,1),(84974,1),(85015,1),(85023,1),(85036,1),(85039,1),(85042,1),(85044,1),(85062,1),(85071,1),(85091,1),(85100,1),(85111,1),(85119,1),(85122,1),(85129,1),(85132,1),(85136,1),(85142,1),(85149,1),(85151,1),(85153,1),(85155,1),(85169,1),(85174,1),(85175,1),(85177,1),(85189,1),(85196,1),(85200,1),(85207,1),(85214,1),(85223,1),(85229,1),(85236,1),(85242,1),(85246,1),(85253,1),(85260,1),(85270,1),(85275,1),(85278,1),(85280,1),(85288,1),(85293,1),(85295,1),(85296,1),(85301,1),(85335,1),(85339,1),(85342,1),(85347,1),(85361,1),(85369,1),(85374,1),(85379,1),(85384,1),(85388,1),(85389,1),(85390,1),(85395,1),(85408,1),(85411,1),(85415,1),(85418,1),(85421,1),(85444,1),(85451,1),(85454,1),(85457,1),(85458,1),(85461,1),(85474,1),(85483,1),(85491,1),(85497,1),(85499,1),(85504,1),(85526,1),(85529,1),(85540,1),(85553,1),(85554,1),(85556,1),(85571,1),(85576,1),(85578,1),(85582,1),(85593,1),(85597,1),(85602,1),(85609,1),(85611,1),(85617,1),(85620,1),(85624,1),(85627,1),(85634,1),(85636,1),(85651,1),(85659,1),(85663,1),(85668,1),(85669,1),(85687,1),(85700,1),(85703,1),(85706,1),(85708,1),(85737,1),(85738,1),(85742,1),(85745,1),(85753,1),(85754,1),(85768,1),(85770,1),(85772,1),(85776,1),(85783,1),(85793,1),(85797,1),(85798,1),(85800,1),(85812,1),(85821,1),(85822,1),(85842,1),(85843,1),(85844,1),(85850,1),(85857,1),(85858,1),(85868,1),(85877,1),(85893,1),(85896,1),(85900,1),(85908,1),(85914,1),(85919,1),(85924,1),(85928,1),(85932,1),(85933,1),(85949,1),(85957,1),(85960,1),(85965,1),(85969,1),(85973,1),(85977,1),(85978,1),(85988,1),(85991,1),(85999,1),(86004,1),(86007,1),(86019,1),(86031,1),(86035,1),(86037,1),(86038,1),(86042,1),(86047,1),(86049,1),(86051,1),(86053,1),(86056,1),(86058,1),(86069,1),(86070,1),(86072,1),(86076,1),(86083,1),(86087,1),(86089,1),(86094,1),(86111,1),(86118,1),(86122,1),(86124,1),(86125,1),(86127,1),(86149,1),(86153,1),(86156,1),(86158,1),(86179,1),(86186,1),(86187,1),(86189,1),(86209,1),(86215,1),(86219,1),(86225,1),(86226,1),(86228,1),(86229,1),(86236,1),(86243,1),(86288,1),(86294,1),(86303,1),(86304,1),(86330,1),(86335,1),(86337,1),(86353,1),(86360,1),(86369,1),(86390,1),(86391,1),(86402,1),(86420,1),(86424,1),(86426,1),(86427,1),(86434,1),(86437,1),(86439,1),(86443,1),(86451,1),(86453,1),(86456,1),(86458,1),(86459,1),(86464,1),(86466,1),(86476,1),(86477,1),(86499,1),(86500,1),(86507,1),(86509,1),(86518,1),(86522,1),(86530,1),(86531,1),(86532,1),(86537,1),(86541,1),(86544,1),(86550,1),(86552,1),(86570,1),(86573,1),(86579,1),(86580,1),(86584,1),(86586,1),(86588,1),(86601,1),(86606,1),(86607,1),(86608,1),(86609,1),(86615,1),(86620,1),(86625,1),(86635,1),(86638,1),(86639,1),(86646,1),(86647,1),(86653,1),(86656,1),(86659,1),(86665,1),(86672,1),(86673,1),(86682,1),(86695,1),(86705,1),(86707,1),(86711,1),(86719,1),(86743,1),(86745,1),(86749,1),(86753,1),(86769,1),(86774,1),(86780,1),(86784,1),(86790,1),(86791,1),(86803,1),(86808,1),(86811,1),(86841,1),(86846,1),(86849,1),(86852,1),(86853,1),(86862,1),(86865,1),(86868,1),(86882,1),(86883,1),(86888,1),(86898,1),(86904,1),(86911,1),(86917,1),(86918,1),(86922,1),(86925,1),(86939,1),(86948,1),(86949,1),(86955,1),(86964,1),(86966,1),(86980,1),(87004,1),(87013,1),(87016,1),(87020,1),(87021,1),(87022,1),(87031,1),(87035,1),(87042,1),(87043,1),(87066,1),(87068,1),(87081,1),(87084,1),(87085,1),(87087,1),(87089,1),(87093,1),(87097,1),(87100,1),(87107,1),(87109,1),(87115,1),(87116,1),(87117,1),(87118,1),(87144,1),(87148,1),(87152,1),(87161,1),(87163,1),(87165,1),(87166,1),(87174,1),(87182,1),(87184,1),(87191,1),(87204,1),(87206,1),(87207,1),(87212,1),(87218,1),(87223,1),(87234,1),(87249,1),(87266,1),(87268,1),(87272,1),(87273,1),(87276,1),(87285,1),(87308,1),(87319,1),(87326,1),(87330,1),(87335,1),(87336,1),(87339,1),(87341,1),(87346,1),(87349,1),(87354,1),(87356,1),(87359,1),(87361,1),(87371,1),(87373,1),(87379,1),(87396,1),(87398,1),(87399,1),(87406,1),(87410,1),(87411,1),(87430,1),(87439,1),(87452,1),(87453,1),(87462,1),(87477,1),(87486,1),(87490,1),(87497,1),(87504,1),(87505,1),(87518,1),(87520,1),(87521,1),(87526,1),(87551,1),(87567,1),(87568,1),(87570,1),(87580,1),(87586,1),(87590,1),(87593,1),(87602,1),(87612,1),(87619,1),(87633,1),(87637,1),(87642,1),(87651,1),(87659,1),(87663,1),(87664,1),(87668,1),(87673,1),(87674,1),(87677,1),(87679,1),(87682,1),(87687,1),(87698,1),(87701,1),(87715,1),(87723,1),(87738,1),(87744,1),(87749,1),(87755,1),(87760,1),(87779,1),(87786,1),(87787,1),(87799,1),(87800,1),(87801,1),(87802,1),(87844,1),(87851,1),(87863,1),(87866,1),(87867,1),(87869,1),(87874,1),(87879,1),(87885,1),(87895,1),(87898,1),(87902,1),(87906,1),(87908,1),(87911,1),(87915,1),(87918,1),(87921,1),(87928,1),(87931,1),(87940,1),(87945,1),(87950,1),(87959,1),(87964,1),(87969,1),(87971,1),(87978,1),(87983,1),(87985,1),(87986,1),(87989,1),(87992,1),(87999,1),(88001,1),(88011,1),(88023,1),(88028,1),(88030,1),(88059,1),(88062,1),(88065,1),(88073,1),(88075,1),(88079,1),(88090,1),(88093,1),(88103,1),(88105,1),(88113,1),(88122,1),(88137,1),(88140,1),(88157,1),(88160,1),(88165,1),(88171,1),(88176,1),(88182,1),(88192,1),(88202,1),(88210,1),(88219,1),(88221,1),(88231,1),(88238,1),(88245,1),(88259,1),(88271,1),(88281,1),(88286,1),(88287,1),(88297,1),(88308,1),(88310,1),(88337,1),(88338,1),(88346,1),(88352,1),(88359,1),(88362,1),(88369,1),(88376,1),(88380,1),(88381,1),(88391,1),(88407,1),(88415,1),(88429,1),(88433,1),(88443,1),(88446,1),(88452,1),(88454,1),(88462,1),(88469,1),(88471,1),(88475,1),(88477,1),(88495,1),(88504,1),(88521,1),(88526,1),(88535,1),(88536,1),(88543,1),(88550,1),(88551,1),(88555,1),(88557,1),(88558,1),(88560,1),(88574,1),(88585,1),(88590,1),(88593,1),(88598,1),(88605,1),(88609,1),(88619,1),(88620,1),(88622,1),(88633,1),(88645,1),(88650,1),(88652,1),(88658,1),(88662,1),(88673,1),(88688,1),(88706,1),(88723,1),(88728,1),(88729,1),(88730,1),(88732,1),(88734,1),(88737,1),(88750,1),(88766,1),(88768,1),(88774,1),(88779,1),(88782,1),(88792,1),(88801,1),(88814,1),(88816,1),(88820,1),(88822,1),(88824,1),(88834,1),(88836,1),(88837,1),(88840,1),(88841,1),(88844,1),(88867,1),(88885,1),(88886,1),(88887,1),(88888,1),(88902,1),(88910,1),(88916,1),(88925,1),(88926,1),(88932,1),(88942,1),(88948,1),(88949,1),(88964,1),(88965,1),(88969,1),(88975,1),(88976,1),(88986,1),(89001,1),(89006,1),(89014,1),(89018,1),(89022,1),(89023,1),(89032,1),(89040,1),(89047,1),(89069,1),(89076,1),(89078,1),(89088,1),(89090,1),(89093,1),(89094,1),(89108,1),(89116,1),(89117,1),(89123,1),(89124,1),(89125,1),(89132,1),(89147,1),(89149,1),(89151,1),(89154,1),(89160,1),(89184,1),(89187,1),(89188,1),(89207,1),(89217,1),(89221,1),(89223,1),(89226,1),(89227,1),(89229,1),(89231,1),(89235,1),(89241,1),(89242,1),(89250,1),(89255,1),(89259,1),(89276,1),(89282,1),(89290,1),(89293,1),(89294,1),(89297,1),(89300,1),(89307,1),(89313,1),(89316,1),(89321,1),(89331,1),(89339,1),(89343,1),(89347,1),(89364,1),(89379,1),(89385,1),(89387,1),(89396,1),(89397,1),(89400,1),(89401,1),(89410,1),(89417,1),(89444,1),(89451,1),(89452,1),(89476,1),(89479,1),(89482,1),(89486,1),(89488,1),(89490,1),(89497,1),(89498,1),(89501,1),(89506,1),(89510,1),(89521,1),(89524,1),(89527,1),(89548,1),(89551,1),(89564,1),(89569,1),(89571,1),(89574,1),(89585,1),(89589,1),(89593,1),(89598,1),(89605,1),(89617,1),(89623,1),(89630,1),(89635,1),(89639,1),(89646,1),(89663,1),(89672,1),(89676,1),(89679,1),(89695,1),(89697,1),(89712,1),(89713,1),(89714,1),(89715,1),(89716,1),(89720,1),(89724,1),(89728,1),(89747,1),(89749,1),(89757,1),(89761,1),(89762,1),(89764,1),(89775,1),(89787,1),(89793,1),(89795,1),(89806,1),(89811,1),(89818,1),(89820,1),(89821,1),(89832,1),(89835,1),(89848,1),(89852,1),(89867,1),(89868,1),(89870,1),(89873,1),(89877,1),(89878,1),(89882,1),(89891,1),(89892,1),(89894,1),(89904,1),(89923,1),(89926,1),(89929,1),(89935,1),(89942,1),(89943,1),(89944,1),(89945,1),(89950,1),(89952,1),(89957,1),(89965,1),(89969,1),(89979,1),(89982,1),(89985,1),(89996,1),(90001,1),(90006,1),(90014,1),(90016,1),(90028,1),(90035,1),(90041,1),(90046,1),(90050,1),(90067,1),(90073,1),(90084,1),(90093,1),(90096,1),(90099,1),(90101,1),(90106,1),(90111,1),(90115,1),(90119,1),(90131,1),(90137,1),(90140,1),(90142,1),(90144,1),(90146,1),(90151,1),(90152,1),(90156,1),(90157,1),(90158,1),(90163,1),(90164,1),(90167,1),(90168,1),(90171,1),(90172,1),(90179,1),(90185,1),(90188,1),(90198,1),(90199,1),(90210,1),(90221,1),(90224,1),(90229,1),(90232,1),(90239,1),(90240,1),(90243,1),(90244,1),(90250,1),(90259,1),(90260,1),(90261,1),(90264,1),(90277,1),(90278,1),(90302,1),(90321,1),(90323,1),(90326,1),(90328,1),(90333,1),(90337,1),(90339,1),(90342,1),(90346,1),(90348,1),(90351,1),(90361,1),(90369,1),(90379,1),(90393,1),(90395,1),(90396,1),(90398,1),(90401,1),(90402,1),(90411,1),(90413,1),(90427,1),(90432,1),(90434,1),(90437,1),(90448,1),(90466,1),(90469,1),(90482,1),(90486,1),(90488,1),(90489,1),(90490,1),(90496,1),(90502,1),(90511,1),(90514,1),(90518,1),(90531,1),(90533,1),(90536,1),(90539,1),(90557,1),(90571,1),(90582,1),(90592,1),(90595,1),(90598,1),(90605,1),(90607,1),(90608,1),(90615,1),(90623,1),(90624,1),(90633,1),(90636,1),(90641,1),(90643,1),(90654,1),(90655,1),(90657,1),(90666,1),(90674,1),(90677,1),(90686,1),(90708,1),(90725,1),(90726,1),(90729,1),(90732,1),(90744,1),(90755,1),(90756,1),(90757,1),(90763,1),(90768,1),(90777,1),(90786,1),(90789,1),(90793,1),(90796,1),(90802,1),(90803,1),(90806,1),(90813,1),(90823,1),(90831,1),(90844,1),(90845,1),(90846,1),(90847,1),(90852,1),(90858,1),(90860,1),(90865,1),(90880,1),(90891,1),(90895,1),(90896,1),(90899,1),(90906,1),(90907,1),(90908,1),(90914,1),(90915,1),(90917,1),(90924,1),(90927,1),(90952,1),(90962,1),(90976,1),(90988,1),(90989,1),(90991,1),(91000,1),(91006,1),(91012,1),(91015,1),(91024,1),(91043,1),(91047,1),(91076,1),(91095,1),(91102,1),(91111,1),(91116,1),(91122,1),(91132,1),(91141,1),(91144,1),(91151,1),(91157,1),(91158,1),(91160,1),(91166,1),(91171,1),(91172,1),(91176,1),(91177,1),(91185,1),(91190,1),(91194,1),(91202,1),(91203,1),(91208,1),(91217,1),(91227,1),(91228,1),(91240,1),(91243,1),(91250,1),(91265,1),(91267,1),(91271,1),(91276,1),(91281,1),(91285,1),(91290,1),(91291,1),(91295,1),(91297,1),(91298,1),(91302,1),(91307,1),(91321,1),(91325,1),(91327,1),(91328,1),(91341,1),(91350,1),(91357,1),(91358,1),(91361,1),(91370,1),(91371,1),(91378,1),(91391,1),(91393,1),(91402,1),(91409,1),(91414,1),(91421,1),(91431,1),(91435,1),(91437,1),(91442,1),(91453,1),(91462,1),(91476,1),(91488,1),(91491,1),(91497,1),(91499,1),(91506,1),(91507,1),(91515,1),(91521,1),(91527,1),(91543,1),(91558,1),(91565,1),(91578,1),(91586,1),(91595,1),(91600,1),(91604,1),(91615,1),(91623,1),(91627,1),(91637,1),(91653,1),(91654,1),(91655,1),(91656,1),(91666,1),(91673,1),(91677,1),(91682,1),(91689,1),(91690,1),(91693,1),(91699,1),(91723,1),(91734,1),(91740,1),(91743,1),(91755,1),(91758,1),(91760,1),(91763,1),(91771,1),(91772,1),(91774,1),(91776,1),(91777,1),(91781,1),(91782,1),(91784,1),(91789,1),(91795,1),(91797,1),(91799,1),(91804,1),(91806,1),(91812,1),(91824,1),(91828,1),(91833,1),(91848,1),(91852,1),(91858,1),(91861,1),(91866,1),(91867,1),(91869,1),(91874,1),(91889,1),(91890,1),(91897,1),(91899,1),(91920,1),(91932,1),(91935,1),(91944,1),(91958,1),(91959,1),(91977,1),(91978,1),(91984,1),(91986,1),(91995,1),(92001,1),(92002,1),(92015,1),(92025,1),(92031,1),(92035,1),(92051,1),(92056,1),(92057,1),(92066,1),(92076,1),(92095,1),(92098,1),(92099,1),(92103,1),(92108,1),(92114,1),(92124,1),(92125,1),(92126,1),(92127,1),(92134,1),(92139,1),(92145,1),(92148,1),(92150,1),(92153,1),(92154,1),(92155,1),(92158,1),(92161,1),(92163,1),(92173,1),(92177,1),(92184,1),(92190,1),(92191,1),(92197,1),(92198,1),(92202,1),(92216,1),(92235,1),(92240,1),(92249,1),(92256,1),(92257,1),(92259,1),(92261,1),(92283,1),(92288,1),(92299,1),(92301,1),(92306,1),(92313,1),(92315,1),(92317,1),(92330,1),(92335,1),(92347,1),(92348,1),(92349,1),(92382,1),(92390,1),(92398,1),(92399,1),(92400,1),(92401,1),(92402,1),(92404,1),(92411,1),(92415,1),(92423,1),(92437,1),(92438,1),(92444,1),(92447,1),(92448,1),(92449,1),(92470,1),(92477,1),(92478,1),(92480,1),(92483,1),(92488,1),(92491,1),(92498,1),(92502,1),(92517,1),(92518,1),(92520,1),(92523,1),(92533,1),(92545,1),(92549,1),(92555,1),(92565,1),(92568,1),(92591,1),(92592,1),(92593,1),(92599,1),(92603,1),(92605,1),(92606,1),(92608,1),(92611,1),(92616,1),(92623,1),(92633,1),(92634,1),(92638,1),(92653,1),(92654,1),(92659,1),(92664,1),(92666,1),(92669,1),(92687,1),(92694,1),(92697,1),(92703,1),(92709,1),(92711,1),(92712,1),(92713,1),(92719,1),(92725,1),(92734,1),(92736,1),(92737,1),(92738,1),(92754,1),(92755,1),(92765,1),(92766,1),(92781,1),(92783,1),(92791,1),(92792,1),(92798,1),(92803,1),(92806,1),(92815,1),(92818,1),(92819,1),(92823,1),(92826,1),(92841,1),(92842,1),(92845,1),(92876,1),(92877,1),(92882,1),(92886,1),(92889,1),(92890,1),(92891,1),(92907,1),(92916,1),(92917,1),(92919,1),(92926,1),(92929,1),(92930,1),(92938,1),(92945,1),(92957,1),(92958,1),(92960,1),(92965,1),(92977,1),(92996,1),(92998,1),(92999,1),(93024,1),(93025,1),(93028,1),(93047,1),(93052,1),(93059,1),(93066,1),(93069,1),(93083,1),(93085,1),(93092,1),(93093,1),(93097,1),(93103,1),(93106,1),(93118,1),(93123,1),(93140,1),(93143,1),(93147,1),(93157,1),(93162,1),(93165,1),(93182,1),(93191,1),(93198,1),(93203,1),(93207,1),(93208,1),(93213,1),(93220,1),(93226,1),(93229,1),(93230,1),(93231,1),(93251,1),(93261,1),(93270,1),(93271,1),(93280,1),(93281,1),(93289,1),(93295,1),(93296,1),(93301,1),(93306,1),(93307,1),(93311,1),(93318,1),(93321,1),(93326,1),(93332,1),(93341,1),(93343,1),(93348,1),(93355,1),(93357,1),(93370,1),(93374,1),(93377,1),(93379,1),(93387,1),(93398,1),(93403,1),(93404,1),(93408,1),(93410,1),(93419,1),(93424,1),(93425,1),(93426,1),(93429,1),(93442,1),(93458,1),(93466,1),(93471,1),(93478,1),(93480,1),(93487,1),(93488,1),(93505,1),(93506,1),(93509,1),(93511,1),(93518,1),(93524,1),(93528,1),(93533,1),(93538,1),(93543,1),(93553,1),(93559,1),(93570,1),(93577,1),(93582,1),(93591,1),(93593,1),(93612,1),(93615,1),(93616,1),(93617,1),(93627,1),(93631,1),(93636,1),(93646,1),(93650,1),(93660,1),(93661,1),(93662,1),(93678,1),(93684,1),(93686,1),(93694,1),(93704,1),(93705,1),(93707,1),(93715,1),(93721,1),(93723,1),(93729,1),(93735,1),(93737,1),(93741,1),(93749,1),(93750,1),(93753,1),(93759,1),(93769,1),(93773,1),(93774,1),(93781,1),(93783,1),(93785,1),(93798,1),(93807,1),(93820,1),(93824,1),(93826,1),(93827,1),(93834,1),(93837,1),(93851,1),(93854,1),(93858,1),(93859,1),(93861,1),(93864,1),(93866,1),(93870,1),(93872,1),(93873,1),(93874,1),(93876,1),(93879,1),(93883,1),(93896,1),(93905,1),(93911,1),(93919,1),(93938,1),(93944,1),(93949,1),(93950,1),(93951,1),(93952,1),(93965,1),(93968,1),(93981,1),(93982,1),(93984,1),(93987,1),(93997,1),(94001,1),(94003,1),(94007,1),(94010,1),(94012,1),(94015,1),(94016,1),(94019,1),(94034,1),(94037,1),(94043,1),(94046,1),(94051,1),(94054,1),(94065,1),(94066,1),(94078,1),(94079,1),(94082,1),(94083,1),(94086,1),(94093,1),(94094,1),(94097,1),(94099,1),(94109,1),(94118,1),(94120,1),(94121,1),(94126,1),(94129,1),(94144,1),(94149,1),(94156,1),(94168,1),(94170,1),(94175,1),(94176,1),(94178,1),(94189,1),(94191,1),(94196,1),(94201,1),(94209,1),(94213,1),(94226,1),(94239,1),(94244,1),(94248,1),(94250,1),(94256,1),(94261,1),(94265,1),(94273,1),(94285,1),(94286,1),(94292,1),(94303,1),(94318,1),(94348,1),(94354,1),(94362,1),(94370,1),(94373,1),(94376,1),(94380,1),(94393,1),(94400,1),(94404,1),(94427,1),(94439,1),(94446,1),(94468,1),(94470,1),(94476,1),(94481,1),(94486,1),(94488,1),(94489,1),(94490,1),(94493,1),(94502,1),(94508,1),(94515,1),(94522,1),(94524,1),(94527,1),(94532,1),(94537,1),(94538,1),(94539,1),(94544,1),(94556,1),(94566,1),(94571,1),(94572,1),(94575,1),(94580,1),(94584,1),(94586,1),(94587,1),(94592,1),(94626,1),(94628,1),(94631,1),(94637,1),(94643,1),(94645,1),(94654,1),(94670,1),(94682,1),(94702,1),(94718,1),(94724,1),(94728,1),(94743,1),(94744,1),(94751,1),(94755,1),(94767,1),(94775,1),(94781,1),(94790,1),(94795,1),(94800,1),(94821,1),(94823,1),(94844,1),(94847,1),(94848,1),(94852,1),(94859,1),(94861,1),(94864,1),(94865,1),(94877,1),(94882,1),(94885,1),(94890,1),(94892,1),(94894,1),(94921,1),(94925,1),(94933,1),(94936,1),(94944,1),(94950,1),(94957,1),(94966,1),(94967,1),(94971,1),(94974,1),(94975,1),(94979,1),(94986,1),(94989,1),(94998,1),(95000,1),(95011,1),(95013,1),(95020,1),(95026,1),(95034,1),(95036,1),(95052,1),(95059,1),(95071,1),(95072,1),(95073,1),(95074,1),(95077,1),(95085,1),(95095,1),(95099,1),(95103,1),(95108,1),(95109,1),(95110,1),(95127,1),(95130,1),(95131,1),(95142,1),(95149,1),(95154,1),(95165,1),(95167,1),(95169,1),(95170,1),(95174,1),(95180,1),(95193,1),(95194,1),(95197,1),(95217,1),(95225,1),(95233,1),(95235,1),(95236,1),(95243,1),(95246,1),(95257,1),(95259,1),(95260,1),(95264,1),(95265,1),(95267,1),(95271,1),(95275,1),(95301,1),(95307,1),(95308,1),(95313,1),(95318,1),(95338,1),(95347,1),(95351,1),(95352,1),(95360,1),(95365,1),(95367,1),(95373,1),(95383,1),(95385,1),(95397,1),(95402,1),(95404,1),(95409,1),(95422,1),(95427,1),(95438,1),(95442,1),(95446,1),(95461,1),(95462,1),(95488,1),(95492,1),(95495,1),(95503,1),(95504,1),(95506,1),(95516,1),(95518,1),(95520,1),(95525,1),(95528,1),(95535,1),(95537,1),(95548,1),(95551,1),(95552,1),(95555,1),(95560,1),(95564,1),(95568,1),(95580,1),(95582,1),(95593,1),(95596,1),(95606,1),(95608,1),(95614,1),(95621,1),(95622,1),(95629,1),(95653,1),(95662,1),(95675,1),(95693,1),(95699,1),(95705,1),(95707,1),(95710,1),(95719,1),(95726,1),(95732,1),(95738,1),(95750,1),(95761,1),(95766,1),(95789,1),(95796,1),(95797,1),(95800,1),(95815,1),(95825,1),(95828,1),(95830,1),(95846,1),(95852,1),(95854,1),(95858,1),(95864,1),(95872,1),(95876,1),(95877,1),(95891,1),(95892,1),(95895,1),(95896,1),(95900,1),(95902,1),(95909,1),(95911,1),(95915,1),(95916,1),(95924,1),(95926,1),(95928,1),(95941,1),(95943,1),(95944,1),(95945,1),(95956,1),(95957,1),(95958,1),(95968,1),(95974,1),(95984,1),(95990,1),(95992,1),(96001,1),(96003,1),(96010,1),(96014,1),(96016,1),(96017,1),(96028,1),(96040,1),(96041,1),(96052,1),(96059,1),(96060,1),(96063,1),(96064,1),(96082,1),(96083,1),(96092,1),(96104,1),(96107,1),(96113,1),(96117,1),(96122,1),(96131,1),(96135,1),(96148,1),(96149,1),(96152,1),(96154,1),(96166,1),(96174,1),(96184,1),(96190,1),(96198,1),(96205,1),(96209,1),(96215,1),(96216,1),(96217,1),(96227,1),(96228,1),(96232,1),(96248,1),(96251,1),(96257,1),(96268,1),(96272,1),(96278,1),(96291,1),(96293,1),(96297,1),(96301,1),(96304,1),(96306,1),(96321,1),(96326,1),(96329,1),(96333,1),(96348,1),(96349,1),(96350,1),(96359,1),(96361,1),(96363,1),(96371,1),(96373,1),(96379,1),(96386,1),(96389,1),(96406,1),(96409,1),(96415,1),(96417,1),(96418,1),(96419,1),(96423,1),(96442,1),(96458,1),(96470,1),(96475,1),(96476,1),(96498,1),(96508,1),(96509,1),(96515,1),(96522,1),(96528,1),(96529,1),(96534,1),(96539,1),(96540,1),(96541,1),(96549,1),(96550,1),(96554,1),(96558,1),(96559,1),(96569,1),(96575,1),(96576,1),(96585,1),(96586,1),(96587,1),(96593,1),(96598,1),(96599,1),(96600,1),(96607,1),(96608,1),(96611,1),(96615,1),(96616,1),(96623,1),(96624,1),(96625,1),(96631,1),(96660,1),(96662,1),(96672,1),(96674,1),(96678,1),(96681,1),(96682,1),(96706,1),(96716,1),(96724,1),(96728,1),(96733,1),(96736,1),(96744,1),(96754,1),(96760,1),(96768,1),(96771,1),(96780,1),(96787,1),(96791,1),(96793,1),(96800,1),(96805,1),(96806,1),(96815,1),(96820,1),(96821,1),(96829,1),(96833,1),(96837,1),(96840,1),(96843,1),(96871,1),(96876,1),(96878,1),(96882,1),(96885,1),(96893,1),(96894,1),(96901,1),(96902,1),(96926,1),(96936,1),(96939,1),(96946,1),(96948,1),(96950,1),(96952,1),(96958,1),(96985,1),(96990,1),(96993,1),(96996,1),(96997,1),(97009,1),(97017,1),(97029,1),(97030,1),(97034,1),(97040,1),(97043,1),(97050,1),(97063,1),(97069,1),(97079,1),(97082,1),(97090,1),(97097,1),(97102,1),(97103,1),(97121,1),(97127,1),(97130,1),(97137,1),(97139,1),(97141,1),(97149,1),(97154,1),(97157,1),(97158,1),(97173,1),(97187,1),(97188,1),(97191,1),(97194,1),(97201,1),(97208,1),(97212,1),(97218,1),(97225,1),(97227,1),(97230,1),(97250,1),(97252,1),(97253,1),(97262,1),(97270,1),(97272,1),(97275,1),(97282,1),(97292,1),(97310,1),(97313,1),(97323,1),(97328,1),(97339,1),(97340,1),(97360,1),(97370,1),(97373,1),(97376,1),(97379,1),(97387,1),(97405,1),(97423,1),(97425,1),(97432,1),(97442,1),(97444,1),(97447,1),(97458,1),(97462,1),(97465,1),(97470,1),(97473,1),(97480,1),(97493,1),(97496,1),(97504,1),(97506,1),(97513,1),(97514,1),(97524,1),(97531,1),(97538,1),(97551,1),(97553,1),(97556,1),(97560,1),(97565,1),(97574,1),(97583,1),(97595,1),(97596,1),(97602,1),(97606,1),(97616,1),(97619,1),(97622,1),(97627,1),(97656,1),(97659,1),(97663,1),(97665,1),(97666,1),(97672,1),(97684,1),(97693,1),(97696,1),(97700,1),(97705,1),(97708,1),(97723,1),(97739,1),(97749,1),(97750,1),(97752,1),(97755,1),(97762,1),(97769,1),(97773,1),(97775,1),(97776,1),(97780,1),(97781,1),(97789,1),(97790,1),(97820,1),(97825,1),(97827,1),(97839,1),(97847,1),(97849,1),(97851,1),(97858,1),(97873,1),(97875,1),(97885,1),(97888,1),(97892,1),(97893,1),(97898,1),(97900,1),(97908,1),(97921,1),(97922,1),(97923,1),(97928,1),(97933,1),(97936,1),(97949,1),(97951,1),(97961,1),(97983,1),(97984,1),(97987,1),(97995,1),(98000,1),(98007,1),(98015,1),(98018,1),(98041,1),(98044,1),(98045,1),(98047,1),(98051,1),(98052,1),(98053,1),(98054,1),(98081,1),(98089,1),(98097,1),(98099,1),(98107,1),(98112,1),(98115,1),(98133,1),(98134,1),(98143,1),(98146,1),(98150,1),(98156,1),(98158,1),(98161,1),(98164,1),(98177,1),(98180,1),(98181,1),(98182,1),(98183,1),(98188,1),(98195,1),(98200,1),(98206,1),(98210,1),(98213,1),(98225,1),(98229,1),(98237,1),(98239,1),(98244,1),(98246,1),(98247,1),(98250,1),(98251,1),(98257,1),(98261,1),(98266,1),(98269,1),(98275,1),(98288,1),(98298,1),(98307,1),(98309,1),(98320,1),(98325,1),(98336,1),(98352,1),(98354,1),(98355,1),(98356,1),(98360,1),(98369,1),(98373,1),(98377,1),(98381,1),(98383,1),(98400,1),(98416,1),(98418,1),(98421,1),(98434,1),(98441,1),(98444,1),(98454,1),(98459,1),(98465,1),(98468,1),(98477,1),(98503,1),(98505,1),(98513,1),(98516,1),(98526,1),(98527,1),(98529,1),(98539,1),(98543,1),(98545,1),(98558,1),(98560,1),(98565,1),(98567,1),(98572,1),(98573,1),(98578,1),(98581,1),(98583,1),(98588,1),(98595,1),(98612,1),(98627,1),(98641,1),(98648,1),(98654,1),(98657,1),(98665,1),(98670,1),(98676,1),(98686,1),(98693,1),(98702,1),(98707,1),(98714,1),(98715,1),(98719,1),(98725,1),(98737,1),(98739,1),(98741,1),(98743,1),(98750,1),(98753,1),(98760,1),(98764,1),(98769,1),(98777,1),(98808,1),(98811,1),(98827,1),(98832,1),(98833,1),(98837,1),(98847,1),(98859,1),(98860,1),(98861,1),(98862,1),(98863,1),(98871,1),(98874,1),(98875,1),(98882,1),(98884,1),(98885,1),(98890,1),(98900,1),(98913,1),(98918,1),(98920,1),(98923,1),(98931,1),(98935,1),(98947,1),(98956,1),(98959,1),(98960,1),(98961,1),(98962,1),(98963,1),(98977,1),(98983,1),(98989,1),(11,2),(15,2),(21,2),(31,2),(37,2),(46,2),(63,2),(67,2),(75,2),(77,2),(84,2),(99,2),(105,2),(115,2),(121,2),(125,2),(148,2),(149,2),(152,2),(165,2),(166,2),(177,2),(183,2),(186,2),(194,2),(197,2),(214,2),(224,2),(228,2),(239,2),(255,2),(259,2),(262,2),(264,2),(272,2),(273,2),(274,2),(276,2),(289,2),(297,2),(298,2),(299,2),(303,2),(304,2),(309,2),(313,2),(317,2),(330,2),(333,2),(352,2),(353,2),(357,2),(363,2),(372,2),(373,2),(382,2),(386,2),(392,2),(394,2),(396,2),(405,2),(416,2),(418,2),(421,2),(428,2),(429,2),(430,2),(434,2),(440,2),(447,2),(448,2),(450,2),(458,2),(477,2),(480,2),(490,2),(491,2),(502,2),(504,2),(508,2),(526,2),(541,2),(553,2),(555,2),(560,2),(569,2),(570,2),(572,2),(586,2),(596,2),(611,2),(613,2),(620,2),(625,2),(631,2),(634,2),(640,2),(653,2),(668,2),(673,2),(684,2),(686,2),(699,2),(703,2),(709,2),(712,2),(718,2),(719,2),(722,2),(724,2),(731,2),(733,2),(738,2),(743,2),(756,2),(767,2),(770,2),(775,2),(778,2),(779,2),(786,2),(792,2),(796,2),(804,2),(813,2),(818,2),(819,2),(824,2),(826,2),(830,2),(835,2),(836,2),(843,2),(848,2),(850,2),(853,2),(854,2),(869,2),(871,2),(875,2),(878,2),(891,2),(894,2),(895,2),(900,2),(901,2),(914,2),(915,2),(918,2),(921,2),(922,2),(923,2),(936,2),(938,2),(940,2),(941,2),(943,2),(944,2),(965,2),(966,2),(979,2),(987,2),(990,2),(1004,2),(1006,2),(1007,2),(1008,2),(1016,2),(1022,2),(1030,2),(1033,2),(1037,2),(1038,2),(1044,2),(1063,2),(1087,2),(1092,2),(1097,2),(1109,2),(1121,2),(1140,2),(1152,2),(1164,2),(1175,2),(1181,2),(1182,2),(1196,2),(1202,2),(1204,2),(1212,2),(1214,2),(1233,2),(1239,2),(1240,2),(1241,2),(1246,2),(1253,2),(1262,2),(1275,2),(1281,2),(1283,2),(1295,2),(1296,2),(1307,2),(1308,2),(1317,2),(1320,2),(1327,2),(1334,2),(1340,2),(1356,2),(1360,2),(1362,2),(1367,2),(1371,2),(1372,2),(1400,2),(1401,2),(1408,2),(1415,2),(1418,2),(1421,2),(1427,2),(1428,2),(1433,2),(1437,2),(1440,2),(1442,2),(1446,2),(1459,2),(1460,2),(1461,2),(1463,2),(1465,2),(1471,2),(1481,2),(1485,2),(1521,2),(1526,2),(1548,2),(1549,2),(1556,2),(1558,2),(1559,2),(1561,2),(1566,2),(1567,2),(1570,2),(1587,2),(1588,2),(1606,2),(1610,2),(1611,2),(1619,2),(1628,2),(1630,2),(1634,2),(1636,2),(1639,2),(1643,2),(1653,2),(1664,2),(1675,2),(1679,2),(1695,2),(1698,2),(1704,2),(1716,2),(1724,2),(1740,2),(1751,2),(1762,2),(1763,2),(1785,2),(1792,2),(1801,2),(1809,2),(1813,2),(1820,2),(1821,2),(1823,2),(1831,2),(1834,2),(1837,2),(1847,2),(1849,2),(1858,2),(1899,2),(1909,2),(1919,2),(1923,2),(1929,2),(1944,2),(1949,2),(1964,2),(1965,2),(1986,2),(2006,2),(2013,2),(2023,2),(2031,2),(2035,2),(2044,2),(2045,2),(2048,2),(2049,2),(2059,2),(2060,2),(2062,2),(2069,2),(2077,2),(2079,2),(2086,2),(2096,2),(2097,2),(2098,2),(2104,2),(2108,2),(2113,2),(2115,2),(2116,2),(2117,2),(2122,2),(2138,2),(2156,2),(2160,2),(2166,2),(2182,2),(2183,2),(2187,2),(2193,2),(2208,2),(2210,2),(2215,2),(2216,2),(2217,2),(2228,2),(2229,2),(2230,2),(2236,2),(2243,2),(2252,2),(2253,2),(2256,2),(2263,2),(2266,2),(2270,2),(2271,2),(2283,2),(2285,2),(2288,2),(2295,2),(2296,2),(2299,2),(2301,2),(2314,2),(2320,2),(2324,2),(2326,2),(2327,2),(2328,2),(2332,2),(2342,2),(2356,2),(2360,2),(2367,2),(2371,2),(2376,2),(2379,2),(2381,2),(2390,2),(2395,2),(2407,2),(2408,2),(2410,2),(2415,2),(2419,2),(2424,2),(2430,2),(2431,2),(2438,2),(2439,2),(2447,2),(2449,2),(2467,2),(2472,2),(2484,2),(2486,2),(2496,2),(2497,2),(2506,2),(2508,2),(2509,2),(2512,2),(2516,2),(2518,2),(2532,2),(2535,2),(2551,2),(2555,2),(2561,2),(2568,2),(2573,2),(2578,2),(2579,2),(2580,2),(2585,2),(2587,2),(2600,2),(2608,2),(2615,2),(2619,2),(2628,2),(2635,2),(2638,2),(2649,2),(2656,2),(2660,2),(2667,2),(2675,2),(2681,2),(2684,2),(2687,2),(2696,2),(2699,2),(2720,2),(2721,2),(2722,2),(2739,2),(2750,2),(2758,2),(2759,2),(2761,2),(2794,2),(2799,2),(2806,2),(2808,2),(2820,2),(2821,2),(2830,2),(2840,2),(2842,2),(2845,2),(2852,2),(2859,2),(2861,2),(2862,2),(2868,2),(2882,2),(2885,2),(2889,2),(2891,2),(2934,2),(2937,2),(2942,2),(2950,2),(2963,2),(2972,2),(2975,2),(2977,2),(2994,2),(2999,2),(3009,2),(3013,2),(3014,2),(3015,2),(3018,2),(3019,2),(3023,2),(3029,2),(3035,2),(3043,2),(3047,2),(3049,2),(3055,2),(3060,2),(3062,2),(3064,2),(3080,2),(3084,2),(3090,2),(3091,2),(3116,2),(3124,2),(3136,2),(3137,2),(3139,2),(3143,2),(3154,2),(3174,2),(3180,2),(3182,2),(3184,2),(3210,2),(3222,2),(3225,2),(3226,2),(3228,2),(3261,2),(3263,2),(3272,2),(3280,2),(3281,2),(3284,2),(3293,2),(3300,2),(3301,2),(3302,2),(3304,2),(3312,2),(3320,2),(3322,2),(3325,2),(3331,2),(3340,2),(3344,2),(3352,2),(3355,2),(3359,2),(3370,2),(3378,2),(3379,2),(3386,2),(3392,2),(3396,2),(3401,2),(3406,2),(3435,2),(3448,2),(3460,2),(3463,2),(3466,2),(3474,2),(3480,2),(3491,2),(3494,2),(3495,2),(3498,2),(3504,2),(3522,2),(3531,2),(3533,2),(3540,2),(3548,2),(3552,2),(3554,2),(3556,2),(3565,2),(3585,2),(3588,2),(3593,2),(3598,2),(3602,2),(3606,2),(3619,2),(3629,2),(3634,2),(3642,2),(3649,2),(3654,2),(3658,2),(3661,2),(3662,2),(3663,2),(3674,2),(3678,2),(3697,2),(3702,2),(3712,2),(3722,2),(3727,2),(3729,2),(3732,2),(3738,2),(3745,2),(3747,2),(3758,2),(3772,2),(3776,2),(3783,2),(3788,2),(3791,2),(3798,2),(3804,2),(3806,2),(3813,2),(3818,2),(3825,2),(3829,2),(3835,2),(3850,2),(3853,2),(3871,2),(3874,2),(3875,2),(3885,2),(3888,2),(3893,2),(3896,2),(3900,2),(3904,2),(3909,2),(3910,2),(3911,2),(3916,2),(3917,2),(3919,2),(3922,2),(3931,2),(3934,2),(3936,2),(3946,2),(3975,2),(3980,2),(3989,2),(3990,2),(3991,2),(3995,2),(3996,2),(3998,2),(4018,2),(4021,2),(4024,2),(4032,2),(4035,2),(4038,2),(4040,2),(4044,2),(4047,2),(4053,2),(4055,2),(4056,2),(4070,2),(4072,2),(4075,2),(4079,2),(4081,2),(4084,2),(4093,2),(4107,2),(4109,2),(4110,2),(4112,2),(4122,2),(4125,2),(4127,2),(4143,2),(4146,2),(4186,2),(4189,2),(4204,2),(4207,2),(4229,2),(4233,2),(4238,2),(4239,2),(4240,2),(4242,2),(4248,2),(4257,2),(4259,2),(4261,2),(4263,2),(4267,2),(4268,2),(4276,2),(4285,2),(4286,2),(4290,2),(4294,2),(4295,2),(4298,2),(4303,2),(4309,2),(4329,2),(4332,2),(4334,2),(4337,2),(4338,2),(4348,2),(4354,2),(4360,2),(4365,2),(4366,2),(4370,2),(4373,2),(4386,2),(4393,2),(4400,2),(4401,2),(4419,2),(4420,2),(4421,2),(4431,2),(4435,2),(4438,2),(4439,2),(4443,2),(4447,2),(4450,2),(4457,2),(4458,2),(4460,2),(4461,2),(4465,2),(4478,2),(4480,2),(4483,2),(4494,2),(4499,2),(4500,2),(4509,2),(4529,2),(4540,2),(4551,2),(4558,2),(4570,2),(4585,2),(4606,2),(4607,2),(4609,2),(4618,2),(4621,2),(4625,2),(4626,2),(4628,2),(4636,2),(4638,2),(4646,2),(4648,2),(4649,2),(4650,2),(4653,2),(4654,2),(4658,2),(4664,2),(4669,2),(4686,2),(4691,2),(4702,2),(4706,2),(4708,2),(4744,2),(4753,2),(4762,2),(4766,2),(4771,2),(4773,2),(4775,2),(4785,2),(4789,2),(4790,2),(4795,2),(4798,2),(4800,2),(4803,2),(4807,2),(4813,2),(4819,2),(4821,2),(4828,2),(4835,2),(4836,2),(4841,2),(4848,2),(4854,2),(4857,2),(4863,2),(4864,2),(4872,2),(4873,2),(4879,2),(4886,2),(4897,2),(4898,2),(4929,2),(4930,2),(4937,2),(4938,2),(4942,2),(4950,2),(4952,2),(4955,2),(4956,2),(4967,2),(4983,2),(4992,2),(4993,2),(5007,2),(5008,2),(5009,2),(5011,2),(5014,2),(5017,2),(5018,2),(5028,2),(5035,2),(5036,2),(5045,2),(5049,2),(5050,2),(5052,2),(5058,2),(5067,2),(5073,2),(5080,2),(5088,2),(5093,2),(5095,2),(5096,2),(5103,2),(5104,2),(5105,2),(5107,2),(5111,2),(5127,2),(5138,2),(5139,2),(5140,2),(5144,2),(5151,2),(5153,2),(5160,2),(5161,2),(5167,2),(5175,2),(5187,2),(5191,2),(5199,2),(5220,2),(5221,2),(5224,2),(5234,2),(5250,2),(5257,2),(5259,2),(5260,2),(5265,2),(5278,2),(5287,2),(5289,2),(5293,2),(5313,2),(5332,2),(5334,2),(5336,2),(5339,2),(5348,2),(5356,2),(5359,2),(5368,2),(5376,2),(5378,2),(5393,2),(5394,2),(5403,2),(5406,2),(5411,2),(5433,2),(5447,2),(5448,2),(5449,2),(5460,2),(5478,2),(5484,2),(5491,2),(5497,2),(5499,2),(5502,2),(5503,2),(5504,2),(5512,2),(5519,2),(5521,2),(5545,2),(5548,2),(5554,2),(5556,2),(5572,2),(5573,2),(5590,2),(5591,2),(5593,2),(5602,2),(5604,2),(5605,2),(5610,2),(5612,2),(5625,2),(5636,2),(5643,2),(5647,2),(5658,2),(5660,2),(5670,2),(5672,2),(5675,2),(5676,2),(5688,2),(5690,2),(5693,2),(5705,2),(5706,2),(5708,2),(5711,2),(5726,2),(5734,2),(5748,2),(5752,2),(5756,2),(5757,2),(5762,2),(5768,2),(5782,2),(5788,2),(5797,2),(5801,2),(5802,2),(5804,2),(5815,2),(5816,2),(5819,2),(5822,2),(5828,2),(5834,2),(5837,2),(5839,2),(5841,2),(5860,2),(5877,2),(5894,2),(5903,2),(5910,2),(5927,2),(5931,2),(5934,2),(5936,2),(5940,2),(5941,2),(5956,2),(5957,2),(5961,2),(5969,2),(5981,2),(5984,2),(6003,2),(6005,2),(6006,2),(6008,2),(6011,2),(6018,2),(6020,2),(6022,2),(6027,2),(6035,2),(6039,2),(6045,2),(6054,2),(6058,2),(6060,2),(6063,2),(6079,2),(6085,2),(6089,2),(6091,2),(6096,2),(6098,2),(6100,2),(6125,2),(6139,2),(6145,2),(6147,2),(6154,2),(6158,2),(6161,2),(6163,2),(6168,2),(6174,2),(6190,2),(6192,2),(6194,2),(6195,2),(6197,2),(6198,2),(6203,2),(6208,2),(6212,2),(6214,2),(6223,2),(6224,2),(6230,2),(6237,2),(6243,2),(6263,2),(6266,2),(6276,2),(6290,2),(6291,2),(6292,2),(6298,2),(6300,2),(6301,2),(6304,2),(6308,2),(6309,2),(6315,2),(6322,2),(6323,2),(6332,2),(6334,2),(6338,2),(6360,2),(6362,2),(6370,2),(6378,2),(6382,2),(6383,2),(6384,2),(6389,2),(6394,2),(6396,2),(6397,2),(6403,2),(6406,2),(6408,2),(6409,2),(6414,2),(6418,2),(6419,2),(6434,2),(6439,2),(6440,2),(6442,2),(6443,2),(6449,2),(6454,2),(6457,2),(6462,2),(6469,2),(6471,2),(6481,2),(6484,2),(6486,2),(6502,2),(6507,2),(6509,2),(6536,2),(6549,2),(6550,2),(6553,2),(6556,2),(6563,2),(6575,2),(6579,2),(6580,2),(6582,2),(6585,2),(6589,2),(6598,2),(6599,2),(6613,2),(6615,2),(6620,2),(6625,2),(6627,2),(6628,2),(6629,2),(6634,2),(6640,2),(6650,2),(6656,2),(6659,2),(6661,2),(6666,2),(6678,2),(6681,2),(6688,2),(6700,2),(6705,2),(6721,2),(6732,2),(6737,2),(6754,2),(6771,2),(6776,2),(6778,2),(6782,2),(6785,2),(6790,2),(6793,2),(6809,2),(6812,2),(6834,2),(6836,2),(6841,2),(6847,2),(6852,2),(6853,2),(6854,2),(6855,2),(6857,2),(6863,2),(6871,2),(6878,2),(6886,2),(6895,2),(6903,2),(6908,2),(6911,2),(6925,2),(6933,2),(6937,2),(6938,2),(6944,2),(6949,2),(6951,2),(6955,2),(6956,2),(6966,2),(6967,2),(6976,2),(6980,2),(6984,2),(6987,2),(7001,2),(7002,2),(7003,2),(7005,2),(7008,2),(7025,2),(7032,2),(7039,2),(7048,2),(7054,2),(7056,2),(7059,2),(7061,2),(7066,2),(7069,2),(7070,2),(7072,2),(7073,2),(7088,2),(7091,2),(7092,2),(7094,2),(7095,2),(7102,2),(7107,2),(7117,2),(7121,2),(7124,2),(7128,2),(7137,2),(7144,2),(7145,2),(7150,2),(7152,2),(7170,2),(7179,2),(7193,2),(7194,2),(7196,2),(7207,2),(7210,2),(7211,2),(7212,2),(7215,2),(7219,2),(7232,2),(7235,2),(7238,2),(7242,2),(7248,2),(7277,2),(7281,2),(7283,2),(7291,2),(7293,2),(7294,2),(7295,2),(7296,2),(7306,2),(7308,2),(7314,2),(7317,2),(7322,2),(7324,2),(7327,2),(7342,2),(7343,2),(7347,2),(7361,2),(7366,2),(7370,2),(7380,2),(7394,2),(7396,2),(7406,2),(7407,2),(7409,2),(7413,2),(7422,2),(7432,2),(7436,2),(7443,2),(7444,2),(7446,2),(7449,2),(7470,2),(7472,2),(7486,2),(7496,2),(7499,2),(7501,2),(7506,2),(7520,2),(7527,2),(7542,2),(7547,2),(7548,2),(7550,2),(7556,2),(7572,2),(7582,2),(7586,2),(7588,2),(7593,2),(7597,2),(7598,2),(7600,2),(7603,2),(7605,2),(7609,2),(7611,2),(7612,2),(7620,2),(7632,2),(7637,2),(7646,2),(7678,2),(7681,2),(7688,2),(7689,2),(7690,2),(7708,2),(7714,2),(7716,2),(7717,2),(7722,2),(7724,2),(7730,2),(7740,2),(7748,2),(7760,2),(7762,2),(7763,2),(7767,2),(7779,2),(7785,2),(7789,2),(7797,2),(7803,2),(7807,2),(7813,2),(7827,2),(7841,2),(7849,2),(7862,2),(7873,2),(7875,2),(7878,2),(7885,2),(7888,2),(7889,2),(7900,2),(7906,2),(7912,2),(7913,2),(7914,2),(7926,2),(7938,2),(7953,2),(7956,2),(7965,2),(7967,2),(7969,2),(7971,2),(7977,2),(7980,2),(7984,2),(7985,2),(7991,2),(7993,2),(8004,2),(8008,2),(8016,2),(8017,2),(8024,2),(8033,2),(8035,2),(8036,2),(8046,2),(8051,2),(8056,2),(8057,2),(8058,2),(8059,2),(8064,2),(8068,2),(8070,2),(8071,2),(8072,2),(8077,2),(8080,2),(8081,2),(8083,2),(8086,2),(8089,2),(8099,2),(8107,2),(8116,2),(8123,2),(8125,2),(8141,2),(8153,2),(8165,2),(8169,2),(8183,2),(8185,2),(8186,2),(8195,2),(8203,2),(8210,2),(8217,2),(8220,2),(8221,2),(8223,2),(8226,2),(8234,2),(8235,2),(8246,2),(8251,2),(8254,2),(8257,2),(8269,2),(8271,2),(8280,2),(8284,2),(8318,2),(8324,2),(8329,2),(8345,2),(8346,2),(8353,2),(8359,2),(8366,2),(8371,2),(8377,2),(8382,2),(8383,2),(8385,2),(8398,2),(8399,2),(8402,2),(8410,2),(8442,2),(8443,2),(8446,2),(8452,2),(8453,2),(8473,2),(8476,2),(8478,2),(8479,2),(8480,2),(8488,2),(8492,2),(8496,2),(8498,2),(8502,2),(8503,2),(8513,2),(8553,2),(8557,2),(8560,2),(8564,2),(8576,2),(8581,2),(8602,2),(8605,2),(8607,2),(8608,2),(8615,2),(8617,2),(8622,2),(8630,2),(8641,2),(8643,2),(8647,2),(8649,2),(8655,2),(8674,2),(8680,2),(8695,2),(8698,2),(8704,2),(8716,2),(8740,2),(8746,2),(8748,2),(8754,2),(8772,2),(8774,2),(8790,2),(8803,2),(8817,2),(8820,2),(8821,2),(8831,2),(8840,2),(8858,2),(8866,2),(8867,2),(8872,2),(8888,2),(8895,2),(8899,2),(8904,2),(8907,2),(8913,2),(8917,2),(8925,2),(8936,2),(8940,2),(8944,2),(8946,2),(8949,2),(8954,2),(8962,2),(8967,2),(8971,2),(8981,2),(8984,2),(8993,2),(8994,2),(9000,2),(9001,2),(9005,2),(9007,2),(9008,2),(9018,2),(9025,2),(9029,2),(9046,2),(9047,2),(9051,2),(9053,2),(9072,2),(9074,2),(9076,2),(9083,2),(9091,2),(9098,2),(9099,2),(9104,2),(9119,2),(9120,2),(9122,2),(9124,2),(9125,2),(9132,2),(9133,2),(9146,2),(9149,2),(9151,2),(9153,2),(9156,2),(9157,2),(9158,2),(9161,2),(9166,2),(9172,2),(9176,2),(9179,2),(9190,2),(9197,2),(9210,2),(9216,2),(9217,2),(9218,2),(9228,2),(9230,2),(9231,2),(9235,2),(9236,2),(9238,2),(9242,2),(9245,2),(9254,2),(9256,2),(9260,2),(9261,2),(9266,2),(9269,2),(9274,2),(9282,2),(9287,2),(9295,2),(9300,2),(9308,2),(9318,2),(9321,2),(9325,2),(9328,2),(9333,2),(9335,2),(9343,2),(9346,2),(9347,2),(9354,2),(9365,2),(9368,2),(9369,2),(9371,2),(9384,2),(9390,2),(9396,2),(9398,2),(9401,2),(9402,2),(9406,2),(9409,2),(9411,2),(9414,2),(9421,2),(9428,2),(9430,2),(9432,2),(9437,2),(9442,2),(9463,2),(9470,2),(9475,2),(9477,2),(9483,2),(9492,2),(9495,2),(9497,2),(9499,2),(9506,2),(9523,2),(9531,2),(9536,2),(9552,2),(9553,2),(9558,2),(9560,2),(9561,2),(9566,2),(9570,2),(9572,2),(9574,2),(9581,2),(9586,2),(9588,2),(9596,2),(9598,2),(9600,2),(9602,2),(9611,2),(9613,2),(9619,2),(9620,2),(9622,2),(9628,2),(9639,2),(9648,2),(9654,2),(9656,2),(9661,2),(9668,2),(9669,2),(9670,2),(9671,2),(9677,2),(9681,2),(9684,2),(9690,2),(9705,2),(9717,2),(9729,2),(9732,2),(9733,2),(9737,2),(9740,2),(9744,2),(9749,2),(9750,2),(9751,2),(9761,2),(9763,2),(9765,2),(9767,2),(9773,2),(9776,2),(9784,2),(9794,2),(9798,2),(9802,2),(9806,2),(9817,2),(9819,2),(9822,2),(9823,2),(9825,2),(9829,2),(9843,2),(9847,2),(9853,2),(9855,2),(9863,2),(9865,2),(9866,2),(9869,2),(9872,2),(9875,2),(9877,2),(9881,2),(9891,2),(9902,2),(9916,2),(9920,2),(9922,2),(9937,2),(9939,2),(9942,2),(9945,2),(9952,2),(9960,2),(9965,2),(9970,2),(9980,2),(9983,2),(9986,2),(9993,2),(10001,2),(10002,2),(10004,2),(10016,2),(10017,2),(10022,2),(10026,2),(10033,2),(10036,2),(10041,2),(10047,2),(10056,2),(10062,2),(10067,2),(10094,2),(10135,2),(10139,2),(10145,2),(10150,2),(10153,2),(10165,2),(10166,2),(10172,2),(10175,2),(10177,2),(10182,2),(10184,2),(10193,2),(10194,2),(10196,2),(10210,2),(10219,2),(10226,2),(10232,2),(10239,2),(10245,2),(10255,2),(10258,2),(10261,2),(10262,2),(10264,2),(10268,2),(10270,2),(10272,2),(10273,2),(10279,2),(10288,2),(10302,2),(10303,2),(10313,2),(10325,2),(10326,2),(10330,2),(10346,2),(10359,2),(10364,2),(10366,2),(10373,2),(10379,2),(10383,2),(10388,2),(10395,2),(10400,2),(10403,2),(10412,2),(10417,2),(10419,2),(10431,2),(10438,2),(10439,2),(10446,2),(10447,2),(10448,2),(10451,2),(10458,2),(10473,2),(10475,2),(10481,2),(10483,2),(10487,2),(10507,2),(10510,2),(10520,2),(10522,2),(10523,2),(10525,2),(10527,2),(10545,2),(10549,2),(10551,2),(10563,2),(10570,2),(10574,2),(10579,2),(10584,2),(10592,2),(10597,2),(10602,2),(10606,2),(10610,2),(10613,2),(10616,2),(10622,2),(10623,2),(10624,2),(10629,2),(10632,2),(10634,2),(10637,2),(10639,2),(10641,2),(10642,2),(10645,2),(10647,2),(10648,2),(10649,2),(10674,2),(10688,2),(10700,2),(10705,2),(10706,2),(10708,2),(10712,2),(10724,2),(10743,2),(10745,2),(10750,2),(10751,2),(10756,2),(10761,2),(10763,2),(10774,2),(10777,2),(10780,2),(10785,2),(10790,2),(10793,2),(10800,2),(10821,2),(10826,2),(10828,2),(10830,2),(10833,2),(10841,2),(10844,2),(10846,2),(10851,2),(10857,2),(10859,2),(10867,2),(10888,2),(10890,2),(10899,2),(10902,2),(10904,2),(10907,2),(10912,2),(10919,2),(10923,2),(10924,2),(10927,2),(10936,2),(10937,2),(10943,2),(10946,2),(10952,2),(10959,2),(10961,2),(10964,2),(10968,2),(10969,2),(10974,2),(10975,2),(10985,2),(10989,2),(10993,2),(10995,2),(10996,2),(10997,2),(11006,2),(11008,2),(11018,2),(11027,2),(11037,2),(11039,2),(11040,2),(11041,2),(11043,2),(11049,2),(11086,2),(11087,2),(11089,2),(11102,2),(11106,2),(11110,2),(11111,2),(11113,2),(11118,2),(11122,2),(11128,2),(11130,2),(11132,2),(11135,2),(11150,2),(11151,2),(11157,2),(11161,2),(11164,2),(11171,2),(11175,2),(11184,2),(11188,2),(11189,2),(11202,2),(11205,2),(11218,2),(11220,2),(11244,2),(11252,2),(11254,2),(11264,2),(11273,2),(11276,2),(11284,2),(11289,2),(11291,2),(11292,2),(11323,2),(11326,2),(11329,2),(11345,2),(11356,2),(11357,2),(11369,2),(11370,2),(11372,2),(11388,2),(11403,2),(11409,2),(11411,2),(11415,2),(11416,2),(11419,2),(11420,2),(11427,2),(11431,2),(11434,2),(11438,2),(11442,2),(11443,2),(11445,2),(11447,2),(11448,2),(11449,2),(11465,2),(11469,2),(11470,2),(11477,2),(11481,2),(11498,2),(11500,2),(11502,2),(11503,2),(11504,2),(11521,2),(11522,2),(11525,2),(11526,2),(11533,2),(11535,2),(11546,2),(11551,2),(11556,2),(11562,2),(11567,2),(11568,2),(11572,2),(11574,2),(11605,2),(11609,2),(11621,2),(11625,2),(11626,2),(11630,2),(11635,2),(11640,2),(11643,2),(11647,2),(11649,2),(11660,2),(11664,2),(11670,2),(11677,2),(11701,2),(11711,2),(11713,2),(11724,2),(11726,2),(11734,2),(11735,2),(11747,2),(11749,2),(11753,2),(11760,2),(11762,2),(11766,2),(11783,2),(11787,2),(11794,2),(11797,2),(11798,2),(11799,2),(11800,2),(11807,2),(11809,2),(11810,2),(11815,2),(11821,2),(11822,2),(11824,2),(11828,2),(11835,2),(11849,2),(11850,2),(11857,2),(11859,2),(11866,2),(11867,2),(11869,2),(11870,2),(11876,2),(11879,2),(11901,2),(11904,2),(11905,2),(11909,2),(11946,2),(11949,2),(11964,2),(11967,2),(11968,2),(11972,2),(11978,2),(11984,2),(11987,2),(11998,2),(12005,2),(12011,2),(12012,2),(12017,2),(12021,2),(12022,2),(12026,2),(12041,2),(12046,2),(12058,2),(12059,2),(12063,2),(12067,2),(12078,2),(12084,2),(12088,2),(12091,2),(12103,2),(12104,2),(12105,2),(12113,2),(12124,2),(12127,2),(12130,2),(12139,2),(12150,2),(12154,2),(12162,2),(12169,2),(12174,2),(12179,2),(12194,2),(12201,2),(12217,2),(12225,2),(12230,2),(12231,2),(12234,2),(12243,2),(12250,2),(12254,2),(12268,2),(12271,2),(12275,2),(12276,2),(12282,2),(12283,2),(12290,2),(12292,2),(12293,2),(12303,2),(12312,2),(12328,2),(12330,2),(12333,2),(12353,2),(12367,2),(12368,2),(12369,2),(12373,2),(12386,2),(12405,2),(12411,2),(12418,2),(12421,2),(12426,2),(12445,2),(12447,2),(12449,2),(12451,2),(12452,2),(12459,2),(12470,2),(12474,2),(12478,2),(12479,2),(12481,2),(12496,2),(12499,2),(12510,2),(12517,2),(12518,2),(12526,2),(12547,2),(12549,2),(12555,2),(12570,2),(12574,2),(12577,2),(12588,2),(12589,2),(12590,2),(12593,2),(12598,2),(12603,2),(12604,2),(12607,2),(12613,2),(12617,2),(12619,2),(12627,2),(12633,2),(12642,2),(12653,2),(12658,2),(12659,2),(12662,2),(12669,2),(12670,2),(12678,2),(12701,2),(12703,2),(12706,2),(12709,2),(12710,2),(12712,2),(12715,2),(12719,2),(12720,2),(12722,2),(12727,2),(12729,2),(12732,2),(12737,2),(12741,2),(12751,2),(12759,2),(12776,2),(12781,2),(12792,2),(12799,2),(12802,2),(12808,2),(12814,2),(12823,2),(12833,2),(12838,2),(12854,2),(12856,2),(12861,2),(12865,2),(12868,2),(12871,2),(12878,2),(12884,2),(12922,2),(12927,2),(12929,2),(12938,2),(12944,2),(12951,2),(12952,2),(12954,2),(12962,2),(12976,2),(12980,2),(12987,2),(12995,2),(13004,2),(13006,2),(13009,2),(13012,2),(13016,2),(13021,2),(13025,2),(13028,2),(13031,2),(13036,2),(13048,2),(13055,2),(13059,2),(13061,2),(13065,2),(13067,2),(13072,2),(13074,2),(13075,2),(13078,2),(13084,2),(13091,2),(13097,2),(13098,2),(13101,2),(13105,2),(13111,2),(13114,2),(13130,2),(13134,2),(13164,2),(13176,2),(13185,2),(13189,2),(13192,2),(13197,2),(13200,2),(13205,2),(13211,2),(13213,2),(13214,2),(13215,2),(13223,2),(13225,2),(13226,2),(13230,2),(13235,2),(13243,2),(13245,2),(13254,2),(13259,2),(13279,2),(13285,2),(13286,2),(13289,2),(13290,2),(13291,2),(13304,2),(13307,2),(13311,2),(13313,2),(13315,2),(13328,2),(13343,2),(13346,2),(13353,2),(13365,2),(13371,2),(13376,2),(13378,2),(13381,2),(13393,2),(13394,2),(13409,2),(13423,2),(13424,2),(13428,2),(13431,2),(13437,2),(13438,2),(13452,2),(13457,2),(13459,2),(13460,2),(13462,2),(13467,2),(13482,2),(13484,2),(13491,2),(13493,2),(13494,2),(13497,2),(13498,2),(13502,2),(13504,2),(13517,2),(13520,2),(13527,2),(13528,2),(13529,2),(13532,2),(13539,2),(13540,2),(13543,2),(13544,2),(13565,2),(13576,2),(13577,2),(13578,2),(13580,2),(13602,2),(13610,2),(13626,2),(13639,2),(13646,2),(13648,2),(13663,2),(13679,2),(13681,2),(13684,2),(13685,2),(13699,2),(13700,2),(13703,2),(13709,2),(13711,2),(13712,2),(13715,2),(13721,2),(13724,2),(13729,2),(13730,2),(13733,2),(13734,2),(13738,2),(13742,2),(13746,2),(13747,2),(13763,2),(13771,2),(13783,2),(13784,2),(13787,2),(13791,2),(13794,2),(13809,2),(13815,2),(13816,2),(13828,2),(13844,2),(13848,2),(13852,2),(13857,2),(13858,2),(13863,2),(13865,2),(13867,2),(13868,2),(13870,2),(13871,2),(13877,2),(13878,2),(13885,2),(13887,2),(13890,2),(13892,2),(13893,2),(13901,2),(13905,2),(13914,2),(13921,2),(13928,2),(13938,2),(13940,2),(13957,2),(13964,2),(13969,2),(13971,2),(13979,2),(13981,2),(13982,2),(13986,2),(13990,2),(14001,2),(14002,2),(14008,2),(14010,2),(14017,2),(14021,2),(14025,2),(14035,2),(14037,2),(14066,2),(14076,2),(14082,2),(14085,2),(14087,2),(14089,2),(14109,2),(14134,2),(14149,2),(14150,2),(14151,2),(14153,2),(14155,2),(14163,2),(14167,2),(14169,2),(14176,2),(14177,2),(14180,2),(14202,2),(14203,2),(14216,2),(14218,2),(14235,2),(14237,2),(14244,2),(14250,2),(14254,2),(14256,2),(14259,2),(14264,2),(14265,2),(14278,2),(14284,2),(14289,2),(14293,2),(14299,2),(14304,2),(14311,2),(14314,2),(14327,2),(14333,2),(14343,2),(14348,2),(14371,2),(14383,2),(14399,2),(14410,2),(14424,2),(14429,2),(14438,2),(14449,2),(14466,2),(14468,2),(14471,2),(14475,2),(14476,2),(14477,2),(14480,2),(14494,2),(14502,2),(14509,2),(14511,2),(14513,2),(14515,2),(14523,2),(14524,2),(14535,2),(14537,2),(14546,2),(14548,2),(14559,2),(14563,2),(14564,2),(14567,2),(14575,2),(14586,2),(14592,2),(14600,2),(14605,2),(14606,2),(14608,2),(14619,2),(14625,2),(14626,2),(14640,2),(14645,2),(14647,2),(14648,2),(14654,2),(14656,2),(14665,2),(14672,2),(14673,2),(14675,2),(14680,2),(14682,2),(14683,2),(14690,2),(14692,2),(14694,2),(14700,2),(14702,2),(14704,2),(14710,2),(14711,2),(14716,2),(14720,2),(14729,2),(14739,2),(14742,2),(14753,2),(14754,2),(14759,2),(14766,2),(14768,2),(14769,2),(14785,2),(14795,2),(14801,2),(14803,2),(14804,2),(14806,2),(14815,2),(14819,2),(14823,2),(14825,2),(14833,2),(14839,2),(14851,2),(14856,2),(14857,2),(14865,2),(14871,2),(14882,2),(14894,2),(14895,2),(14896,2),(14897,2),(14903,2),(14905,2),(14915,2),(14941,2),(14943,2),(14945,2),(14958,2),(14962,2),(14965,2),(14970,2),(14975,2),(14986,2),(14991,2),(15002,2),(15003,2),(15006,2),(15023,2),(15032,2),(15035,2),(15042,2),(15050,2),(15069,2),(15077,2),(15079,2),(15082,2),(15088,2),(15095,2),(15096,2),(15105,2),(15124,2),(15125,2),(15127,2),(15130,2),(15142,2),(15147,2),(15170,2),(15173,2),(15178,2),(15181,2),(15183,2),(15185,2),(15198,2),(15208,2),(15212,2),(15218,2),(15226,2),(15227,2),(15236,2),(15245,2),(15247,2),(15254,2),(15256,2),(15257,2),(15262,2),(15263,2),(15264,2),(15267,2),(15271,2),(15272,2),(15278,2),(15283,2),(15284,2),(15295,2),(15296,2),(15298,2),(15299,2),(15300,2),(15305,2),(15309,2),(15313,2),(15334,2),(15351,2),(15353,2),(15357,2),(15360,2),(15361,2),(15362,2),(15365,2),(15368,2),(15370,2),(15373,2),(15376,2),(15380,2),(15384,2),(15396,2),(15410,2),(15414,2),(15416,2),(15425,2),(15429,2),(15432,2),(15435,2),(15436,2),(15445,2),(15448,2),(15450,2),(15459,2),(15460,2),(15465,2),(15467,2),(15483,2),(15488,2),(15503,2),(15509,2),(15514,2),(15523,2),(15527,2),(15528,2),(15529,2),(15532,2),(15536,2),(15539,2),(15545,2),(15548,2),(15550,2),(15552,2),(15557,2),(15564,2),(15569,2),(15576,2),(15578,2),(15581,2),(15582,2),(15600,2),(15616,2),(15618,2),(15626,2),(15641,2),(15650,2),(15657,2),(15670,2),(15677,2),(15680,2),(15684,2),(15694,2),(15695,2),(15709,2),(15713,2),(15717,2),(15718,2),(15729,2),(15739,2),(15741,2),(15751,2),(15756,2),(15760,2),(15767,2),(15768,2),(15769,2),(15774,2),(15783,2),(15791,2),(15792,2),(15801,2),(15807,2),(15814,2),(15822,2),(15829,2),(15832,2),(15834,2),(15841,2),(15850,2),(15851,2),(15858,2),(15861,2),(15863,2),(15870,2),(15873,2),(15881,2),(15886,2),(15889,2),(15893,2),(15911,2),(15916,2),(15921,2),(15924,2),(15930,2),(15932,2),(15936,2),(15941,2),(15955,2),(15956,2),(15962,2),(15973,2),(15981,2),(15985,2),(15991,2),(15993,2),(15999,2),(16002,2),(16006,2),(16007,2),(16011,2),(16017,2),(16027,2),(16033,2),(16036,2),(16037,2),(16042,2),(16045,2),(16046,2),(16048,2),(16054,2),(16065,2),(16074,2),(16075,2),(16086,2),(16088,2),(16089,2),(16090,2),(16093,2),(16094,2),(16097,2),(16100,2),(16103,2),(16105,2),(16109,2),(16110,2),(16112,2),(16113,2),(16118,2),(16124,2),(16127,2),(16137,2),(16140,2),(16143,2),(16146,2),(16147,2),(16150,2),(16151,2),(16153,2),(16162,2),(16165,2),(16176,2),(16177,2),(16184,2),(16187,2),(16190,2),(16194,2),(16197,2),(16201,2),(16207,2),(16209,2),(16210,2),(16217,2),(16219,2),(16221,2),(16222,2),(16223,2),(16225,2),(16226,2),(16236,2),(16245,2),(16246,2),(16250,2),(16254,2),(16273,2),(16285,2),(16298,2),(16313,2),(16317,2),(16331,2),(16332,2),(16336,2),(16344,2),(16355,2),(16365,2),(16371,2),(16375,2),(16399,2),(16400,2),(16401,2),(16411,2),(16415,2),(16420,2),(16423,2),(16426,2),(16431,2),(16435,2),(16440,2),(16454,2),(16455,2),(16464,2),(16478,2),(16489,2),(16497,2),(16506,2),(16513,2),(16515,2),(16517,2),(16519,2),(16523,2),(16525,2),(16538,2),(16539,2),(16550,2),(16557,2),(16558,2),(16559,2),(16562,2),(16564,2),(16565,2),(16578,2),(16592,2),(16600,2),(16608,2),(16636,2),(16637,2),(16639,2),(16644,2),(16645,2),(16648,2),(16650,2),(16664,2),(16678,2),(16679,2),(16682,2),(16684,2),(16689,2),(16691,2),(16696,2),(16699,2),(16702,2),(16708,2),(16719,2),(16731,2),(16737,2),(16741,2),(16753,2),(16754,2),(16765,2),(16766,2),(16778,2),(16781,2),(16782,2),(16783,2),(16813,2),(16814,2),(16815,2),(16820,2),(16822,2),(16834,2),(16842,2),(16855,2),(16857,2),(16862,2),(16873,2),(16876,2),(16882,2),(16887,2),(16888,2),(16890,2),(16894,2),(16897,2),(16904,2),(16908,2),(16911,2),(16915,2),(16916,2),(16923,2),(16932,2),(16941,2),(16947,2),(16948,2),(16954,2),(16955,2),(16956,2),(16959,2),(16962,2),(16968,2),(16978,2),(16988,2),(16994,2),(16995,2),(16997,2),(17007,2),(17011,2),(17012,2),(17014,2),(17020,2),(17040,2),(17059,2),(17064,2),(17067,2),(17069,2),(17072,2),(17078,2),(17081,2),(17082,2),(17084,2),(17090,2),(17099,2),(17119,2),(17121,2),(17125,2),(17135,2),(17136,2),(17144,2),(17148,2),(17158,2),(17162,2),(17172,2),(17182,2),(17186,2),(17188,2),(17190,2),(17203,2),(17213,2),(17217,2),(17218,2),(17219,2),(17225,2),(17228,2),(17237,2),(17243,2),(17257,2),(17258,2),(17259,2),(17264,2),(17265,2),(17266,2),(17270,2),(17272,2),(17277,2),(17296,2),(17297,2),(17302,2),(17307,2),(17308,2),(17312,2),(17321,2),(17328,2),(17329,2),(17330,2),(17336,2),(17348,2),(17357,2),(17358,2),(17362,2),(17366,2),(17368,2),(17376,2),(17381,2),(17386,2),(17388,2),(17393,2),(17396,2),(17397,2),(17398,2),(17403,2),(17406,2),(17407,2),(17410,2),(17414,2),(17415,2),(17421,2),(17429,2),(17436,2),(17441,2),(17443,2),(17449,2),(17471,2),(17472,2),(17478,2),(17480,2),(17487,2),(17490,2),(17494,2),(17503,2),(17515,2),(17516,2),(17525,2),(17526,2),(17531,2),(17534,2),(17538,2),(17543,2),(17548,2),(17549,2),(17553,2),(17563,2),(17570,2),(17583,2),(17587,2),(17589,2),(17592,2),(17594,2),(17598,2),(17600,2),(17609,2),(17611,2),(17612,2),(17613,2),(17626,2),(17633,2),(17652,2),(17653,2),(17659,2),(17667,2),(17679,2),(17680,2),(17681,2),(17685,2),(17689,2),(17692,2),(17693,2),(17698,2),(17703,2),(17712,2),(17738,2),(17742,2),(17747,2),(17748,2),(17762,2),(17764,2),(17770,2),(17771,2),(17776,2),(17777,2),(17800,2),(17803,2),(17815,2),(17819,2),(17834,2),(17842,2),(17846,2),(17853,2),(17861,2),(17866,2),(17870,2),(17874,2),(17879,2),(17884,2),(17885,2),(17886,2),(17890,2),(17891,2),(17899,2),(17904,2),(17908,2),(17911,2),(17914,2),(17926,2),(17931,2),(17941,2),(17959,2),(17964,2),(17970,2),(17972,2),(17981,2),(17983,2),(17997,2),(18001,2),(18008,2),(18012,2),(18015,2),(18016,2),(18037,2),(18045,2),(18058,2),(18059,2),(18067,2),(18073,2),(18079,2),(18082,2),(18090,2),(18099,2),(18107,2),(18112,2),(18122,2),(18124,2),(18136,2),(18146,2),(18157,2),(18163,2),(18166,2),(18167,2),(18171,2),(18189,2),(18209,2),(18219,2),(18225,2),(18230,2),(18233,2),(18234,2),(18237,2),(18240,2),(18252,2),(18260,2),(18267,2),(18275,2),(18280,2),(18281,2),(18299,2),(18310,2),(18321,2),(18338,2),(18350,2),(18361,2),(18369,2),(18371,2),(18378,2),(18380,2),(18381,2),(18382,2),(18386,2),(18397,2),(18413,2),(18417,2),(18421,2),(18425,2),(18426,2),(18429,2),(18448,2),(18451,2),(18455,2),(18458,2),(18459,2),(18466,2),(18479,2),(18509,2),(18513,2),(18522,2),(18529,2),(18537,2),(18555,2),(18572,2),(18577,2),(18580,2),(18586,2),(18600,2),(18604,2),(18606,2),(18610,2),(18617,2),(18619,2),(18621,2),(18628,2),(18650,2),(18651,2),(18655,2),(18664,2),(18666,2),(18685,2),(18691,2),(18692,2),(18693,2),(18697,2),(18706,2),(18709,2),(18724,2),(18730,2),(18732,2),(18733,2),(18734,2),(18745,2),(18749,2),(18752,2),(18755,2),(18759,2),(18761,2),(18762,2),(18769,2),(18781,2),(18792,2),(18793,2),(18796,2),(18809,2),(18844,2),(18852,2),(18858,2),(18862,2),(18868,2),(18873,2),(18878,2),(18881,2),(18882,2),(18883,2),(18884,2),(18886,2),(18887,2),(18890,2),(18892,2),(18897,2),(18898,2),(18904,2),(18908,2),(18926,2),(18933,2),(18939,2),(18949,2),(18956,2),(18970,2),(18984,2),(18985,2),(18997,2),(18999,2),(19000,2),(19011,2),(19029,2),(19050,2),(19051,2),(19060,2),(19063,2),(19072,2),(19073,2),(19087,2),(19092,2),(19098,2),(19102,2),(19113,2),(19116,2),(19117,2),(19120,2),(19121,2),(19122,2),(19132,2),(19140,2),(19142,2),(19143,2),(19150,2),(19186,2),(19187,2),(19202,2),(19203,2),(19209,2),(19217,2),(19219,2),(19225,2),(19230,2),(19242,2),(19246,2),(19250,2),(19259,2),(19260,2),(19275,2),(19278,2),(19280,2),(19283,2),(19284,2),(19297,2),(19302,2),(19307,2),(19314,2),(19316,2),(19321,2),(19327,2),(19334,2),(19341,2),(19342,2),(19351,2),(19352,2),(19361,2),(19363,2),(19366,2),(19372,2),(19378,2),(19393,2),(19396,2),(19401,2),(19411,2),(19415,2),(19421,2),(19440,2),(19447,2),(19453,2),(19458,2),(19462,2),(19464,2),(19465,2),(19466,2),(19474,2),(19475,2),(19479,2),(19491,2),(19493,2),(19496,2),(19503,2),(19505,2),(19514,2),(19522,2),(19534,2),(19537,2),(19540,2),(19547,2),(19548,2),(19556,2),(19561,2),(19564,2),(19567,2),(19580,2),(19591,2),(19620,2),(19627,2),(19633,2),(19637,2),(19639,2),(19648,2),(19657,2),(19665,2),(19669,2),(19672,2),(19691,2),(19699,2),(19717,2),(19722,2),(19729,2),(19733,2),(19740,2),(19741,2),(19744,2),(19749,2),(19756,2),(19774,2),(19777,2),(19786,2),(19788,2),(19793,2),(19794,2),(19800,2),(19827,2),(19831,2),(19832,2),(19834,2),(19847,2),(19849,2),(19850,2),(19851,2),(19856,2),(19861,2),(19863,2),(19877,2),(19884,2),(19891,2),(19896,2),(19901,2),(19905,2),(19911,2),(19919,2),(19944,2),(19948,2),(19949,2),(19951,2),(19959,2),(19968,2),(19978,2),(19982,2),(19985,2),(19993,2),(19998,2),(20002,2),(20007,2),(20008,2),(20012,2),(20014,2),(20017,2),(20018,2),(20026,2),(20033,2),(20041,2),(20042,2),(20045,2),(20052,2),(20056,2),(20059,2),(20068,2),(20077,2),(20078,2),(20080,2),(20087,2),(20088,2),(20091,2),(20094,2),(20108,2),(20120,2),(20135,2),(20151,2),(20168,2),(20177,2),(20181,2),(20183,2),(20184,2),(20185,2),(20187,2),(20190,2),(20194,2),(20209,2),(20221,2),(20226,2),(20236,2),(20241,2),(20244,2),(20247,2),(20248,2),(20253,2),(20255,2),(20273,2),(20280,2),(20288,2),(20301,2),(20303,2),(20304,2),(20316,2),(20321,2),(20333,2),(20334,2),(20335,2),(20338,2),(20346,2),(20348,2),(20353,2),(20358,2),(20366,2),(20368,2),(20399,2),(20402,2),(20405,2),(20408,2),(20410,2),(20414,2),(20415,2),(20423,2),(20429,2),(20435,2),(20442,2),(20448,2),(20450,2),(20453,2),(20461,2),(20463,2),(20480,2),(20481,2),(20488,2),(20492,2),(20497,2),(20511,2),(20519,2),(20520,2),(20521,2),(20534,2),(20537,2),(20540,2),(20541,2),(20547,2),(20554,2),(20570,2),(20575,2),(20578,2),(20579,2),(20610,2),(20616,2),(20624,2),(20632,2),(20634,2),(20641,2),(20651,2),(20660,2),(20661,2),(20664,2),(20674,2),(20678,2),(20681,2),(20684,2),(20687,2),(20692,2),(20695,2),(20704,2),(20707,2),(20718,2),(20722,2),(20726,2),(20730,2),(20737,2),(20745,2),(20751,2),(20755,2),(20764,2),(20767,2),(20773,2),(20777,2),(20783,2),(20787,2),(20791,2),(20803,2),(20806,2),(20826,2),(20832,2),(20838,2),(20841,2),(20845,2),(20846,2),(20848,2),(20875,2),(20877,2),(20883,2),(20885,2),(20888,2),(20894,2),(20895,2),(20896,2),(20917,2),(20919,2),(20929,2),(20934,2),(20937,2),(20941,2),(20945,2),(20955,2),(20957,2),(20964,2),(20968,2),(20970,2),(20975,2),(20981,2),(20990,2),(21025,2),(21029,2),(21035,2),(21049,2),(21060,2),(21071,2),(21075,2),(21077,2),(21082,2),(21086,2),(21095,2),(21098,2),(21105,2),(21108,2),(21112,2),(21125,2),(21134,2),(21142,2),(21148,2),(21156,2),(21164,2),(21169,2),(21191,2),(21194,2),(21212,2),(21213,2),(21225,2),(21234,2),(21238,2),(21252,2),(21256,2),(21261,2),(21270,2),(21275,2),(21280,2),(21286,2),(21294,2),(21296,2),(21297,2),(21299,2),(21302,2),(21304,2),(21305,2),(21313,2),(21314,2),(21320,2),(21322,2),(21328,2),(21334,2),(21337,2),(21348,2),(21352,2),(21353,2),(21354,2),(21355,2),(21369,2),(21377,2),(21388,2),(21392,2),(21398,2),(21401,2),(21405,2),(21408,2),(21412,2),(21414,2),(21415,2),(21424,2),(21426,2),(21428,2),(21429,2),(21430,2),(21435,2),(21443,2),(21455,2),(21458,2),(21467,2),(21468,2),(21474,2),(21481,2),(21482,2),(21500,2),(21514,2),(21520,2),(21523,2),(21538,2),(21540,2),(21541,2),(21543,2),(21544,2),(21546,2),(21552,2),(21555,2),(21566,2),(21571,2),(21574,2),(21577,2),(21582,2),(21587,2),(21594,2),(21604,2),(21620,2),(21621,2),(21643,2),(21651,2),(21657,2),(21659,2),(21660,2),(21663,2),(21677,2),(21679,2),(21698,2),(21699,2),(21716,2),(21733,2),(21742,2),(21751,2),(21756,2),(21761,2),(21768,2),(21770,2),(21771,2),(21772,2),(21782,2),(21795,2),(21800,2),(21801,2),(21807,2),(21808,2),(21810,2),(21811,2),(21823,2),(21828,2),(21830,2),(21840,2),(21843,2),(21849,2),(21850,2),(21852,2),(21853,2),(21856,2),(21862,2),(21864,2),(21868,2),(21871,2),(21872,2),(21876,2),(21883,2),(21884,2),(21885,2),(21895,2),(21901,2),(21902,2),(21908,2),(21918,2),(21921,2),(21926,2),(21933,2),(21934,2),(21939,2),(21956,2),(21974,2),(21981,2),(21982,2),(21995,2),(22000,2),(22002,2),(22009,2),(22011,2),(22017,2),(22026,2),(22041,2),(22043,2),(22052,2),(22054,2),(22056,2),(22058,2),(22071,2),(22077,2),(22103,2),(22113,2),(22115,2),(22116,2),(22121,2),(22128,2),(22143,2),(22149,2),(22152,2),(22155,2),(22168,2),(22169,2),(22171,2),(22179,2),(22183,2),(22188,2),(22189,2),(22197,2),(22199,2),(22205,2),(22210,2),(22220,2),(22226,2),(22246,2),(22254,2),(22261,2),(22304,2),(22306,2),(22309,2),(22313,2),(22315,2),(22322,2),(22328,2),(22330,2),(22341,2),(22343,2),(22347,2),(22348,2),(22351,2),(22356,2),(22361,2),(22362,2),(22364,2),(22366,2),(22369,2),(22372,2),(22375,2),(22381,2),(22383,2),(22395,2),(22396,2),(22404,2),(22411,2),(22416,2),(22422,2),(22424,2),(22432,2),(22439,2),(22440,2),(22446,2),(22450,2),(22475,2),(22477,2),(22482,2),(22483,2),(22484,2),(22489,2),(22506,2),(22511,2),(22514,2),(22517,2),(22522,2),(22524,2),(22532,2),(22547,2),(22550,2),(22558,2),(22580,2),(22581,2),(22588,2),(22603,2),(22609,2),(22610,2),(22614,2),(22618,2),(22621,2),(22622,2),(22623,2),(22627,2),(22630,2),(22637,2),(22638,2),(22641,2),(22645,2),(22648,2),(22651,2),(22658,2),(22687,2),(22699,2),(22704,2),(22710,2),(22724,2),(22730,2),(22738,2),(22750,2),(22778,2),(22779,2),(22780,2),(22785,2),(22790,2),(22797,2),(22799,2),(22822,2),(22826,2),(22828,2),(22858,2),(22867,2),(22879,2),(22889,2),(22892,2),(22896,2),(22898,2),(22907,2),(22911,2),(22916,2),(22917,2),(22919,2),(22923,2),(22926,2),(22927,2),(22935,2),(22940,2),(22949,2),(22957,2),(22963,2),(22964,2),(22965,2),(22967,2),(22971,2),(22972,2),(22975,2),(22979,2),(22997,2),(23002,2),(23015,2),(23023,2),(23032,2),(23039,2),(23043,2),(23047,2),(23055,2),(23058,2),(23068,2),(23074,2),(23075,2),(23085,2),(23092,2),(23103,2),(23117,2),(23130,2),(23131,2),(23133,2),(23141,2),(23142,2),(23149,2),(23153,2),(23160,2),(23171,2),(23174,2),(23181,2),(23191,2),(23198,2),(23202,2),(23206,2),(23211,2),(23213,2),(23216,2),(23225,2),(23238,2),(23249,2),(23252,2),(23258,2),(23262,2),(23267,2),(23268,2),(23270,2),(23275,2),(23283,2),(23287,2),(23288,2),(23291,2),(23293,2),(23295,2),(23296,2),(23303,2),(23304,2),(23306,2),(23315,2),(23318,2),(23319,2),(23321,2),(23334,2),(23336,2),(23337,2),(23338,2),(23343,2),(23358,2),(23366,2),(23386,2),(23394,2),(23398,2),(23401,2),(23403,2),(23405,2),(23408,2),(23412,2),(23413,2),(23426,2),(23428,2),(23429,2),(23443,2),(23452,2),(23453,2),(23464,2),(23467,2),(23473,2),(23483,2),(23486,2),(23487,2),(23492,2),(23495,2),(23499,2),(23507,2),(23514,2),(23516,2),(23517,2),(23521,2),(23532,2),(23545,2),(23546,2),(23548,2),(23553,2),(23555,2),(23558,2),(23583,2),(23590,2),(23595,2),(23603,2),(23604,2),(23609,2),(23611,2),(23616,2),(23617,2),(23618,2),(23628,2),(23630,2),(23631,2),(23636,2),(23643,2),(23644,2),(23650,2),(23656,2),(23663,2),(23676,2),(23678,2),(23686,2),(23688,2),(23690,2),(23698,2),(23700,2),(23708,2),(23711,2),(23716,2),(23721,2),(23724,2),(23731,2),(23754,2),(23760,2),(23763,2),(23767,2),(23784,2),(23795,2),(23797,2),(23803,2),(23816,2),(23823,2),(23824,2),(23830,2),(23833,2),(23844,2),(23876,2),(23883,2),(23886,2),(23890,2),(23899,2),(23908,2),(23920,2),(23937,2),(23940,2),(23960,2),(23969,2),(23978,2),(23979,2),(23985,2),(23989,2),(23993,2),(24003,2),(24005,2),(24008,2),(24014,2),(24017,2),(24019,2),(24038,2),(24039,2),(24042,2),(24043,2),(24048,2),(24057,2),(24060,2),(24061,2),(24071,2),(24081,2),(24082,2),(24084,2),(24108,2),(24109,2),(24110,2),(24113,2),(24114,2),(24119,2),(24122,2),(24124,2),(24125,2),(24131,2),(24154,2),(24156,2),(24160,2),(24167,2),(24169,2),(24173,2),(24177,2),(24180,2),(24181,2),(24185,2),(24188,2),(24192,2),(24197,2),(24205,2),(24208,2),(24218,2),(24245,2),(24251,2),(24253,2),(24259,2),(24260,2),(24268,2),(24270,2),(24278,2),(24279,2),(24287,2),(24292,2),(24293,2),(24295,2),(24297,2),(24303,2),(24327,2),(24333,2),(24335,2),(24352,2),(24356,2),(24365,2),(24369,2),(24372,2),(24373,2),(24380,2),(24386,2),(24388,2),(24390,2),(24392,2),(24393,2),(24396,2),(24405,2),(24408,2),(24412,2),(24422,2),(24435,2),(24436,2),(24454,2),(24458,2),(24464,2),(24469,2),(24474,2),(24476,2),(24479,2),(24489,2),(24499,2),(24507,2),(24511,2),(24512,2),(24517,2),(24522,2),(24527,2),(24532,2),(24534,2),(24540,2),(24542,2),(24548,2),(24557,2),(24571,2),(24573,2),(24579,2),(24581,2),(24584,2),(24587,2),(24588,2),(24590,2),(24594,2),(24595,2),(24598,2),(24603,2),(24607,2),(24615,2),(24629,2),(24637,2),(24644,2),(24656,2),(24663,2),(24671,2),(24677,2),(24680,2),(24683,2),(24684,2),(24689,2),(24697,2),(24702,2),(24707,2),(24712,2),(24721,2),(24725,2),(24729,2),(24730,2),(24735,2),(24759,2),(24763,2),(24764,2),(24767,2),(24774,2),(24775,2),(24777,2),(24780,2),(24784,2),(24796,2),(24802,2),(24818,2),(24821,2),(24841,2),(24843,2),(24847,2),(24848,2),(24856,2),(24876,2),(24883,2),(24886,2),(24915,2),(24923,2),(24928,2),(24929,2),(24930,2),(24932,2),(24957,2),(24960,2),(24965,2),(24977,2),(24979,2),(24985,2),(24995,2),(24998,2),(25000,2),(25004,2),(25005,2),(25011,2),(25019,2),(25020,2),(25026,2),(25040,2),(25045,2),(25048,2),(25052,2),(25055,2),(25059,2),(25060,2),(25072,2),(25079,2),(25084,2),(25090,2),(25092,2),(25093,2),(25097,2),(25116,2),(25123,2),(25132,2),(25172,2),(25183,2),(25196,2),(25198,2),(25203,2),(25210,2),(25219,2),(25227,2),(25235,2),(25237,2),(25240,2),(25261,2),(25272,2),(25277,2),(25283,2),(25285,2),(25287,2),(25292,2),(25295,2),(25298,2),(25304,2),(25314,2),(25315,2),(25322,2),(25325,2),(25332,2),(25347,2),(25353,2),(25356,2),(25358,2),(25360,2),(25361,2),(25371,2),(25390,2),(25391,2),(25399,2),(25400,2),(25417,2),(25418,2),(25419,2),(25424,2),(25431,2),(25438,2),(25443,2),(25447,2),(25449,2),(25455,2),(25459,2),(25465,2),(25469,2),(25470,2),(25471,2),(25474,2),(25485,2),(25490,2),(25507,2),(25517,2),(25519,2),(25524,2),(25540,2),(25541,2),(25545,2),(25550,2),(25554,2),(25559,2),(25561,2),(25563,2),(25573,2),(25574,2),(25587,2),(25588,2),(25591,2),(25592,2),(25605,2),(25606,2),(25607,2),(25609,2),(25617,2),(25626,2),(25634,2),(25635,2),(25645,2),(25647,2),(25649,2),(25660,2),(25663,2),(25664,2),(25665,2),(25684,2),(25694,2),(25695,2),(25696,2),(25709,2),(25723,2),(25731,2),(25737,2),(25738,2),(25742,2),(25745,2),(25746,2),(25747,2),(25753,2),(25758,2),(25764,2),(25767,2),(25773,2),(25774,2),(25783,2),(25788,2),(25790,2),(25798,2),(25804,2),(25813,2),(25817,2),(25822,2),(25828,2),(25829,2),(25839,2),(25845,2),(25855,2),(25860,2),(25866,2),(25871,2),(25874,2),(25883,2),(25884,2),(25895,2),(25906,2),(25922,2),(25935,2),(25942,2),(25948,2),(25953,2),(25954,2),(25955,2),(25958,2),(25961,2),(25964,2),(25965,2),(25975,2),(25990,2),(25997,2),(26000,2),(26004,2),(26006,2),(26016,2),(26018,2),(26019,2),(26026,2),(26036,2),(26039,2),(26044,2),(26045,2),(26054,2),(26056,2),(26058,2),(26059,2),(26064,2),(26068,2),(26073,2),(26081,2),(26084,2),(26088,2),(26090,2),(26093,2),(26094,2),(26098,2),(26100,2),(26101,2),(26104,2),(26105,2),(26109,2),(26123,2),(26138,2),(26147,2),(26150,2),(26152,2),(26155,2),(26161,2),(26163,2),(26166,2),(26167,2),(26171,2),(26174,2),(26179,2),(26187,2),(26192,2),(26194,2),(26201,2),(26203,2),(26206,2),(26213,2),(26217,2),(26219,2),(26223,2),(26228,2),(26229,2),(26231,2),(26239,2),(26241,2),(26251,2),(26254,2),(26256,2),(26257,2),(26258,2),(26267,2),(26270,2),(26279,2),(26297,2),(26315,2),(26318,2),(26339,2),(26345,2),(26352,2),(26360,2),(26362,2),(26363,2),(26371,2),(26372,2),(26377,2),(26378,2),(26379,2),(26381,2),(26389,2),(26398,2),(26399,2),(26400,2),(26402,2),(26403,2),(26405,2),(26406,2),(26407,2),(26409,2),(26419,2),(26420,2),(26422,2),(26426,2),(26430,2),(26434,2),(26439,2),(26441,2),(26443,2),(26452,2),(26456,2),(26459,2),(26462,2),(26467,2),(26474,2),(26480,2),(26486,2),(26487,2),(26493,2),(26497,2),(26505,2),(26518,2),(26538,2),(26546,2),(26555,2),(26561,2),(26564,2),(26565,2),(26587,2),(26589,2),(26592,2),(26594,2),(26599,2),(26601,2),(26608,2),(26613,2),(26615,2),(26639,2),(26645,2),(26651,2),(26652,2),(26659,2),(26662,2),(26671,2),(26675,2),(26676,2),(26679,2),(26686,2),(26688,2),(26698,2),(26705,2),(26713,2),(26718,2),(26722,2),(26735,2),(26738,2),(26748,2),(26750,2),(26751,2),(26759,2),(26763,2),(26772,2),(26774,2),(26775,2),(26778,2),(26788,2),(26805,2),(26814,2),(26818,2),(26819,2),(26822,2),(26824,2),(26827,2),(26829,2),(26854,2),(26857,2),(26859,2),(26860,2),(26864,2),(26868,2),(26869,2),(26873,2),(26880,2),(26883,2),(26889,2),(26892,2),(26896,2),(26897,2),(26900,2),(26902,2),(26903,2),(26914,2),(26921,2),(26934,2),(26937,2),(26940,2),(26942,2),(26946,2),(26947,2),(26957,2),(26964,2),(26975,2),(26978,2),(26980,2),(26991,2),(26995,2),(26999,2),(27002,2),(27003,2),(27004,2),(27005,2),(27021,2),(27026,2),(27040,2),(27045,2),(27047,2),(27056,2),(27057,2),(27061,2),(27064,2),(27070,2),(27076,2),(27077,2),(27106,2),(27108,2),(27109,2),(27112,2),(27116,2),(27128,2),(27129,2),(27164,2),(27169,2),(27171,2),(27175,2),(27183,2),(27189,2),(27192,2),(27200,2),(27202,2),(27223,2),(27228,2),(27242,2),(27249,2),(27251,2),(27252,2),(27254,2),(27265,2),(27276,2),(27297,2),(27307,2),(27314,2),(27326,2),(27328,2),(27331,2),(27333,2),(27335,2),(27353,2),(27358,2),(27365,2),(27368,2),(27381,2),(27384,2),(27388,2),(27400,2),(27408,2),(27410,2),(27419,2),(27423,2),(27433,2),(27437,2),(27439,2),(27446,2),(27454,2),(27456,2),(27460,2),(27467,2),(27480,2),(27484,2),(27485,2),(27488,2),(27497,2),(27499,2),(27501,2),(27510,2),(27513,2),(27514,2),(27515,2),(27521,2),(27524,2),(27536,2),(27539,2),(27540,2),(27545,2),(27553,2),(27555,2),(27572,2),(27575,2),(27578,2),(27580,2),(27581,2),(27582,2),(27589,2),(27597,2),(27603,2),(27609,2),(27610,2),(27611,2),(27615,2),(27619,2),(27631,2),(27639,2),(27641,2),(27645,2),(27651,2),(27652,2),(27659,2),(27667,2),(27668,2),(27670,2),(27681,2),(27687,2),(27693,2),(27702,2),(27712,2),(27715,2),(27735,2),(27737,2),(27739,2),(27744,2),(27748,2),(27750,2),(27753,2),(27769,2),(27771,2),(27785,2),(27786,2),(27789,2),(27792,2),(27799,2),(27814,2),(27826,2),(27833,2),(27837,2),(27838,2),(27844,2),(27847,2),(27857,2),(27859,2),(27867,2),(27874,2),(27876,2),(27886,2),(27891,2),(27894,2),(27895,2),(27899,2),(27903,2),(27907,2),(27908,2),(27918,2),(27922,2),(27925,2),(27937,2),(27959,2),(27963,2),(27976,2),(27979,2),(27980,2),(27983,2),(27986,2),(27997,2),(28004,2),(28010,2),(28016,2),(28018,2),(28027,2),(28030,2),(28031,2),(28039,2),(28045,2),(28046,2),(28063,2),(28065,2),(28073,2),(28077,2),(28080,2),(28083,2),(28100,2),(28102,2),(28108,2),(28117,2),(28122,2),(28135,2),(28140,2),(28157,2),(28162,2),(28163,2),(28172,2),(28176,2),(28179,2),(28193,2),(28195,2),(28196,2),(28199,2),(28203,2),(28210,2),(28226,2),(28227,2),(28247,2),(28260,2),(28268,2),(28273,2),(28279,2),(28282,2),(28283,2),(28284,2),(28287,2),(28292,2),(28294,2),(28295,2),(28300,2),(28306,2),(28312,2),(28322,2),(28323,2),(28331,2),(28349,2),(28359,2),(28374,2),(28377,2),(28380,2),(28382,2),(28384,2),(28386,2),(28395,2),(28397,2),(28398,2),(28403,2),(28414,2),(28418,2),(28422,2),(28428,2),(28433,2),(28434,2),(28444,2),(28446,2),(28450,2),(28456,2),(28461,2),(28465,2),(28467,2),(28469,2),(28485,2),(28487,2),(28488,2),(28499,2),(28501,2),(28518,2),(28526,2),(28543,2),(28547,2),(28558,2),(28560,2),(28591,2),(28604,2),(28609,2),(28613,2),(28614,2),(28624,2),(28625,2),(28626,2),(28637,2),(28640,2),(28642,2),(28647,2),(28648,2),(28650,2),(28654,2),(28656,2),(28658,2),(28670,2),(28678,2),(28683,2),(28688,2),(28692,2),(28695,2),(28699,2),(28704,2),(28708,2),(28713,2),(28717,2),(28720,2),(28721,2),(28724,2),(28731,2),(28734,2),(28735,2),(28741,2),(28748,2),(28754,2),(28755,2),(28765,2),(28771,2),(28772,2),(28803,2),(28806,2),(28822,2),(28825,2),(28827,2),(28829,2),(28835,2),(28842,2),(28845,2),(28865,2),(28868,2),(28869,2),(28882,2),(28893,2),(28905,2),(28913,2),(28929,2),(28934,2),(28940,2),(28943,2),(28948,2),(28952,2),(28962,2),(28963,2),(28967,2),(28973,2),(28986,2),(28988,2),(28989,2),(28997,2),(28999,2),(29000,2),(29002,2),(29007,2),(29008,2),(29017,2),(29023,2),(29037,2),(29060,2),(29067,2),(29080,2),(29081,2),(29082,2),(29086,2),(29090,2),(29096,2),(29106,2),(29115,2),(29121,2),(29125,2),(29141,2),(29142,2),(29149,2),(29152,2),(29157,2),(29161,2),(29163,2),(29169,2),(29176,2),(29177,2),(29183,2),(29187,2),(29199,2),(29200,2),(29204,2),(29216,2),(29229,2),(29231,2),(29233,2),(29238,2),(29244,2),(29249,2),(29262,2),(29286,2),(29294,2),(29298,2),(29302,2),(29309,2),(29316,2),(29317,2),(29318,2),(29320,2),(29325,2),(29327,2),(29334,2),(29335,2),(29338,2),(29341,2),(29347,2),(29359,2),(29371,2),(29376,2),(29378,2),(29379,2),(29383,2),(29385,2),(29398,2),(29408,2),(29410,2),(29417,2),(29422,2),(29425,2),(29426,2),(29429,2),(29433,2),(29448,2),(29472,2),(29478,2),(29483,2),(29489,2),(29492,2),(29494,2),(29503,2),(29506,2),(29508,2),(29510,2),(29512,2),(29517,2),(29519,2),(29525,2),(29535,2),(29539,2),(29541,2),(29555,2),(29557,2),(29558,2),(29576,2),(29581,2),(29583,2),(29584,2),(29599,2),(29601,2),(29604,2),(29606,2),(29614,2),(29618,2),(29621,2),(29625,2),(29631,2),(29649,2),(29666,2),(29680,2),(29682,2),(29692,2),(29711,2),(29722,2),(29730,2),(29739,2),(29750,2),(29767,2),(29770,2),(29783,2),(29799,2),(29814,2),(29824,2),(29826,2),(29830,2),(29850,2),(29853,2),(29861,2),(29872,2),(29873,2),(29875,2),(29892,2),(29898,2),(29901,2),(29904,2),(29910,2),(29913,2),(29917,2),(29918,2),(29920,2),(29923,2),(29926,2),(29939,2),(29944,2),(29947,2),(29948,2),(29950,2),(29952,2),(29955,2),(29956,2),(29976,2),(29983,2),(29987,2),(29990,2),(30006,2),(30013,2),(30024,2),(30033,2),(30036,2),(30039,2),(30043,2),(30046,2),(30050,2),(30052,2),(30054,2),(30061,2),(30066,2),(30070,2),(30074,2),(30078,2),(30083,2),(30086,2),(30087,2),(30090,2),(30092,2),(30105,2),(30126,2),(30143,2),(30148,2),(30159,2),(30170,2),(30186,2),(30188,2),(30190,2),(30196,2),(30199,2),(30204,2),(30209,2),(30234,2),(30236,2),(30246,2),(30252,2),(30270,2),(30281,2),(30284,2),(30285,2),(30295,2),(30315,2),(30317,2),(30322,2),(30330,2),(30340,2),(30341,2),(30342,2),(30344,2),(30355,2),(30356,2),(30358,2),(30360,2),(30368,2),(30377,2),(30381,2),(30391,2),(30393,2),(30395,2),(30396,2),(30398,2),(30402,2),(30403,2),(30404,2),(30411,2),(30442,2),(30446,2),(30449,2),(30453,2),(30470,2),(30478,2),(30483,2),(30489,2),(30501,2),(30506,2),(30508,2),(30517,2),(30522,2),(30541,2),(30551,2),(30557,2),(30563,2),(30568,2),(30572,2),(30577,2),(30590,2),(30593,2),(30597,2),(30601,2),(30608,2),(30610,2),(30612,2),(30620,2),(30627,2),(30629,2),(30634,2),(30638,2),(30645,2),(30654,2),(30658,2),(30662,2),(30666,2),(30674,2),(30690,2),(30692,2),(30695,2),(30699,2),(30702,2),(30703,2),(30711,2),(30712,2),(30716,2),(30728,2),(30729,2),(30735,2),(30742,2),(30747,2),(30761,2),(30773,2),(30779,2),(30782,2),(30789,2),(30794,2),(30799,2),(30826,2),(30831,2),(30838,2),(30845,2),(30846,2),(30850,2),(30851,2),(30852,2),(30861,2),(30868,2),(30869,2),(30870,2),(30885,2),(30894,2),(30897,2),(30902,2),(30906,2),(30908,2),(30910,2),(30914,2),(30930,2),(30946,2),(30951,2),(30954,2),(30956,2),(30958,2),(30960,2),(30961,2),(30966,2),(30970,2),(30972,2),(30976,2),(30979,2),(30982,2),(30985,2),(30987,2),(30996,2),(31000,2),(31014,2),(31023,2),(31025,2),(31027,2),(31040,2),(31042,2),(31049,2),(31058,2),(31061,2),(31062,2),(31075,2),(31089,2),(31095,2),(31100,2),(31114,2),(31115,2),(31118,2),(31120,2),(31128,2),(31135,2),(31137,2),(31141,2),(31145,2),(31146,2),(31163,2),(31167,2),(31179,2),(31192,2),(31197,2),(31210,2),(31214,2),(31215,2),(31216,2),(31217,2),(31232,2),(31236,2),(31238,2),(31239,2),(31240,2),(31249,2),(31250,2),(31251,2),(31252,2),(31260,2),(31275,2),(31307,2),(31311,2),(31329,2),(31331,2),(31340,2),(31344,2),(31345,2),(31351,2),(31366,2),(31380,2),(31387,2),(31389,2),(31399,2),(31401,2),(31404,2),(31417,2),(31419,2),(31426,2),(31432,2),(31443,2),(31446,2),(31447,2),(31449,2),(31450,2),(31452,2),(31456,2),(31462,2),(31477,2),(31484,2),(31490,2),(31502,2),(31505,2),(31510,2),(31514,2),(31515,2),(31517,2),(31534,2),(31537,2),(31553,2),(31554,2),(31556,2),(31557,2),(31560,2),(31562,2),(31566,2),(31569,2),(31575,2),(31578,2),(31581,2),(31591,2),(31600,2),(31608,2),(31611,2),(31620,2),(31632,2),(31641,2),(31646,2),(31648,2),(31658,2),(31660,2),(31673,2),(31684,2),(31685,2),(31698,2),(31704,2),(31705,2),(31710,2),(31718,2),(31719,2),(31720,2),(31721,2),(31739,2),(31753,2),(31756,2),(31760,2),(31770,2),(31778,2),(31781,2),(31782,2),(31783,2),(31784,2),(31793,2),(31800,2),(31804,2),(31810,2),(31816,2),(31825,2),(31849,2),(31853,2),(31861,2),(31865,2),(31867,2),(31870,2),(31877,2),(31878,2),(31889,2),(31890,2),(31901,2),(31904,2),(31907,2),(31909,2),(31917,2),(31925,2),(31938,2),(31943,2),(31952,2),(31958,2),(31967,2),(31968,2),(31971,2),(31976,2),(31980,2),(31996,2),(31997,2),(32002,2),(32011,2),(32015,2),(32020,2),(32025,2),(32032,2),(32045,2),(32058,2),(32062,2),(32069,2),(32079,2),(32082,2),(32095,2),(32107,2),(32109,2),(32112,2),(32122,2),(32130,2),(32133,2),(32136,2),(32138,2),(32141,2),(32149,2),(32155,2),(32156,2),(32157,2),(32166,2),(32167,2),(32171,2),(32176,2),(32179,2),(32190,2),(32195,2),(32197,2),(32199,2),(32209,2),(32234,2),(32239,2),(32241,2),(32248,2),(32258,2),(32269,2),(32277,2),(32280,2),(32284,2),(32292,2),(32294,2),(32295,2),(32309,2),(32315,2),(32322,2),(32324,2),(32325,2),(32349,2),(32367,2),(32387,2),(32390,2),(32391,2),(32393,2),(32399,2),(32408,2),(32410,2),(32411,2),(32413,2),(32418,2),(32420,2),(32425,2),(32429,2),(32432,2),(32437,2),(32442,2),(32452,2),(32453,2),(32456,2),(32457,2),(32460,2),(32461,2),(32474,2),(32475,2),(32505,2),(32508,2),(32511,2),(32512,2),(32515,2),(32527,2),(32532,2),(32533,2),(32539,2),(32554,2),(32563,2),(32565,2),(32568,2),(32590,2),(32592,2),(32599,2),(32600,2),(32604,2),(32612,2),(32613,2),(32620,2),(32630,2),(32635,2),(32656,2),(32666,2),(32670,2),(32672,2),(32680,2),(32687,2),(32691,2),(32703,2),(32706,2),(32721,2),(32723,2),(32724,2),(32727,2),(32730,2),(32731,2),(32733,2),(32734,2),(32738,2),(32741,2),(32744,2),(32747,2),(32752,2),(32754,2),(32757,2),(32764,2),(32773,2),(32774,2),(32775,2),(32784,2),(32786,2),(32790,2),(32797,2),(32799,2),(32801,2),(32806,2),(32807,2),(32810,2),(32826,2),(32833,2),(32866,2),(32868,2),(32876,2),(32878,2),(32886,2),(32887,2),(32888,2),(32891,2),(32895,2),(32896,2),(32898,2),(32935,2),(32941,2),(32944,2),(32946,2),(32952,2),(32957,2),(32958,2),(32959,2),(32963,2),(32972,2),(32977,2),(32983,2),(32989,2),(32990,2),(32991,2),(32993,2),(32997,2),(33000,2),(33012,2),(33014,2),(33020,2),(33041,2),(33048,2),(33051,2),(33056,2),(33071,2),(33080,2),(33088,2),(33101,2),(33103,2),(33105,2),(33110,2),(33111,2),(33112,2),(33123,2),(33127,2),(33141,2),(33164,2),(33173,2),(33177,2),(33194,2),(33206,2),(33217,2),(33224,2),(33225,2),(33226,2),(33228,2),(33235,2),(33244,2),(33249,2),(33250,2),(33251,2),(33254,2),(33256,2),(33258,2),(33264,2),(33265,2),(33277,2),(33283,2),(33284,2),(33285,2),(33290,2),(33307,2),(33308,2),(33321,2),(33326,2),(33345,2),(33348,2),(33349,2),(33350,2),(33355,2),(33356,2),(33364,2),(33379,2),(33385,2),(33393,2),(33397,2),(33399,2),(33403,2),(33423,2),(33425,2),(33427,2),(33432,2),(33435,2),(33438,2),(33449,2),(33452,2),(33454,2),(33457,2),(33461,2),(33470,2),(33479,2),(33487,2),(33492,2),(33498,2),(33500,2),(33505,2),(33524,2),(33529,2),(33539,2),(33545,2),(33554,2),(33557,2),(33561,2),(33566,2),(33574,2),(33578,2),(33591,2),(33596,2),(33600,2),(33601,2),(33602,2),(33608,2),(33612,2),(33619,2),(33623,2),(33629,2),(33644,2),(33647,2),(33651,2),(33652,2),(33653,2),(33656,2),(33657,2),(33669,2),(33675,2),(33689,2),(33692,2),(33699,2),(33700,2),(33709,2),(33725,2),(33726,2),(33732,2),(33733,2),(33735,2),(33741,2),(33745,2),(33752,2),(33757,2),(33768,2),(33781,2),(33787,2),(33797,2),(33801,2),(33803,2),(33804,2),(33813,2),(33816,2),(33824,2),(33837,2),(33840,2),(33869,2),(33879,2),(33885,2),(33905,2),(33908,2),(33915,2),(33918,2),(33937,2),(33941,2),(33942,2),(33945,2),(33950,2),(33954,2),(33960,2),(33974,2),(33975,2),(33977,2),(33995,2),(34008,2),(34010,2),(34015,2),(34017,2),(34018,2),(34022,2),(34024,2),(34036,2),(34041,2),(34046,2),(34050,2),(34055,2),(34062,2),(34074,2),(34080,2),(34086,2),(34087,2),(34089,2),(34106,2),(34117,2),(34123,2),(34126,2),(34127,2),(34138,2),(34139,2),(34146,2),(34153,2),(34154,2),(34159,2),(34172,2),(34173,2),(34174,2),(34175,2),(34185,2),(34203,2),(34208,2),(34212,2),(34223,2),(34225,2),(34226,2),(34231,2),(34248,2),(34250,2),(34254,2),(34258,2),(34261,2),(34262,2),(34266,2),(34268,2),(34269,2),(34275,2),(34287,2),(34295,2),(34297,2),(34306,2),(34313,2),(34332,2),(34337,2),(34339,2),(34342,2),(34343,2),(34347,2),(34350,2),(34353,2),(34358,2),(34360,2),(34368,2),(34378,2),(34383,2),(34388,2),(34399,2),(34406,2),(34409,2),(34421,2),(34444,2),(34446,2),(34450,2),(34452,2),(34477,2),(34478,2),(34483,2),(34491,2),(34493,2),(34494,2),(34498,2),(34499,2),(34502,2),(34509,2),(34518,2),(34541,2),(34550,2),(34562,2),(34564,2),(34566,2),(34575,2),(34585,2),(34587,2),(34590,2),(34601,2),(34607,2),(34612,2),(34621,2),(34627,2),(34629,2),(34640,2),(34644,2),(34652,2),(34655,2),(34659,2),(34684,2),(34689,2),(34696,2),(34707,2),(34712,2),(34713,2),(34720,2),(34721,2),(34728,2),(34729,2),(34730,2),(34736,2),(34744,2),(34745,2),(34754,2),(34757,2),(34772,2),(34775,2),(34784,2),(34785,2),(34786,2),(34792,2),(34797,2),(34798,2),(34802,2),(34805,2),(34814,2),(34817,2),(34827,2),(34829,2),(34832,2),(34842,2),(34846,2),(34854,2),(34870,2),(34871,2),(34872,2),(34891,2),(34900,2),(34905,2),(34906,2),(34912,2),(34916,2),(34917,2),(34921,2),(34935,2),(34947,2),(34962,2),(34965,2),(34969,2),(34970,2),(34977,2),(34978,2),(34987,2),(34990,2),(34997,2),(35003,2),(35005,2),(35014,2),(35019,2),(35023,2),(35033,2),(35042,2),(35043,2),(35045,2),(35052,2),(35054,2),(35062,2),(35063,2),(35066,2),(35073,2),(35092,2),(35100,2),(35112,2),(35120,2),(35121,2),(35125,2),(35129,2),(35130,2),(35132,2),(35134,2),(35140,2),(35147,2),(35153,2),(35156,2),(35157,2),(35169,2),(35175,2),(35184,2),(35188,2),(35192,2),(35200,2),(35204,2),(35206,2),(35212,2),(35213,2),(35215,2),(35218,2),(35220,2),(35228,2),(35240,2),(35242,2),(35246,2),(35250,2),(35252,2),(35255,2),(35268,2),(35270,2),(35273,2),(35274,2),(35290,2),(35291,2),(35313,2),(35327,2),(35335,2),(35340,2),(35342,2),(35343,2),(35357,2),(35366,2),(35367,2),(35380,2),(35386,2),(35395,2),(35405,2),(35407,2),(35417,2),(35419,2),(35420,2),(35431,2),(35443,2),(35449,2),(35450,2),(35452,2),(35453,2),(35454,2),(35456,2),(35459,2),(35463,2),(35478,2),(35496,2),(35525,2),(35530,2),(35545,2),(35546,2),(35548,2),(35552,2),(35559,2),(35570,2),(35578,2),(35583,2),(35585,2),(35594,2),(35596,2),(35611,2),(35613,2),(35616,2),(35617,2),(35619,2),(35627,2),(35630,2),(35656,2),(35682,2),(35686,2),(35687,2),(35692,2),(35696,2),(35715,2),(35716,2),(35718,2),(35721,2),(35728,2),(35731,2),(35738,2),(35743,2),(35745,2),(35758,2),(35759,2),(35762,2),(35767,2),(35770,2),(35771,2),(35782,2),(35783,2),(35792,2),(35796,2),(35798,2),(35800,2),(35808,2),(35810,2),(35817,2),(35819,2),(35821,2),(35839,2),(35844,2),(35845,2),(35853,2),(35855,2),(35866,2),(35867,2),(35889,2),(35898,2),(35906,2),(35912,2),(35916,2),(35919,2),(35924,2),(35927,2),(35942,2),(35946,2),(35951,2),(35955,2),(35957,2),(35958,2),(35971,2),(35994,2),(36009,2),(36010,2),(36013,2),(36026,2),(36027,2),(36036,2),(36044,2),(36046,2),(36051,2),(36054,2),(36057,2),(36065,2),(36067,2),(36068,2),(36069,2),(36072,2),(36075,2),(36076,2),(36083,2),(36106,2),(36109,2),(36123,2),(36129,2),(36130,2),(36132,2),(36140,2),(36147,2),(36176,2),(36182,2),(36198,2),(36206,2),(36218,2),(36229,2),(36234,2),(36235,2),(36252,2),(36256,2),(36268,2),(36275,2),(36276,2),(36277,2),(36281,2),(36282,2),(36285,2),(36287,2),(36297,2),(36300,2),(36313,2),(36319,2),(36339,2),(36341,2),(36344,2),(36357,2),(36360,2),(36370,2),(36375,2),(36379,2),(36384,2),(36393,2),(36406,2),(36410,2),(36413,2),(36421,2),(36427,2),(36432,2),(36433,2),(36440,2),(36448,2),(36451,2),(36456,2),(36457,2),(36463,2),(36479,2),(36480,2),(36490,2),(36497,2),(36499,2),(36501,2),(36508,2),(36526,2),(36546,2),(36547,2),(36564,2),(36567,2),(36569,2),(36583,2),(36590,2),(36595,2),(36604,2),(36614,2),(36632,2),(36638,2),(36646,2),(36647,2),(36650,2),(36652,2),(36656,2),(36660,2),(36673,2),(36676,2),(36686,2),(36703,2),(36708,2),(36709,2),(36712,2),(36713,2),(36715,2),(36716,2),(36719,2),(36721,2),(36729,2),(36732,2),(36737,2),(36742,2),(36745,2),(36746,2),(36750,2),(36751,2),(36753,2),(36754,2),(36755,2),(36760,2),(36761,2),(36767,2),(36769,2),(36772,2),(36781,2),(36784,2),(36792,2),(36793,2),(36794,2),(36814,2),(36817,2),(36821,2),(36828,2),(36829,2),(36833,2),(36834,2),(36846,2),(36859,2),(36864,2),(36886,2),(36887,2),(36888,2),(36889,2),(36901,2),(36903,2),(36906,2),(36921,2),(36942,2),(36948,2),(36950,2),(36954,2),(36955,2),(36956,2),(36960,2),(36971,2),(36972,2),(36973,2),(36980,2),(36986,2),(36989,2),(36992,2),(36998,2),(37002,2),(37004,2),(37007,2),(37013,2),(37014,2),(37032,2),(37035,2),(37037,2),(37038,2),(37043,2),(37063,2),(37068,2),(37087,2),(37089,2),(37097,2),(37098,2),(37102,2),(37115,2),(37117,2),(37137,2),(37153,2),(37156,2),(37159,2),(37161,2),(37169,2),(37177,2),(37178,2),(37180,2),(37181,2),(37189,2),(37196,2),(37198,2),(37199,2),(37203,2),(37211,2),(37219,2),(37224,2),(37233,2),(37234,2),(37241,2),(37242,2),(37250,2),(37255,2),(37258,2),(37259,2),(37265,2),(37275,2),(37277,2),(37281,2),(37282,2),(37285,2),(37291,2),(37298,2),(37311,2),(37315,2),(37317,2),(37331,2),(37333,2),(37336,2),(37342,2),(37345,2),(37348,2),(37353,2),(37357,2),(37367,2),(37372,2),(37374,2),(37384,2),(37394,2),(37395,2),(37410,2),(37412,2),(37432,2),(37439,2),(37447,2),(37453,2),(37466,2),(37479,2),(37482,2),(37487,2),(37490,2),(37497,2),(37498,2),(37501,2),(37527,2),(37538,2),(37560,2),(37569,2),(37574,2),(37576,2),(37581,2),(37587,2),(37591,2),(37599,2),(37603,2),(37608,2),(37610,2),(37612,2),(37618,2),(37626,2),(37629,2),(37631,2),(37638,2),(37645,2),(37656,2),(37660,2),(37665,2),(37668,2),(37669,2),(37671,2),(37674,2),(37679,2),(37681,2),(37685,2),(37694,2),(37698,2),(37699,2),(37702,2),(37714,2),(37721,2),(37722,2),(37725,2),(37726,2),(37729,2),(37738,2),(37763,2),(37764,2),(37765,2),(37767,2),(37771,2),(37773,2),(37778,2),(37779,2),(37784,2),(37786,2),(37791,2),(37792,2),(37800,2),(37801,2),(37804,2),(37808,2),(37814,2),(37827,2),(37828,2),(37834,2),(37840,2),(37844,2),(37858,2),(37861,2),(37863,2),(37864,2),(37878,2),(37883,2),(37893,2),(37903,2),(37904,2),(37917,2),(37918,2),(37930,2),(37931,2),(37934,2),(37937,2),(37956,2),(37963,2),(37974,2),(37975,2),(37986,2),(37996,2),(38005,2),(38008,2),(38020,2),(38025,2),(38027,2),(38028,2),(38029,2),(38032,2),(38037,2),(38039,2),(38041,2),(38045,2),(38060,2),(38061,2),(38062,2),(38079,2),(38082,2),(38085,2),(38095,2),(38098,2),(38100,2),(38113,2),(38128,2),(38135,2),(38138,2),(38139,2),(38147,2),(38153,2),(38157,2),(38160,2),(38169,2),(38171,2),(38172,2),(38174,2),(38176,2),(38184,2),(38187,2),(38189,2),(38190,2),(38193,2),(38195,2),(38198,2),(38202,2),(38217,2),(38219,2),(38220,2),(38222,2),(38232,2),(38234,2),(38235,2),(38240,2),(38241,2),(38251,2),(38254,2),(38256,2),(38259,2),(38263,2),(38270,2),(38286,2),(38291,2),(38293,2),(38304,2),(38311,2),(38319,2),(38322,2),(38325,2),(38329,2),(38336,2),(38338,2),(38348,2),(38351,2),(38355,2),(38357,2),(38372,2),(38377,2),(38378,2),(38379,2),(38386,2),(38388,2),(38401,2),(38402,2),(38414,2),(38416,2),(38423,2),(38424,2),(38432,2),(38436,2),(38445,2),(38457,2),(38459,2),(38460,2),(38462,2),(38464,2),(38465,2),(38476,2),(38483,2),(38485,2),(38500,2),(38502,2),(38507,2),(38511,2),(38535,2),(38536,2),(38537,2),(38548,2),(38552,2),(38565,2),(38570,2),(38582,2),(38588,2),(38589,2),(38590,2),(38601,2),(38604,2),(38607,2),(38614,2),(38619,2),(38620,2),(38621,2),(38622,2),(38626,2),(38628,2),(38643,2),(38652,2),(38664,2),(38670,2),(38672,2),(38679,2),(38681,2),(38686,2),(38688,2),(38691,2),(38696,2),(38702,2),(38705,2),(38713,2),(38721,2),(38725,2),(38728,2),(38730,2),(38741,2),(38752,2),(38755,2),(38763,2),(38768,2),(38769,2),(38776,2),(38777,2),(38791,2),(38793,2),(38806,2),(38810,2),(38822,2),(38829,2),(38836,2),(38838,2),(38841,2),(38849,2),(38857,2),(38863,2),(38874,2),(38878,2),(38879,2),(38883,2),(38888,2),(38890,2),(38900,2),(38906,2),(38908,2),(38912,2),(38914,2),(38925,2),(38934,2),(38942,2),(38947,2),(38953,2),(38964,2),(38966,2),(38968,2),(38969,2),(38976,2),(38984,2),(38985,2),(38989,2),(38991,2),(38999,2),(39001,2),(39002,2),(39013,2),(39014,2),(39017,2),(39018,2),(39034,2),(39045,2),(39049,2),(39054,2),(39058,2),(39065,2),(39094,2),(39117,2),(39128,2),(39135,2),(39142,2),(39150,2),(39155,2),(39159,2),(39163,2),(39167,2),(39168,2),(39172,2),(39175,2),(39176,2),(39186,2),(39203,2),(39204,2),(39210,2),(39211,2),(39217,2),(39227,2),(39234,2),(39239,2),(39240,2),(39244,2),(39247,2),(39260,2),(39261,2),(39264,2),(39269,2),(39271,2),(39276,2),(39277,2),(39278,2),(39281,2),(39291,2),(39302,2),(39303,2),(39304,2),(39309,2),(39313,2),(39315,2),(39355,2),(39357,2),(39367,2),(39374,2),(39377,2),(39381,2),(39383,2),(39400,2),(39407,2),(39410,2),(39416,2),(39430,2),(39447,2),(39449,2),(39459,2),(39470,2),(39472,2),(39485,2),(39487,2),(39489,2),(39496,2),(39498,2),(39502,2),(39506,2),(39509,2),(39514,2),(39529,2),(39534,2),(39536,2),(39548,2),(39560,2),(39563,2),(39569,2),(39574,2),(39579,2),(39580,2),(39581,2),(39582,2),(39587,2),(39588,2),(39613,2),(39618,2),(39620,2),(39621,2),(39622,2),(39625,2),(39628,2),(39644,2),(39645,2),(39647,2),(39652,2),(39659,2),(39669,2),(39671,2),(39673,2),(39675,2),(39690,2),(39699,2),(39717,2),(39725,2),(39729,2),(39730,2),(39738,2),(39741,2),(39744,2),(39748,2),(39750,2),(39752,2),(39754,2),(39756,2),(39758,2),(39760,2),(39761,2),(39763,2),(39765,2),(39768,2),(39778,2),(39780,2),(39781,2),(39782,2),(39797,2),(39800,2),(39810,2),(39815,2),(39825,2),(39829,2),(39840,2),(39844,2),(39845,2),(39847,2),(39857,2),(39863,2),(39870,2),(39872,2),(39888,2),(39890,2),(39897,2),(39899,2),(39900,2),(39902,2),(39903,2),(39909,2),(39914,2),(39917,2),(39918,2),(39934,2),(39943,2),(39951,2),(39955,2),(39956,2),(39963,2),(39977,2),(39982,2),(39987,2),(39993,2),(40000,2),(40012,2),(40015,2),(40020,2),(40021,2),(40022,2),(40029,2),(40030,2),(40035,2),(40036,2),(40042,2),(40064,2),(40070,2),(40072,2),(40073,2),(40079,2),(40090,2),(40091,2),(40097,2),(40106,2),(40107,2),(40109,2),(40110,2),(40113,2),(40124,2),(40130,2),(40135,2),(40140,2),(40156,2),(40160,2),(40177,2),(40189,2),(40199,2),(40215,2),(40222,2),(40224,2),(40226,2),(40230,2),(40235,2),(40241,2),(40247,2),(40250,2),(40260,2),(40261,2),(40273,2),(40283,2),(40286,2),(40289,2),(40293,2),(40296,2),(40301,2),(40322,2),(40325,2),(40332,2),(40333,2),(40343,2),(40350,2),(40356,2),(40362,2),(40373,2),(40377,2),(40380,2),(40385,2),(40391,2),(40404,2),(40427,2),(40435,2),(40446,2),(40457,2),(40460,2),(40470,2),(40472,2),(40483,2),(40485,2),(40489,2),(40491,2),(40493,2),(40494,2),(40499,2),(40500,2),(40504,2),(40508,2),(40518,2),(40519,2),(40522,2),(40523,2),(40525,2),(40530,2),(40532,2),(40534,2),(40535,2),(40548,2),(40555,2),(40558,2),(40559,2),(40561,2),(40574,2),(40579,2),(40583,2),(40588,2),(40592,2),(40593,2),(40599,2),(40600,2),(40617,2),(40618,2),(40625,2),(40627,2),(40640,2),(40646,2),(40647,2),(40652,2),(40653,2),(40654,2),(40669,2),(40674,2),(40676,2),(40680,2),(40687,2),(40689,2),(40690,2),(40696,2),(40700,2),(40707,2),(40718,2),(40719,2),(40727,2),(40728,2),(40739,2),(40742,2),(40747,2),(40755,2),(40756,2),(40762,2),(40765,2),(40770,2),(40776,2),(40784,2),(40795,2),(40805,2),(40814,2),(40822,2),(40823,2),(40832,2),(40856,2),(40857,2),(40863,2),(40864,2),(40867,2),(40875,2),(40878,2),(40882,2),(40887,2),(40893,2),(40894,2),(40896,2),(40897,2),(40899,2),(40923,2),(40927,2),(40939,2),(40947,2),(40951,2),(40959,2),(40960,2),(40961,2),(40966,2),(40967,2),(40968,2),(40971,2),(40974,2),(41000,2),(41009,2),(41015,2),(41016,2),(41018,2),(41021,2),(41037,2),(41046,2),(41050,2),(41054,2),(41056,2),(41068,2),(41071,2),(41079,2),(41080,2),(41081,2),(41083,2),(41100,2),(41101,2),(41112,2),(41113,2),(41116,2),(41119,2),(41121,2),(41123,2),(41133,2),(41162,2),(41166,2),(41175,2),(41180,2),(41183,2),(41186,2),(41189,2),(41191,2),(41198,2),(41200,2),(41213,2),(41217,2),(41222,2),(41232,2),(41236,2),(41238,2),(41243,2),(41246,2),(41249,2),(41250,2),(41255,2),(41258,2),(41264,2),(41265,2),(41276,2),(41277,2),(41293,2),(41303,2),(41304,2),(41307,2),(41322,2),(41329,2),(41330,2),(41331,2),(41333,2),(41336,2),(41341,2),(41347,2),(41351,2),(41352,2),(41355,2),(41359,2),(41370,2),(41375,2),(41390,2),(41391,2),(41392,2),(41399,2),(41409,2),(41430,2),(41449,2),(41452,2),(41456,2),(41458,2),(41459,2),(41460,2),(41462,2),(41464,2),(41467,2),(41470,2),(41472,2),(41474,2),(41475,2),(41476,2),(41488,2),(41492,2),(41493,2),(41495,2),(41499,2),(41524,2),(41526,2),(41527,2),(41528,2),(41540,2),(41549,2),(41550,2),(41562,2),(41566,2),(41576,2),(41581,2),(41590,2),(41595,2),(41615,2),(41617,2),(41627,2),(41641,2),(41642,2),(41646,2),(41647,2),(41654,2),(41660,2),(41662,2),(41666,2),(41668,2),(41670,2),(41674,2),(41675,2),(41679,2),(41682,2),(41694,2),(41700,2),(41710,2),(41711,2),(41712,2),(41716,2),(41731,2),(41740,2),(41742,2),(41753,2),(41755,2),(41760,2),(41763,2),(41770,2),(41772,2),(41782,2),(41785,2),(41800,2),(41804,2),(41805,2),(41806,2),(41808,2),(41809,2),(41812,2),(41836,2),(41837,2),(41843,2),(41847,2),(41848,2),(41850,2),(41860,2),(41861,2),(41870,2),(41874,2),(41878,2),(41879,2),(41885,2),(41887,2),(41888,2),(41899,2),(41905,2),(41912,2),(41916,2),(41921,2),(41924,2),(41925,2),(41931,2),(41937,2),(41939,2),(41945,2),(41961,2),(41963,2),(41977,2),(41996,2),(42001,2),(42006,2),(42011,2),(42012,2),(42022,2),(42033,2),(42034,2),(42039,2),(42069,2),(42073,2),(42081,2),(42091,2),(42098,2),(42103,2),(42106,2),(42110,2),(42114,2),(42115,2),(42120,2),(42131,2),(42137,2),(42138,2),(42139,2),(42148,2),(42157,2),(42161,2),(42167,2),(42173,2),(42177,2),(42178,2),(42180,2),(42182,2),(42183,2),(42187,2),(42193,2),(42195,2),(42201,2),(42203,2),(42207,2),(42215,2),(42217,2),(42224,2),(42228,2),(42229,2),(42232,2),(42248,2),(42253,2),(42257,2),(42259,2),(42264,2),(42266,2),(42267,2),(42269,2),(42275,2),(42277,2),(42294,2),(42295,2),(42303,2),(42308,2),(42311,2),(42312,2),(42313,2),(42316,2),(42317,2),(42318,2),(42338,2),(42350,2),(42356,2),(42358,2),(42364,2),(42365,2),(42368,2),(42374,2),(42375,2),(42380,2),(42384,2),(42405,2),(42411,2),(42414,2),(42421,2),(42426,2),(42442,2),(42448,2),(42450,2),(42451,2),(42453,2),(42454,2),(42460,2),(42473,2),(42475,2),(42476,2),(42477,2),(42478,2),(42480,2),(42482,2),(42483,2),(42497,2),(42498,2),(42506,2),(42511,2),(42515,2),(42520,2),(42523,2),(42540,2),(42547,2),(42563,2),(42567,2),(42573,2),(42586,2),(42590,2),(42596,2),(42604,2),(42618,2),(42625,2),(42633,2),(42634,2),(42636,2),(42637,2),(42644,2),(42656,2),(42668,2),(42672,2),(42675,2),(42679,2),(42680,2),(42692,2),(42693,2),(42695,2),(42703,2),(42714,2),(42720,2),(42723,2),(42729,2),(42757,2),(42758,2),(42762,2),(42769,2),(42779,2),(42781,2),(42787,2),(42789,2),(42797,2),(42800,2),(42801,2),(42803,2),(42805,2),(42806,2),(42808,2),(42814,2),(42815,2),(42821,2),(42823,2),(42854,2),(42860,2),(42864,2),(42873,2),(42874,2),(42876,2),(42879,2),(42883,2),(42889,2),(42894,2),(42902,2),(42904,2),(42917,2),(42924,2),(42925,2),(42931,2),(42932,2),(42938,2),(42939,2),(42948,2),(42951,2),(42959,2),(42968,2),(42970,2),(42975,2),(42977,2),(42979,2),(42981,2),(42985,2),(42986,2),(42991,2),(42996,2),(42997,2),(42999,2),(43000,2),(43002,2),(43008,2),(43010,2),(43020,2),(43021,2),(43025,2),(43032,2),(43035,2),(43067,2),(43085,2),(43088,2),(43093,2),(43097,2),(43113,2),(43114,2),(43116,2),(43121,2),(43123,2),(43131,2),(43138,2),(43143,2),(43146,2),(43149,2),(43155,2),(43182,2),(43185,2),(43191,2),(43209,2),(43211,2),(43223,2),(43225,2),(43227,2),(43228,2),(43234,2),(43237,2),(43242,2),(43255,2),(43257,2),(43261,2),(43263,2),(43268,2),(43271,2),(43279,2),(43280,2),(43281,2),(43283,2),(43285,2),(43286,2),(43293,2),(43295,2),(43310,2),(43317,2),(43328,2),(43329,2),(43331,2),(43332,2),(43333,2),(43344,2),(43354,2),(43356,2),(43358,2),(43367,2),(43377,2),(43389,2),(43397,2),(43404,2),(43405,2),(43406,2),(43413,2),(43433,2),(43437,2),(43447,2),(43448,2),(43457,2),(43463,2),(43465,2),(43467,2),(43470,2),(43476,2),(43488,2),(43491,2),(43492,2),(43497,2),(43502,2),(43515,2),(43534,2),(43542,2),(43548,2),(43564,2),(43568,2),(43569,2),(43571,2),(43577,2),(43583,2),(43601,2),(43605,2),(43610,2),(43615,2),(43627,2),(43630,2),(43641,2),(43647,2),(43649,2),(43653,2),(43654,2),(43659,2),(43661,2),(43669,2),(43686,2),(43689,2),(43696,2),(43726,2),(43727,2),(43729,2),(43741,2),(43742,2),(43752,2),(43754,2),(43763,2),(43777,2),(43783,2),(43788,2),(43795,2),(43801,2),(43804,2),(43826,2),(43842,2),(43844,2),(43846,2),(43856,2),(43859,2),(43862,2),(43866,2),(43868,2),(43870,2),(43876,2),(43879,2),(43888,2),(43892,2),(43902,2),(43904,2),(43908,2),(43913,2),(43915,2),(43916,2),(43925,2),(43926,2),(43927,2),(43930,2),(43932,2),(43942,2),(43975,2),(43981,2),(43983,2),(44013,2),(44017,2),(44027,2),(44028,2),(44029,2),(44042,2),(44044,2),(44049,2),(44056,2),(44057,2),(44060,2),(44063,2),(44065,2),(44068,2),(44069,2),(44086,2),(44087,2),(44088,2),(44096,2),(44105,2),(44117,2),(44123,2),(44127,2),(44138,2),(44148,2),(44149,2),(44156,2),(44158,2),(44159,2),(44163,2),(44169,2),(44180,2),(44184,2),(44201,2),(44215,2),(44216,2),(44220,2),(44233,2),(44235,2),(44240,2),(44252,2),(44258,2),(44266,2),(44273,2),(44274,2),(44280,2),(44291,2),(44296,2),(44298,2),(44336,2),(44337,2),(44342,2),(44350,2),(44352,2),(44354,2),(44365,2),(44372,2),(44378,2),(44382,2),(44388,2),(44395,2),(44401,2),(44409,2),(44410,2),(44413,2),(44417,2),(44425,2),(44433,2),(44445,2),(44446,2),(44449,2),(44450,2),(44452,2),(44464,2),(44473,2),(44474,2),(44476,2),(44481,2),(44482,2),(44484,2),(44485,2),(44494,2),(44500,2),(44510,2),(44512,2),(44514,2),(44515,2),(44520,2),(44525,2),(44534,2),(44541,2),(44557,2),(44564,2),(44566,2),(44571,2),(44576,2),(44577,2),(44578,2),(44585,2),(44587,2),(44594,2),(44596,2),(44599,2),(44601,2),(44602,2),(44605,2),(44607,2),(44612,2),(44616,2),(44627,2),(44630,2),(44635,2),(44641,2),(44645,2),(44649,2),(44651,2),(44654,2),(44660,2),(44665,2),(44667,2),(44671,2),(44684,2),(44685,2),(44700,2),(44703,2),(44711,2),(44716,2),(44723,2),(44724,2),(44735,2),(44739,2),(44740,2),(44745,2),(44747,2),(44749,2),(44756,2),(44763,2),(44765,2),(44769,2),(44793,2),(44796,2),(44801,2),(44802,2),(44811,2),(44822,2),(44827,2),(44836,2),(44838,2),(44840,2),(44842,2),(44844,2),(44846,2),(44858,2),(44875,2),(44888,2),(44895,2),(44898,2),(44902,2),(44903,2),(44910,2),(44917,2),(44923,2),(44933,2),(44965,2),(44971,2),(44975,2),(44984,2),(44985,2),(44987,2),(44991,2),(44992,2),(45004,2),(45006,2),(45017,2),(45019,2),(45024,2),(45027,2),(45032,2),(45034,2),(45042,2),(45043,2),(45048,2),(45059,2),(45064,2),(45072,2),(45075,2),(45077,2),(45078,2),(45083,2),(45089,2),(45091,2),(45095,2),(45099,2),(45104,2),(45105,2),(45109,2),(45124,2),(45149,2),(45157,2),(45164,2),(45169,2),(45178,2),(45183,2),(45190,2),(45194,2),(45195,2),(45198,2),(45201,2),(45203,2),(45205,2),(45206,2),(45208,2),(45219,2),(45221,2),(45235,2),(45237,2),(45242,2),(45246,2),(45251,2),(45255,2),(45257,2),(45260,2),(45264,2),(45265,2),(45272,2),(45277,2),(45285,2),(45295,2),(45307,2),(45309,2),(45313,2),(45324,2),(45325,2),(45326,2),(45344,2),(45349,2),(45362,2),(45363,2),(45369,2),(45375,2),(45384,2),(45388,2),(45392,2),(45396,2),(45419,2),(45425,2),(45447,2),(45449,2),(45459,2),(45463,2),(45465,2),(45470,2),(45473,2),(45482,2),(45484,2),(45491,2),(45497,2),(45529,2),(45535,2),(45536,2),(45540,2),(45541,2),(45547,2),(45552,2),(45556,2),(45565,2),(45567,2),(45572,2),(45579,2),(45590,2),(45593,2),(45600,2),(45602,2),(45610,2),(45625,2),(45629,2),(45640,2),(45652,2),(45659,2),(45667,2),(45668,2),(45680,2),(45687,2),(45688,2),(45700,2),(45702,2),(45704,2),(45707,2),(45708,2),(45709,2),(45714,2),(45717,2),(45729,2),(45731,2),(45735,2),(45758,2),(45760,2),(45765,2),(45766,2),(45768,2),(45769,2),(45772,2),(45780,2),(45786,2),(45791,2),(45798,2),(45800,2),(45807,2),(45812,2),(45814,2),(45815,2),(45819,2),(45827,2),(45828,2),(45835,2),(45840,2),(45857,2),(45863,2),(45868,2),(45877,2),(45879,2),(45880,2),(45890,2),(45896,2),(45902,2),(45915,2),(45920,2),(45921,2),(45934,2),(45942,2),(45948,2),(45949,2),(45952,2),(45953,2),(45959,2),(45965,2),(45967,2),(45969,2),(45981,2),(45982,2),(45983,2),(45994,2),(46006,2),(46012,2),(46014,2),(46015,2),(46022,2),(46040,2),(46041,2),(46046,2),(46054,2),(46055,2),(46065,2),(46072,2),(46077,2),(46078,2),(46089,2),(46102,2),(46107,2),(46117,2),(46118,2),(46122,2),(46128,2),(46140,2),(46143,2),(46146,2),(46150,2),(46152,2),(46154,2),(46163,2),(46165,2),(46172,2),(46174,2),(46181,2),(46182,2),(46200,2),(46205,2),(46208,2),(46211,2),(46221,2),(46227,2),(46235,2),(46238,2),(46242,2),(46250,2),(46255,2),(46267,2),(46278,2),(46283,2),(46285,2),(46287,2),(46288,2),(46293,2),(46302,2),(46310,2),(46312,2),(46314,2),(46315,2),(46319,2),(46320,2),(46324,2),(46326,2),(46338,2),(46342,2),(46343,2),(46352,2),(46354,2),(46363,2),(46364,2),(46365,2),(46367,2),(46382,2),(46388,2),(46389,2),(46404,2),(46406,2),(46409,2),(46426,2),(46430,2),(46441,2),(46457,2),(46458,2),(46459,2),(46468,2),(46472,2),(46482,2),(46485,2),(46490,2),(46492,2),(46504,2),(46508,2),(46510,2),(46517,2),(46529,2),(46536,2),(46542,2),(46544,2),(46548,2),(46551,2),(46552,2),(46554,2),(46567,2),(46570,2),(46592,2),(46595,2),(46602,2),(46603,2),(46617,2),(46619,2),(46624,2),(46626,2),(46627,2),(46628,2),(46633,2),(46634,2),(46643,2),(46649,2),(46655,2),(46657,2),(46661,2),(46662,2),(46676,2),(46678,2),(46680,2),(46682,2),(46683,2),(46689,2),(46691,2),(46698,2),(46699,2),(46704,2),(46724,2),(46737,2),(46739,2),(46751,2),(46753,2),(46766,2),(46772,2),(46773,2),(46783,2),(46786,2),(46791,2),(46792,2),(46815,2),(46818,2),(46820,2),(46824,2),(46829,2),(46830,2),(46846,2),(46847,2),(46849,2),(46887,2),(46896,2),(46902,2),(46905,2),(46908,2),(46911,2),(46919,2),(46926,2),(46934,2),(46935,2),(46938,2),(46945,2),(46947,2),(46965,2),(46966,2),(46988,2),(47005,2),(47009,2),(47016,2),(47018,2),(47021,2),(47029,2),(47033,2),(47041,2),(47043,2),(47057,2),(47070,2),(47077,2),(47084,2),(47092,2),(47098,2),(47101,2),(47102,2),(47107,2),(47111,2),(47112,2),(47117,2),(47119,2),(47130,2),(47135,2),(47148,2),(47152,2),(47167,2),(47184,2),(47194,2),(47196,2),(47199,2),(47201,2),(47204,2),(47213,2),(47215,2),(47218,2),(47232,2),(47242,2),(47246,2),(47251,2),(47253,2),(47256,2),(47257,2),(47268,2),(47282,2),(47286,2),(47287,2),(47293,2),(47296,2),(47298,2),(47318,2),(47321,2),(47328,2),(47334,2),(47339,2),(47351,2),(47380,2),(47392,2),(47400,2),(47401,2),(47415,2),(47420,2),(47421,2),(47426,2),(47430,2),(47438,2),(47440,2),(47441,2),(47449,2),(47452,2),(47453,2),(47458,2),(47470,2),(47472,2),(47474,2),(47477,2),(47483,2),(47497,2),(47507,2),(47511,2),(47514,2),(47517,2),(47518,2),(47539,2),(47542,2),(47543,2),(47545,2),(47556,2),(47557,2),(47563,2),(47568,2),(47584,2),(47588,2),(47589,2),(47603,2),(47610,2),(47628,2),(47629,2),(47633,2),(47642,2),(47643,2),(47647,2),(47670,2),(47671,2),(47679,2),(47686,2),(47691,2),(47698,2),(47703,2),(47716,2),(47717,2),(47725,2),(47734,2),(47739,2),(47743,2),(47747,2),(47766,2),(47772,2),(47779,2),(47783,2),(47786,2),(47789,2),(47809,2),(47810,2),(47814,2),(47818,2),(47822,2),(47830,2),(47834,2),(47840,2),(47855,2),(47857,2),(47859,2),(47860,2),(47861,2),(47869,2),(47882,2),(47885,2),(47890,2),(47905,2),(47907,2),(47913,2),(47918,2),(47919,2),(47930,2),(47937,2),(47939,2),(47948,2),(47955,2),(47962,2),(47963,2),(47965,2),(47967,2),(47968,2),(47973,2),(47988,2),(47989,2),(47993,2),(48005,2),(48006,2),(48007,2),(48008,2),(48012,2),(48013,2),(48022,2),(48050,2),(48051,2),(48058,2),(48066,2),(48067,2),(48068,2),(48073,2),(48077,2),(48080,2),(48083,2),(48096,2),(48098,2),(48116,2),(48117,2),(48118,2),(48122,2),(48123,2),(48124,2),(48135,2),(48137,2),(48139,2),(48143,2),(48163,2),(48164,2),(48165,2),(48167,2),(48168,2),(48171,2),(48174,2),(48183,2),(48195,2),(48202,2),(48209,2),(48218,2),(48221,2),(48224,2),(48225,2),(48230,2),(48239,2),(48250,2),(48254,2),(48255,2),(48265,2),(48277,2),(48311,2),(48320,2),(48353,2),(48366,2),(48367,2),(48370,2),(48372,2),(48393,2),(48398,2),(48410,2),(48417,2),(48424,2),(48429,2),(48430,2),(48436,2),(48442,2),(48444,2),(48446,2),(48462,2),(48463,2),(48473,2),(48474,2),(48482,2),(48488,2),(48491,2),(48509,2),(48518,2),(48534,2),(48537,2),(48539,2),(48543,2),(48545,2),(48549,2),(48553,2),(48554,2),(48555,2),(48559,2),(48566,2),(48589,2),(48592,2),(48598,2),(48600,2),(48603,2),(48606,2),(48609,2),(48611,2),(48612,2),(48620,2),(48624,2),(48634,2),(48645,2),(48646,2),(48657,2),(48664,2),(48669,2),(48673,2),(48684,2),(48692,2),(48699,2),(48704,2),(48706,2),(48718,2),(48725,2),(48726,2),(48767,2),(48778,2),(48780,2),(48781,2),(48787,2),(48789,2),(48805,2),(48807,2),(48808,2),(48810,2),(48814,2),(48815,2),(48829,2),(48838,2),(48841,2),(48875,2),(48877,2),(48882,2),(48891,2),(48896,2),(48902,2),(48909,2),(48916,2),(48921,2),(48925,2),(48934,2),(48937,2),(48948,2),(48957,2),(48958,2),(48967,2),(48970,2),(48980,2),(48982,2),(48985,2),(48993,2),(48999,2),(49003,2),(49007,2),(49008,2),(49012,2),(49016,2),(49019,2),(49027,2),(49028,2),(49034,2),(49035,2),(49036,2),(49047,2),(49049,2),(49050,2),(49059,2),(49065,2),(49066,2),(49075,2),(49077,2),(49092,2),(49098,2),(49107,2),(49113,2),(49117,2),(49118,2),(49120,2),(49122,2),(49124,2),(49134,2),(49144,2),(49152,2),(49157,2),(49158,2),(49160,2),(49177,2),(49180,2),(49191,2),(49194,2),(49198,2),(49208,2),(49210,2),(49216,2),(49236,2),(49244,2),(49248,2),(49250,2),(49254,2),(49257,2),(49258,2),(49260,2),(49261,2),(49263,2),(49274,2),(49276,2),(49283,2),(49290,2),(49292,2),(49296,2),(49299,2),(49301,2),(49302,2),(49303,2),(49306,2),(49311,2),(49322,2),(49323,2),(49337,2),(49342,2),(49349,2),(49353,2),(49357,2),(49361,2),(49370,2),(49378,2),(49388,2),(49391,2),(49392,2),(49397,2),(49402,2),(49404,2),(49417,2),(49422,2),(49426,2),(49427,2),(49429,2),(49435,2),(49441,2),(49448,2),(49451,2),(49452,2),(49453,2),(49458,2),(49464,2),(49468,2),(49471,2),(49479,2),(49486,2),(49489,2),(49504,2),(49512,2),(49524,2),(49527,2),(49530,2),(49531,2),(49537,2),(49541,2),(49552,2),(49555,2),(49563,2),(49575,2),(49576,2),(49577,2),(49583,2),(49584,2),(49586,2),(49590,2),(49599,2),(49604,2),(49617,2),(49621,2),(49629,2),(49630,2),(49634,2),(49636,2),(49643,2),(49649,2),(49663,2),(49672,2),(49673,2),(49684,2),(49687,2),(49688,2),(49689,2),(49700,2),(49712,2),(49718,2),(49725,2),(49726,2),(49729,2),(49741,2),(49742,2),(49750,2),(49754,2),(49760,2),(49761,2),(49771,2),(49775,2),(49782,2),(49783,2),(49795,2),(49805,2),(49806,2),(49810,2),(49812,2),(49815,2),(49817,2),(49824,2),(49827,2),(49837,2),(49839,2),(49844,2),(49853,2),(49866,2),(49868,2),(49869,2),(49872,2),(49874,2),(49877,2),(49878,2),(49879,2),(49887,2),(49896,2),(49899,2),(49900,2),(49902,2),(49916,2),(49919,2),(49925,2),(49943,2),(49947,2),(49949,2),(49954,2),(49955,2),(49957,2),(49963,2),(49966,2),(49974,2),(49980,2),(49984,2),(49989,2),(49997,2),(50009,2),(50016,2),(50021,2),(50035,2),(50050,2),(50051,2),(50065,2),(50105,2),(50110,2),(50114,2),(50119,2),(50124,2),(50129,2),(50134,2),(50135,2),(50146,2),(50147,2),(50161,2),(50162,2),(50171,2),(50202,2),(50207,2),(50214,2),(50215,2),(50216,2),(50218,2),(50221,2),(50222,2),(50224,2),(50230,2),(50231,2),(50241,2),(50244,2),(50245,2),(50261,2),(50263,2),(50271,2),(50274,2),(50277,2),(50284,2),(50288,2),(50296,2),(50300,2),(50304,2),(50311,2),(50317,2),(50328,2),(50343,2),(50349,2),(50355,2),(50359,2),(50361,2),(50377,2),(50390,2),(50396,2),(50398,2),(50401,2),(50402,2),(50405,2),(50409,2),(50414,2),(50418,2),(50419,2),(50420,2),(50432,2),(50436,2),(50456,2),(50459,2),(50463,2),(50469,2),(50471,2),(50472,2),(50479,2),(50490,2),(50491,2),(50502,2),(50508,2),(50518,2),(50521,2),(50524,2),(50533,2),(50547,2),(50565,2),(50573,2),(50578,2),(50582,2),(50589,2),(50592,2),(50595,2),(50600,2),(50615,2),(50616,2),(50619,2),(50621,2),(50633,2),(50634,2),(50638,2),(50648,2),(50660,2),(50669,2),(50673,2),(50675,2),(50686,2),(50689,2),(50690,2),(50694,2),(50698,2),(50704,2),(50708,2),(50710,2),(50716,2),(50719,2),(50725,2),(50744,2),(50749,2),(50754,2),(50759,2),(50764,2),(50768,2),(50772,2),(50774,2),(50783,2),(50797,2),(50801,2),(50807,2),(50814,2),(50818,2),(50829,2),(50844,2),(50845,2),(50846,2),(50856,2),(50863,2),(50864,2),(50881,2),(50885,2),(50887,2),(50889,2),(50895,2),(50900,2),(50903,2),(50916,2),(50933,2),(50935,2),(50944,2),(50948,2),(50956,2),(50965,2),(50966,2),(50970,2),(50977,2),(50988,2),(50995,2),(50996,2),(51006,2),(51008,2),(51013,2),(51015,2),(51024,2),(51042,2),(51046,2),(51050,2),(51072,2),(51094,2),(51097,2),(51098,2),(51101,2),(51102,2),(51103,2),(51108,2),(51125,2),(51126,2),(51127,2),(51130,2),(51131,2),(51132,2),(51136,2),(51137,2),(51138,2),(51139,2),(51144,2),(51157,2),(51165,2),(51172,2),(51180,2),(51187,2),(51193,2),(51195,2),(51199,2),(51203,2),(51204,2),(51212,2),(51215,2),(51225,2),(51232,2),(51236,2),(51241,2),(51243,2),(51246,2),(51248,2),(51254,2),(51255,2),(51269,2),(51273,2),(51277,2),(51297,2),(51312,2),(51315,2),(51316,2),(51328,2),(51334,2),(51343,2),(51345,2),(51358,2),(51359,2),(51362,2),(51363,2),(51364,2),(51366,2),(51377,2),(51385,2),(51399,2),(51407,2),(51409,2),(51410,2),(51431,2),(51436,2),(51443,2),(51458,2),(51459,2),(51460,2),(51463,2),(51464,2),(51468,2),(51474,2),(51476,2),(51478,2),(51482,2),(51484,2),(51486,2),(51490,2),(51499,2),(51532,2),(51535,2),(51542,2),(51548,2),(51557,2),(51563,2),(51564,2),(51568,2),(51589,2),(51599,2),(51602,2),(51603,2),(51605,2),(51610,2),(51613,2),(51614,2),(51626,2),(51627,2),(51628,2),(51629,2),(51641,2),(51644,2),(51650,2),(51651,2),(51660,2),(51661,2),(51663,2),(51675,2),(51677,2),(51679,2),(51681,2),(51708,2),(51722,2),(51731,2),(51742,2),(51746,2),(51765,2),(51766,2),(51774,2),(51783,2),(51785,2),(51788,2),(51792,2),(51793,2),(51798,2),(51799,2),(51800,2),(51811,2),(51820,2),(51821,2),(51822,2),(51827,2),(51830,2),(51842,2),(51845,2),(51851,2),(51853,2),(51856,2),(51865,2),(51869,2),(51871,2),(51874,2),(51889,2),(51895,2),(51896,2),(51898,2),(51900,2),(51909,2),(51914,2),(51915,2),(51928,2),(51936,2),(51944,2),(51951,2),(51956,2),(51970,2),(51977,2),(51984,2),(51991,2),(51992,2),(51997,2),(51998,2),(51999,2),(52009,2),(52020,2),(52025,2),(52030,2),(52040,2),(52046,2),(52049,2),(52060,2),(52061,2),(52065,2),(52073,2),(52103,2),(52104,2),(52105,2),(52108,2),(52120,2),(52125,2),(52138,2),(52139,2),(52141,2),(52142,2),(52143,2),(52146,2),(52155,2),(52158,2),(52166,2),(52190,2),(52201,2),(52217,2),(52223,2),(52224,2),(52231,2),(52235,2),(52239,2),(52241,2),(52243,2),(52254,2),(52255,2),(52257,2),(52298,2),(52328,2),(52329,2),(52339,2),(52342,2),(52348,2),(52352,2),(52362,2),(52365,2),(52378,2),(52379,2),(52382,2),(52387,2),(52391,2),(52397,2),(52404,2),(52407,2),(52429,2),(52434,2),(52436,2),(52437,2),(52452,2),(52454,2),(52465,2),(52472,2),(52482,2),(52484,2),(52490,2),(52499,2),(52502,2),(52518,2),(52527,2),(52529,2),(52532,2),(52538,2),(52553,2),(52555,2),(52558,2),(52563,2),(52566,2),(52571,2),(52575,2),(52596,2),(52623,2),(52630,2),(52632,2),(52633,2),(52642,2),(52643,2),(52649,2),(52659,2),(52672,2),(52673,2),(52676,2),(52680,2),(52684,2),(52700,2),(52703,2),(52704,2),(52710,2),(52715,2),(52719,2),(52723,2),(52731,2),(52740,2),(52761,2),(52768,2),(52773,2),(52781,2),(52785,2),(52796,2),(52805,2),(52807,2),(52809,2),(52810,2),(52815,2),(52819,2),(52830,2),(52832,2),(52835,2),(52855,2),(52866,2),(52879,2),(52883,2),(52885,2),(52888,2),(52897,2),(52898,2),(52899,2),(52902,2),(52903,2),(52905,2),(52907,2),(52911,2),(52912,2),(52925,2),(52936,2),(52938,2),(52942,2),(52962,2),(52973,2),(52984,2),(52990,2),(52992,2),(52997,2),(52998,2),(53006,2),(53020,2),(53022,2),(53035,2),(53040,2),(53050,2),(53056,2),(53063,2),(53084,2),(53089,2),(53093,2),(53095,2),(53100,2),(53111,2),(53130,2),(53140,2),(53148,2),(53152,2),(53169,2),(53172,2),(53174,2),(53180,2),(53182,2),(53187,2),(53194,2),(53197,2),(53209,2),(53210,2),(53212,2),(53223,2),(53231,2),(53238,2),(53240,2),(53243,2),(53252,2),(53253,2),(53264,2),(53269,2),(53276,2),(53279,2),(53280,2),(53283,2),(53295,2),(53296,2),(53304,2),(53306,2),(53312,2),(53320,2),(53337,2),(53342,2),(53350,2),(53351,2),(53352,2),(53354,2),(53360,2),(53373,2),(53383,2),(53394,2),(53400,2),(53403,2),(53412,2),(53414,2),(53418,2),(53434,2),(53435,2),(53450,2),(53456,2),(53459,2),(53460,2),(53462,2),(53468,2),(53475,2),(53478,2),(53481,2),(53484,2),(53488,2),(53490,2),(53491,2),(53494,2),(53501,2),(53503,2),(53506,2),(53509,2),(53510,2),(53514,2),(53517,2),(53519,2),(53520,2),(53529,2),(53534,2),(53545,2),(53547,2),(53550,2),(53555,2),(53562,2),(53568,2),(53570,2),(53572,2),(53597,2),(53603,2),(53608,2),(53614,2),(53616,2),(53628,2),(53629,2),(53632,2),(53636,2),(53641,2),(53643,2),(53645,2),(53653,2),(53671,2),(53675,2),(53691,2),(53695,2),(53705,2),(53712,2),(53713,2),(53717,2),(53718,2),(53727,2),(53729,2),(53731,2),(53732,2),(53733,2),(53748,2),(53757,2),(53764,2),(53766,2),(53768,2),(53774,2),(53781,2),(53789,2),(53794,2),(53797,2),(53799,2),(53813,2),(53816,2),(53834,2),(53838,2),(53842,2),(53848,2),(53856,2),(53865,2),(53870,2),(53871,2),(53872,2),(53873,2),(53877,2),(53878,2),(53888,2),(53892,2),(53902,2),(53910,2),(53919,2),(53920,2),(53930,2),(53959,2),(53978,2),(53983,2),(53985,2),(53997,2),(54019,2),(54020,2),(54031,2),(54032,2),(54035,2),(54041,2),(54042,2),(54046,2),(54048,2),(54053,2),(54055,2),(54060,2),(54089,2),(54097,2),(54100,2),(54101,2),(54105,2),(54109,2),(54116,2),(54123,2),(54130,2),(54139,2),(54140,2),(54147,2),(54149,2),(54155,2),(54156,2),(54160,2),(54163,2),(54178,2),(54179,2),(54184,2),(54201,2),(54220,2),(54221,2),(54226,2),(54229,2),(54239,2),(54242,2),(54243,2),(54247,2),(54249,2),(54254,2),(54256,2),(54263,2),(54268,2),(54273,2),(54274,2),(54280,2),(54281,2),(54285,2),(54288,2),(54290,2),(54291,2),(54293,2),(54299,2),(54312,2),(54330,2),(54334,2),(54335,2),(54342,2),(54345,2),(54349,2),(54352,2),(54364,2),(54373,2),(54376,2),(54378,2),(54397,2),(54400,2),(54402,2),(54404,2),(54435,2),(54447,2),(54449,2),(54459,2),(54471,2),(54481,2),(54485,2),(54486,2),(54494,2),(54502,2),(54504,2),(54506,2),(54515,2),(54516,2),(54522,2),(54526,2),(54531,2),(54532,2),(54536,2),(54541,2),(54546,2),(54550,2),(54553,2),(54556,2),(54558,2),(54568,2),(54574,2),(54582,2),(54585,2),(54595,2),(54596,2),(54608,2),(54609,2),(54615,2),(54616,2),(54621,2),(54651,2),(54657,2),(54663,2),(54669,2),(54671,2),(54681,2),(54686,2),(54696,2),(54697,2),(54699,2),(54701,2),(54707,2),(54709,2),(54720,2),(54723,2),(54725,2),(54729,2),(54731,2),(54733,2),(54738,2),(54746,2),(54747,2),(54753,2),(54757,2),(54758,2),(54759,2),(54762,2),(54764,2),(54767,2),(54769,2),(54784,2),(54788,2),(54789,2),(54794,2),(54795,2),(54800,2),(54803,2),(54806,2),(54812,2),(54824,2),(54827,2),(54831,2),(54837,2),(54841,2),(54850,2),(54851,2),(54856,2),(54865,2),(54869,2),(54880,2),(54881,2),(54885,2),(54886,2),(54887,2),(54889,2),(54890,2),(54892,2),(54897,2),(54898,2),(54903,2),(54908,2),(54911,2),(54917,2),(54921,2),(54925,2),(54926,2),(54927,2),(54934,2),(54941,2),(54952,2),(54955,2),(54962,2),(54985,2),(54996,2),(55008,2),(55024,2),(55027,2),(55028,2),(55033,2),(55045,2),(55048,2),(55049,2),(55050,2),(55059,2),(55068,2),(55073,2),(55081,2),(55095,2),(55096,2),(55098,2),(55103,2),(55112,2),(55113,2),(55143,2),(55151,2),(55160,2),(55162,2),(55181,2),(55184,2),(55192,2),(55195,2),(55196,2),(55206,2),(55232,2),(55238,2),(55248,2),(55259,2),(55262,2),(55263,2),(55274,2),(55278,2),(55289,2),(55296,2),(55300,2),(55309,2),(55311,2),(55315,2),(55319,2),(55326,2),(55352,2),(55356,2),(55372,2),(55375,2),(55377,2),(55382,2),(55388,2),(55389,2),(55397,2),(55407,2),(55409,2),(55416,2),(55424,2),(55428,2),(55437,2),(55455,2),(55456,2),(55466,2),(55476,2),(55477,2),(55478,2),(55489,2),(55504,2),(55514,2),(55515,2),(55524,2),(55526,2),(55547,2),(55557,2),(55563,2),(55567,2),(55568,2),(55573,2),(55578,2),(55579,2),(55590,2),(55607,2),(55610,2),(55611,2),(55613,2),(55614,2),(55632,2),(55633,2),(55642,2),(55644,2),(55648,2),(55649,2),(55656,2),(55657,2),(55662,2),(55669,2),(55671,2),(55684,2),(55688,2),(55699,2),(55705,2),(55716,2),(55719,2),(55732,2),(55743,2),(55753,2),(55765,2),(55770,2),(55780,2),(55781,2),(55784,2),(55789,2),(55797,2),(55803,2),(55805,2),(55814,2),(55827,2),(55828,2),(55834,2),(55841,2),(55842,2),(55843,2),(55846,2),(55847,2),(55855,2),(55857,2),(55864,2),(55883,2),(55895,2),(55898,2),(55899,2),(55900,2),(55905,2),(55918,2),(55919,2),(55924,2),(55926,2),(55927,2),(55932,2),(55933,2),(55935,2),(55936,2),(55955,2),(55957,2),(55960,2),(55964,2),(55972,2),(55973,2),(55975,2),(55986,2),(56018,2),(56026,2),(56035,2),(56040,2),(56047,2),(56057,2),(56062,2),(56069,2),(56070,2),(56074,2),(56075,2),(56085,2),(56087,2),(56089,2),(56095,2),(56101,2),(56103,2),(56119,2),(56124,2),(56126,2),(56136,2),(56159,2),(56166,2),(56171,2),(56176,2),(56180,2),(56189,2),(56193,2),(56206,2),(56208,2),(56220,2),(56222,2),(56226,2),(56231,2),(56232,2),(56253,2),(56254,2),(56263,2),(56277,2),(56284,2),(56288,2),(56294,2),(56302,2),(56310,2),(56314,2),(56315,2),(56325,2),(56335,2),(56336,2),(56338,2),(56354,2),(56355,2),(56361,2),(56373,2),(56375,2),(56382,2),(56385,2),(56387,2),(56389,2),(56398,2),(56406,2),(56415,2),(56419,2),(56420,2),(56421,2),(56433,2),(56441,2),(56447,2),(56457,2),(56464,2),(56471,2),(56473,2),(56476,2),(56477,2),(56489,2),(56493,2),(56495,2),(56504,2),(56505,2),(56513,2),(56515,2),(56521,2),(56525,2),(56533,2),(56540,2),(56543,2),(56547,2),(56548,2),(56550,2),(56566,2),(56571,2),(56587,2),(56593,2),(56599,2),(56615,2),(56618,2),(56623,2),(56624,2),(56642,2),(56653,2),(56671,2),(56673,2),(56679,2),(56680,2),(56689,2),(56693,2),(56704,2),(56712,2),(56740,2),(56748,2),(56758,2),(56761,2),(56767,2),(56782,2),(56793,2),(56796,2),(56800,2),(56807,2),(56808,2),(56832,2),(56834,2),(56849,2),(56868,2),(56873,2),(56893,2),(56898,2),(56905,2),(56913,2),(56917,2),(56918,2),(56922,2),(56924,2),(56928,2),(56944,2),(56945,2),(56947,2),(56960,2),(56961,2),(56962,2),(56964,2),(56970,2),(56971,2),(56973,2),(56978,2),(56980,2),(56981,2),(56991,2),(56994,2),(56996,2),(57003,2),(57006,2),(57013,2),(57015,2),(57017,2),(57021,2),(57027,2),(57029,2),(57033,2),(57040,2),(57044,2),(57046,2),(57049,2),(57057,2),(57071,2),(57072,2),(57075,2),(57086,2),(57090,2),(57092,2),(57104,2),(57112,2),(57114,2),(57124,2),(57132,2),(57134,2),(57149,2),(57151,2),(57164,2),(57166,2),(57172,2),(57175,2),(57176,2),(57177,2),(57179,2),(57180,2),(57188,2),(57212,2),(57220,2),(57221,2),(57224,2),(57244,2),(57247,2),(57249,2),(57252,2),(57261,2),(57266,2),(57270,2),(57272,2),(57277,2),(57280,2),(57282,2),(57287,2),(57290,2),(57294,2),(57311,2),(57314,2),(57332,2),(57337,2),(57345,2),(57346,2),(57349,2),(57359,2),(57361,2),(57364,2),(57387,2),(57389,2),(57391,2),(57402,2),(57403,2),(57411,2),(57425,2),(57427,2),(57429,2),(57452,2),(57455,2),(57464,2),(57466,2),(57470,2),(57472,2),(57473,2),(57482,2),(57484,2),(57490,2),(57502,2),(57503,2),(57523,2),(57525,2),(57528,2),(57530,2),(57531,2),(57535,2),(57541,2),(57542,2),(57545,2),(57552,2),(57562,2),(57573,2),(57580,2),(57583,2),(57597,2),(57599,2),(57618,2),(57620,2),(57622,2),(57626,2),(57634,2),(57635,2),(57637,2),(57655,2),(57668,2),(57670,2),(57672,2),(57687,2),(57693,2),(57705,2),(57707,2),(57710,2),(57711,2),(57728,2),(57730,2),(57732,2),(57733,2),(57734,2),(57737,2),(57740,2),(57757,2),(57761,2),(57768,2),(57778,2),(57780,2),(57788,2),(57791,2),(57795,2),(57797,2),(57805,2),(57813,2),(57814,2),(57818,2),(57819,2),(57825,2),(57830,2),(57832,2),(57833,2),(57856,2),(57857,2),(57864,2),(57869,2),(57876,2),(57880,2),(57890,2),(57900,2),(57903,2),(57904,2),(57912,2),(57919,2),(57929,2),(57931,2),(57945,2),(57951,2),(57953,2),(57954,2),(57955,2),(57956,2),(57985,2),(57989,2),(57990,2),(57995,2),(58000,2),(58001,2),(58005,2),(58008,2),(58017,2),(58021,2),(58032,2),(58036,2),(58042,2),(58044,2),(58046,2),(58049,2),(58054,2),(58060,2),(58065,2),(58072,2),(58076,2),(58091,2),(58092,2),(58103,2),(58107,2),(58119,2),(58121,2),(58122,2),(58127,2),(58129,2),(58133,2),(58135,2),(58141,2),(58142,2),(58151,2),(58158,2),(58170,2),(58173,2),(58176,2),(58177,2),(58180,2),(58184,2),(58186,2),(58191,2),(58193,2),(58221,2),(58227,2),(58247,2),(58258,2),(58266,2),(58268,2),(58269,2),(58270,2),(58272,2),(58279,2),(58286,2),(58288,2),(58289,2),(58290,2),(58296,2),(58309,2),(58316,2),(58318,2),(58326,2),(58330,2),(58334,2),(58344,2),(58345,2),(58346,2),(58368,2),(58369,2),(58375,2),(58382,2),(58383,2),(58386,2),(58391,2),(58393,2),(58396,2),(58407,2),(58408,2),(58419,2),(58421,2),(58425,2),(58428,2),(58429,2),(58437,2),(58439,2),(58452,2),(58454,2),(58460,2),(58464,2),(58465,2),(58466,2),(58467,2),(58475,2),(58477,2),(58482,2),(58486,2),(58487,2),(58489,2),(58496,2),(58499,2),(58500,2),(58522,2),(58541,2),(58550,2),(58553,2),(58557,2),(58574,2),(58577,2),(58582,2),(58583,2),(58587,2),(58599,2),(58600,2),(58614,2),(58626,2),(58637,2),(58638,2),(58643,2),(58644,2),(58645,2),(58650,2),(58660,2),(58662,2),(58668,2),(58677,2),(58700,2),(58705,2),(58709,2),(58712,2),(58715,2),(58716,2),(58717,2),(58727,2),(58733,2),(58749,2),(58753,2),(58755,2),(58757,2),(58771,2),(58782,2),(58784,2),(58787,2),(58796,2),(58800,2),(58804,2),(58809,2),(58812,2),(58815,2),(58819,2),(58828,2),(58835,2),(58848,2),(58853,2),(58868,2),(58870,2),(58871,2),(58884,2),(58885,2),(58888,2),(58893,2),(58904,2),(58908,2),(58915,2),(58936,2),(58940,2),(58947,2),(58956,2),(58996,2),(59005,2),(59030,2),(59044,2),(59048,2),(59049,2),(59050,2),(59057,2),(59070,2),(59081,2),(59084,2),(59095,2),(59100,2),(59104,2),(59109,2),(59113,2),(59118,2),(59120,2),(59122,2),(59128,2),(59129,2),(59134,2),(59135,2),(59143,2),(59146,2),(59147,2),(59148,2),(59162,2),(59167,2),(59176,2),(59179,2),(59181,2),(59190,2),(59192,2),(59198,2),(59214,2),(59223,2),(59224,2),(59234,2),(59237,2),(59241,2),(59246,2),(59251,2),(59263,2),(59264,2),(59265,2),(59277,2),(59290,2),(59300,2),(59304,2),(59308,2),(59309,2),(59314,2),(59321,2),(59323,2),(59340,2),(59350,2),(59362,2),(59365,2),(59383,2),(59384,2),(59388,2),(59392,2),(59394,2),(59404,2),(59409,2),(59415,2),(59416,2),(59420,2),(59424,2),(59426,2),(59430,2),(59432,2),(59439,2),(59442,2),(59448,2),(59455,2),(59465,2),(59479,2),(59485,2),(59489,2),(59508,2),(59516,2),(59530,2),(59534,2),(59542,2),(59547,2),(59550,2),(59557,2),(59570,2),(59571,2),(59572,2),(59574,2),(59576,2),(59577,2),(59584,2),(59587,2),(59589,2),(59590,2),(59595,2),(59597,2),(59607,2),(59609,2),(59625,2),(59635,2),(59636,2),(59637,2),(59647,2),(59659,2),(59665,2),(59712,2),(59714,2),(59718,2),(59720,2),(59723,2),(59738,2),(59741,2),(59743,2),(59748,2),(59749,2),(59750,2),(59763,2),(59766,2),(59772,2),(59777,2),(59788,2),(59794,2),(59796,2),(59797,2),(59800,2),(59802,2),(59803,2),(59804,2),(59813,2),(59818,2),(59819,2),(59834,2),(59835,2),(59846,2),(59851,2),(59862,2),(59863,2),(59876,2),(59880,2),(59883,2),(59889,2),(59899,2),(59909,2),(59920,2),(59925,2),(59931,2),(59934,2),(59938,2),(59956,2),(59959,2),(59960,2),(59962,2),(59972,2),(59988,2),(59989,2),(59993,2),(60000,2),(60012,2),(60032,2),(60037,2),(60039,2),(60043,2),(60045,2),(60054,2),(60062,2),(60067,2),(60068,2),(60071,2),(60074,2),(60080,2),(60082,2),(60092,2),(60103,2),(60111,2),(60113,2),(60114,2),(60116,2),(60127,2),(60131,2),(60136,2),(60137,2),(60148,2),(60153,2),(60154,2),(60161,2),(60174,2),(60179,2),(60180,2),(60181,2),(60183,2),(60193,2),(60196,2),(60197,2),(60199,2),(60206,2),(60209,2),(60212,2),(60220,2),(60221,2),(60225,2),(60241,2),(60249,2),(60253,2),(60259,2),(60260,2),(60261,2),(60262,2),(60270,2),(60276,2),(60277,2),(60279,2),(60289,2),(60293,2),(60300,2),(60307,2),(60334,2),(60336,2),(60343,2),(60344,2),(60353,2),(60355,2),(60356,2),(60358,2),(60364,2),(60370,2),(60371,2),(60372,2),(60378,2),(60388,2),(60392,2),(60396,2),(60397,2),(60401,2),(60402,2),(60404,2),(60416,2),(60418,2),(60435,2),(60439,2),(60449,2),(60461,2),(60465,2),(60467,2),(60476,2),(60492,2),(60516,2),(60521,2),(60524,2),(60535,2),(60538,2),(60546,2),(60550,2),(60556,2),(60583,2),(60587,2),(60589,2),(60597,2),(60606,2),(60613,2),(60614,2),(60616,2),(60636,2),(60638,2),(60645,2),(60647,2),(60652,2),(60653,2),(60659,2),(60661,2),(60663,2),(60679,2),(60685,2),(60696,2),(60697,2),(60699,2),(60700,2),(60702,2),(60710,2),(60711,2),(60719,2),(60725,2),(60727,2),(60728,2),(60736,2),(60749,2),(60765,2),(60766,2),(60770,2),(60774,2),(60777,2),(60779,2),(60782,2),(60784,2),(60791,2),(60795,2),(60798,2),(60800,2),(60803,2),(60812,2),(60815,2),(60822,2),(60824,2),(60835,2),(60836,2),(60837,2),(60840,2),(60844,2),(60854,2),(60856,2),(60863,2),(60864,2),(60868,2),(60874,2),(60877,2),(60878,2),(60881,2),(60883,2),(60886,2),(60887,2),(60890,2),(60891,2),(60893,2),(60898,2),(60901,2),(60906,2),(60910,2),(60922,2),(60929,2),(60931,2),(60940,2),(60946,2),(60949,2),(60952,2),(60954,2),(60959,2),(60962,2),(60968,2),(60972,2),(60986,2),(60987,2),(60988,2),(60990,2),(61008,2),(61014,2),(61024,2),(61036,2),(61037,2),(61047,2),(61051,2),(61052,2),(61056,2),(61061,2),(61064,2),(61067,2),(61076,2),(61078,2),(61079,2),(61088,2),(61099,2),(61108,2),(61112,2),(61118,2),(61127,2),(61129,2),(61130,2),(61141,2),(61165,2),(61167,2),(61168,2),(61169,2),(61175,2),(61176,2),(61181,2),(61182,2),(61183,2),(61184,2),(61191,2),(61194,2),(61200,2),(61223,2),(61236,2),(61241,2),(61246,2),(61255,2),(61256,2),(61259,2),(61262,2),(61264,2),(61269,2),(61276,2),(61284,2),(61296,2),(61297,2),(61300,2),(61304,2),(61318,2),(61320,2),(61337,2),(61351,2),(61352,2),(61359,2),(61361,2),(61366,2),(61368,2),(61369,2),(61370,2),(61401,2),(61402,2),(61412,2),(61413,2),(61428,2),(61431,2),(61446,2),(61451,2),(61458,2),(61463,2),(61467,2),(61482,2),(61489,2),(61491,2),(61503,2),(61507,2),(61509,2),(61521,2),(61527,2),(61532,2),(61533,2),(61541,2),(61546,2),(61560,2),(61564,2),(61566,2),(61571,2),(61582,2),(61602,2),(61604,2),(61630,2),(61632,2),(61655,2),(61658,2),(61660,2),(61665,2),(61668,2),(61669,2),(61671,2),(61673,2),(61676,2),(61684,2),(61689,2),(61690,2),(61705,2),(61714,2),(61732,2),(61741,2),(61742,2),(61758,2),(61762,2),(61768,2),(61771,2),(61775,2),(61790,2),(61793,2),(61802,2),(61805,2),(61807,2),(61808,2),(61818,2),(61829,2),(61842,2),(61843,2),(61851,2),(61856,2),(61860,2),(61868,2),(61874,2),(61876,2),(61889,2),(61890,2),(61893,2),(61896,2),(61900,2),(61901,2),(61906,2),(61915,2),(61924,2),(61936,2),(61937,2),(61941,2),(61949,2),(61957,2),(61964,2),(61970,2),(61977,2),(61982,2),(61986,2),(61987,2),(61990,2),(61994,2),(61995,2),(61998,2),(62000,2),(62006,2),(62007,2),(62008,2),(62011,2),(62015,2),(62019,2),(62028,2),(62030,2),(62034,2),(62065,2),(62081,2),(62107,2),(62112,2),(62120,2),(62128,2),(62135,2),(62143,2),(62148,2),(62151,2),(62158,2),(62167,2),(62169,2),(62170,2),(62182,2),(62197,2),(62201,2),(62204,2),(62205,2),(62206,2),(62210,2),(62214,2),(62217,2),(62220,2),(62222,2),(62224,2),(62228,2),(62231,2),(62245,2),(62249,2),(62251,2),(62260,2),(62261,2),(62266,2),(62270,2),(62276,2),(62296,2),(62301,2),(62302,2),(62305,2),(62315,2),(62317,2),(62318,2),(62325,2),(62328,2),(62333,2),(62339,2),(62340,2),(62349,2),(62351,2),(62352,2),(62363,2),(62367,2),(62368,2),(62371,2),(62373,2),(62379,2),(62385,2),(62396,2),(62399,2),(62404,2),(62405,2),(62409,2),(62411,2),(62413,2),(62420,2),(62426,2),(62428,2),(62430,2),(62439,2),(62457,2),(62469,2),(62483,2),(62487,2),(62497,2),(62505,2),(62512,2),(62524,2),(62548,2),(62557,2),(62558,2),(62559,2),(62571,2),(62575,2),(62580,2),(62585,2),(62586,2),(62614,2),(62622,2),(62623,2),(62627,2),(62632,2),(62634,2),(62635,2),(62645,2),(62646,2),(62652,2),(62653,2),(62656,2),(62678,2),(62691,2),(62692,2),(62697,2),(62703,2),(62712,2),(62715,2),(62717,2),(62722,2),(62732,2),(62735,2),(62739,2),(62745,2),(62752,2),(62763,2),(62786,2),(62796,2),(62798,2),(62799,2),(62814,2),(62825,2),(62846,2),(62850,2),(62854,2),(62855,2),(62860,2),(62863,2),(62864,2),(62879,2),(62896,2),(62902,2),(62903,2),(62909,2),(62910,2),(62911,2),(62917,2),(62918,2),(62931,2),(62934,2),(62936,2),(62938,2),(62942,2),(62947,2),(62950,2),(62952,2),(62953,2),(62963,2),(62964,2),(62965,2),(62979,2),(62982,2),(62999,2),(63008,2),(63011,2),(63018,2),(63022,2),(63024,2),(63026,2),(63032,2),(63039,2),(63043,2),(63058,2),(63061,2),(63064,2),(63068,2),(63073,2),(63074,2),(63085,2),(63086,2),(63088,2),(63100,2),(63101,2),(63107,2),(63116,2),(63130,2),(63137,2),(63143,2),(63150,2),(63154,2),(63158,2),(63161,2),(63163,2),(63167,2),(63172,2),(63176,2),(63178,2),(63185,2),(63203,2),(63206,2),(63215,2),(63223,2),(63225,2),(63227,2),(63228,2),(63231,2),(63240,2),(63247,2),(63263,2),(63269,2),(63281,2),(63303,2),(63305,2),(63313,2),(63314,2),(63326,2),(63327,2),(63330,2),(63331,2),(63334,2),(63338,2),(63340,2),(63343,2),(63344,2),(63360,2),(63364,2),(63368,2),(63369,2),(63378,2),(63379,2),(63383,2),(63387,2),(63393,2),(63406,2),(63407,2),(63415,2),(63424,2),(63428,2),(63430,2),(63435,2),(63452,2),(63458,2),(63463,2),(63464,2),(63470,2),(63477,2),(63478,2),(63483,2),(63495,2),(63497,2),(63507,2),(63509,2),(63520,2),(63526,2),(63530,2),(63531,2),(63538,2),(63539,2),(63540,2),(63550,2),(63557,2),(63566,2),(63578,2),(63585,2),(63591,2),(63596,2),(63599,2),(63601,2),(63603,2),(63610,2),(63614,2),(63618,2),(63620,2),(63625,2),(63630,2),(63631,2),(63633,2),(63640,2),(63641,2),(63648,2),(63650,2),(63663,2),(63688,2),(63702,2),(63705,2),(63717,2),(63736,2),(63740,2),(63749,2),(63751,2),(63760,2),(63763,2),(63765,2),(63767,2),(63775,2),(63782,2),(63786,2),(63787,2),(63806,2),(63808,2),(63814,2),(63816,2),(63824,2),(63827,2),(63828,2),(63835,2),(63836,2),(63849,2),(63853,2),(63857,2),(63862,2),(63868,2),(63870,2),(63871,2),(63886,2),(63893,2),(63895,2),(63898,2),(63907,2),(63917,2),(63923,2),(63932,2),(63933,2),(63937,2),(63945,2),(63946,2),(63952,2),(63957,2),(63959,2),(63963,2),(63980,2),(63984,2),(63986,2),(63990,2),(63994,2),(63995,2),(63999,2),(64005,2),(64009,2),(64014,2),(64022,2),(64026,2),(64036,2),(64042,2),(64046,2),(64059,2),(64065,2),(64075,2),(64077,2),(64098,2),(64100,2),(64102,2),(64107,2),(64108,2),(64113,2),(64118,2),(64119,2),(64120,2),(64129,2),(64145,2),(64156,2),(64158,2),(64161,2),(64166,2),(64168,2),(64169,2),(64171,2),(64177,2),(64180,2),(64181,2),(64182,2),(64183,2),(64189,2),(64192,2),(64194,2),(64197,2),(64201,2),(64211,2),(64220,2),(64227,2),(64231,2),(64232,2),(64243,2),(64248,2),(64249,2),(64254,2),(64256,2),(64259,2),(64266,2),(64273,2),(64277,2),(64280,2),(64285,2),(64310,2),(64312,2),(64316,2),(64323,2),(64328,2),(64335,2),(64354,2),(64356,2),(64359,2),(64364,2),(64377,2),(64384,2),(64414,2),(64418,2),(64426,2),(64430,2),(64440,2),(64454,2),(64456,2),(64464,2),(64477,2),(64480,2),(64492,2),(64497,2),(64498,2),(64500,2),(64503,2),(64513,2),(64520,2),(64521,2),(64522,2),(64523,2),(64533,2),(64542,2),(64548,2),(64557,2),(64562,2),(64563,2),(64564,2),(64568,2),(64573,2),(64576,2),(64578,2),(64579,2),(64580,2),(64588,2),(64594,2),(64603,2),(64609,2),(64615,2),(64621,2),(64626,2),(64635,2),(64642,2),(64644,2),(64646,2),(64650,2),(64670,2),(64673,2),(64683,2),(64690,2),(64696,2),(64698,2),(64699,2),(64700,2),(64728,2),(64745,2),(64748,2),(64756,2),(64770,2),(64775,2),(64777,2),(64780,2),(64781,2),(64797,2),(64799,2),(64806,2),(64816,2),(64821,2),(64825,2),(64835,2),(64837,2),(64839,2),(64845,2),(64848,2),(64851,2),(64857,2),(64858,2),(64859,2),(64862,2),(64867,2),(64868,2),(64873,2),(64888,2),(64893,2),(64895,2),(64910,2),(64911,2),(64912,2),(64917,2),(64926,2),(64929,2),(64944,2),(64950,2),(64951,2),(64954,2),(64956,2),(64963,2),(64964,2),(64965,2),(64978,2),(64979,2),(64990,2),(64993,2),(64994,2),(64995,2),(64996,2),(65003,2),(65010,2),(65012,2),(65013,2),(65016,2),(65022,2),(65029,2),(65032,2),(65036,2),(65040,2),(65041,2),(65043,2),(65048,2),(65049,2),(65062,2),(65064,2),(65067,2),(65068,2),(65094,2),(65097,2),(65100,2),(65105,2),(65117,2),(65121,2),(65125,2),(65126,2),(65127,2),(65132,2),(65135,2),(65148,2),(65150,2),(65152,2),(65153,2),(65170,2),(65180,2),(65184,2),(65190,2),(65196,2),(65200,2),(65208,2),(65209,2),(65210,2),(65212,2),(65220,2),(65228,2),(65232,2),(65234,2),(65235,2),(65241,2),(65244,2),(65251,2),(65252,2),(65254,2),(65255,2),(65257,2),(65258,2),(65260,2),(65265,2),(65267,2),(65268,2),(65269,2),(65272,2),(65276,2),(65287,2),(65290,2),(65302,2),(65303,2),(65306,2),(65308,2),(65313,2),(65319,2),(65328,2),(65332,2),(65356,2),(65359,2),(65363,2),(65373,2),(65379,2),(65384,2),(65385,2),(65396,2),(65402,2),(65404,2),(65408,2),(65412,2),(65415,2),(65416,2),(65426,2),(65431,2),(65437,2),(65441,2),(65442,2),(65443,2),(65444,2),(65446,2),(65450,2),(65454,2),(65458,2),(65459,2),(65460,2),(65465,2),(65467,2),(65471,2),(65472,2),(65494,2),(65501,2),(65503,2),(65506,2),(65516,2),(65517,2),(65525,2),(65526,2),(65529,2),(65536,2),(65537,2),(65538,2),(65542,2),(65547,2),(65551,2),(65554,2),(65564,2),(65573,2),(65577,2),(65582,2),(65590,2),(65597,2),(65616,2),(65624,2),(65627,2),(65628,2),(65639,2),(65642,2),(65656,2),(65663,2),(65664,2),(65667,2),(65672,2),(65680,2),(65681,2),(65688,2),(65698,2),(65701,2),(65707,2),(65708,2),(65720,2),(65723,2),(65730,2),(65734,2),(65735,2),(65759,2),(65771,2),(65772,2),(65778,2),(65787,2),(65788,2),(65791,2),(65795,2),(65796,2),(65797,2),(65802,2),(65806,2),(65807,2),(65810,2),(65816,2),(65821,2),(65828,2),(65833,2),(65835,2),(65838,2),(65842,2),(65843,2),(65845,2),(65851,2),(65855,2),(65858,2),(65871,2),(65874,2),(65878,2),(65880,2),(65888,2),(65895,2),(65902,2),(65904,2),(65912,2),(65917,2),(65921,2),(65924,2),(65936,2),(65949,2),(65950,2),(65953,2),(65961,2),(65963,2),(65967,2),(65968,2),(65974,2),(65975,2),(65979,2),(65980,2),(65981,2),(65984,2),(65998,2),(66001,2),(66002,2),(66003,2),(66005,2),(66014,2),(66026,2),(66035,2),(66036,2),(66059,2),(66064,2),(66065,2),(66066,2),(66069,2),(66085,2),(66088,2),(66099,2),(66104,2),(66111,2),(66123,2),(66125,2),(66129,2),(66148,2),(66155,2),(66159,2),(66172,2),(66173,2),(66176,2),(66187,2),(66188,2),(66196,2),(66209,2),(66213,2),(66217,2),(66220,2),(66225,2),(66238,2),(66243,2),(66245,2),(66246,2),(66250,2),(66253,2),(66255,2),(66264,2),(66278,2),(66285,2),(66297,2),(66298,2),(66300,2),(66306,2),(66308,2),(66313,2),(66317,2),(66318,2),(66320,2),(66321,2),(66327,2),(66330,2),(66337,2),(66338,2),(66340,2),(66346,2),(66368,2),(66370,2),(66372,2),(66374,2),(66381,2),(66389,2),(66396,2),(66416,2),(66428,2),(66429,2),(66433,2),(66435,2),(66438,2),(66441,2),(66460,2),(66468,2),(66469,2),(66470,2),(66471,2),(66476,2),(66478,2),(66494,2),(66495,2),(66504,2),(66506,2),(66507,2),(66509,2),(66512,2),(66528,2),(66529,2),(66536,2),(66540,2),(66542,2),(66544,2),(66549,2),(66556,2),(66557,2),(66575,2),(66578,2),(66584,2),(66617,2),(66621,2),(66625,2),(66630,2),(66633,2),(66636,2),(66644,2),(66649,2),(66651,2),(66653,2),(66655,2),(66659,2),(66667,2),(66669,2),(66673,2),(66684,2),(66691,2),(66694,2),(66710,2),(66713,2),(66717,2),(66725,2),(66740,2),(66746,2),(66751,2),(66783,2),(66791,2),(66793,2),(66799,2),(66804,2),(66811,2),(66812,2),(66827,2),(66834,2),(66851,2),(66852,2),(66858,2),(66859,2),(66863,2),(66869,2),(66874,2),(66879,2),(66882,2),(66886,2),(66896,2),(66902,2),(66903,2),(66913,2),(66917,2),(66921,2),(66924,2),(66928,2),(66935,2),(66940,2),(66957,2),(66972,2),(66976,2),(66979,2),(66981,2),(66982,2),(66986,2),(66992,2),(66996,2),(67003,2),(67010,2),(67012,2),(67014,2),(67022,2),(67027,2),(67030,2),(67032,2),(67033,2),(67039,2),(67051,2),(67061,2),(67082,2),(67092,2),(67093,2),(67100,2),(67123,2),(67130,2),(67135,2),(67144,2),(67145,2),(67146,2),(67153,2),(67159,2),(67163,2),(67164,2),(67171,2),(67185,2),(67193,2),(67198,2),(67199,2),(67200,2),(67201,2),(67203,2),(67212,2),(67215,2),(67222,2),(67223,2),(67226,2),(67234,2),(67242,2),(67248,2),(67253,2),(67279,2),(67282,2),(67286,2),(67291,2),(67298,2),(67303,2),(67304,2),(67329,2),(67331,2),(67333,2),(67347,2),(67348,2),(67354,2),(67356,2),(67363,2),(67364,2),(67367,2),(67369,2),(67377,2),(67384,2),(67389,2),(67394,2),(67396,2),(67398,2),(67410,2),(67423,2),(67427,2),(67436,2),(67447,2),(67449,2),(67451,2),(67452,2),(67460,2),(67462,2),(67463,2),(67465,2),(67473,2),(67480,2),(67482,2),(67485,2),(67499,2),(67501,2),(67504,2),(67509,2),(67512,2),(67514,2),(67515,2),(67517,2),(67534,2),(67535,2),(67537,2),(67543,2),(67545,2),(67552,2),(67557,2),(67562,2),(67564,2),(67584,2),(67611,2),(67616,2),(67617,2),(67624,2),(67625,2),(67628,2),(67629,2),(67632,2),(67637,2),(67654,2),(67659,2),(67664,2),(67666,2),(67670,2),(67672,2),(67673,2),(67680,2),(67682,2),(67684,2),(67686,2),(67687,2),(67692,2),(67695,2),(67712,2),(67716,2),(67719,2),(67734,2),(67736,2),(67743,2),(67759,2),(67762,2),(67763,2),(67766,2),(67775,2),(67778,2),(67781,2),(67782,2),(67784,2),(67802,2),(67816,2),(67817,2),(67821,2),(67826,2),(67836,2),(67838,2),(67840,2),(67848,2),(67865,2),(67879,2),(67880,2),(67882,2),(67889,2),(67890,2),(67891,2),(67897,2),(67911,2),(67914,2),(67916,2),(67923,2),(67926,2),(67927,2),(67934,2),(67935,2),(67938,2),(67944,2),(67958,2),(67963,2),(67964,2),(67966,2),(67969,2),(67970,2),(67971,2),(67980,2),(67983,2),(67984,2),(67994,2),(68006,2),(68011,2),(68024,2),(68028,2),(68029,2),(68040,2),(68045,2),(68047,2),(68056,2),(68067,2),(68080,2),(68088,2),(68090,2),(68095,2),(68101,2),(68111,2),(68114,2),(68117,2),(68121,2),(68122,2),(68126,2),(68130,2),(68142,2),(68147,2),(68157,2),(68158,2),(68174,2),(68175,2),(68191,2),(68196,2),(68205,2),(68207,2),(68211,2),(68216,2),(68220,2),(68224,2),(68226,2),(68228,2),(68230,2),(68244,2),(68253,2),(68257,2),(68259,2),(68264,2),(68269,2),(68276,2),(68283,2),(68291,2),(68292,2),(68293,2),(68295,2),(68302,2),(68303,2),(68305,2),(68312,2),(68313,2),(68321,2),(68324,2),(68339,2),(68345,2),(68346,2),(68348,2),(68360,2),(68362,2),(68363,2),(68377,2),(68385,2),(68390,2),(68391,2),(68400,2),(68403,2),(68407,2),(68420,2),(68441,2),(68442,2),(68445,2),(68455,2),(68456,2),(68469,2),(68470,2),(68471,2),(68495,2),(68504,2),(68524,2),(68529,2),(68538,2),(68540,2),(68544,2),(68546,2),(68561,2),(68582,2),(68585,2),(68586,2),(68587,2),(68588,2),(68598,2),(68602,2),(68608,2),(68615,2),(68629,2),(68639,2),(68642,2),(68656,2),(68658,2),(68665,2),(68680,2),(68689,2),(68690,2),(68695,2),(68696,2),(68703,2),(68709,2),(68717,2),(68718,2),(68719,2),(68720,2),(68723,2),(68728,2),(68729,2),(68734,2),(68755,2),(68759,2),(68764,2),(68768,2),(68776,2),(68778,2),(68780,2),(68782,2),(68788,2),(68789,2),(68798,2),(68800,2),(68804,2),(68807,2),(68809,2),(68810,2),(68823,2),(68825,2),(68835,2),(68843,2),(68853,2),(68859,2),(68866,2),(68870,2),(68872,2),(68879,2),(68881,2),(68885,2),(68894,2),(68896,2),(68897,2),(68902,2),(68908,2),(68909,2),(68911,2),(68920,2),(68921,2),(68923,2),(68940,2),(68941,2),(68944,2),(68945,2),(68955,2),(68957,2),(68959,2),(68964,2),(68971,2),(68974,2),(68975,2),(68987,2),(68989,2),(68990,2),(68991,2),(69006,2),(69009,2),(69016,2),(69023,2),(69034,2),(69037,2),(69043,2),(69061,2),(69069,2),(69071,2),(69084,2),(69088,2),(69091,2),(69095,2),(69096,2),(69105,2),(69116,2),(69118,2),(69140,2),(69155,2),(69165,2),(69167,2),(69180,2),(69181,2),(69182,2),(69198,2),(69201,2),(69206,2),(69209,2),(69217,2),(69218,2),(69242,2),(69260,2),(69266,2),(69271,2),(69278,2),(69283,2),(69284,2),(69296,2),(69298,2),(69301,2),(69302,2),(69306,2),(69308,2),(69311,2),(69319,2),(69322,2),(69324,2),(69330,2),(69333,2),(69338,2),(69340,2),(69347,2),(69349,2),(69351,2),(69367,2),(69368,2),(69379,2),(69380,2),(69384,2),(69391,2),(69396,2),(69398,2),(69399,2),(69403,2),(69405,2),(69411,2),(69412,2),(69415,2),(69416,2),(69424,2),(69429,2),(69449,2),(69451,2),(69452,2),(69454,2),(69457,2),(69464,2),(69466,2),(69484,2),(69489,2),(69490,2),(69516,2),(69523,2),(69536,2),(69539,2),(69545,2),(69546,2),(69550,2),(69560,2),(69561,2),(69564,2),(69567,2),(69582,2),(69589,2),(69608,2),(69610,2),(69613,2),(69616,2),(69620,2),(69634,2),(69641,2),(69653,2),(69667,2),(69670,2),(69673,2),(69675,2),(69694,2),(69704,2),(69711,2),(69715,2),(69716,2),(69719,2),(69722,2),(69729,2),(69733,2),(69736,2),(69745,2),(69746,2),(69750,2),(69759,2),(69763,2),(69791,2),(69801,2),(69803,2),(69804,2),(69823,2),(69832,2),(69833,2),(69835,2),(69837,2),(69847,2),(69863,2),(69867,2),(69876,2),(69880,2),(69886,2),(69890,2),(69898,2),(69901,2),(69911,2),(69918,2),(69919,2),(69927,2),(69932,2),(69936,2),(69942,2),(69947,2),(69968,2),(69975,2),(69983,2),(69985,2),(69992,2),(69997,2),(69998,2),(69999,2),(70005,2),(70013,2),(70020,2),(70026,2),(70028,2),(70036,2),(70038,2),(70039,2),(70041,2),(70042,2),(70043,2),(70058,2),(70066,2),(70071,2),(70083,2),(70090,2),(70092,2),(70093,2),(70094,2),(70097,2),(70101,2),(70103,2),(70110,2),(70119,2),(70120,2),(70123,2),(70129,2),(70138,2),(70142,2),(70143,2),(70147,2),(70148,2),(70154,2),(70157,2),(70167,2),(70168,2),(70170,2),(70174,2),(70177,2),(70188,2),(70217,2),(70218,2),(70222,2),(70237,2),(70238,2),(70241,2),(70250,2),(70252,2),(70257,2),(70260,2),(70264,2),(70265,2),(70277,2),(70291,2),(70297,2),(70303,2),(70326,2),(70335,2),(70336,2),(70339,2),(70343,2),(70347,2),(70348,2),(70353,2),(70368,2),(70373,2),(70375,2),(70383,2),(70388,2),(70399,2),(70400,2),(70407,2),(70411,2),(70425,2),(70426,2),(70427,2),(70428,2),(70435,2),(70439,2),(70443,2),(70444,2),(70448,2),(70457,2),(70462,2),(70465,2),(70472,2),(70483,2),(70488,2),(70489,2),(70497,2),(70503,2),(70512,2),(70515,2),(70516,2),(70517,2),(70519,2),(70527,2),(70528,2),(70538,2),(70541,2),(70549,2),(70552,2),(70557,2),(70574,2),(70583,2),(70588,2),(70600,2),(70606,2),(70612,2),(70613,2),(70619,2),(70632,2),(70633,2),(70634,2),(70644,2),(70656,2),(70657,2),(70663,2),(70667,2),(70669,2),(70713,2),(70715,2),(70716,2),(70735,2),(70737,2),(70739,2),(70745,2),(70746,2),(70752,2),(70763,2),(70788,2),(70803,2),(70804,2),(70806,2),(70808,2),(70809,2),(70810,2),(70816,2),(70823,2),(70824,2),(70836,2),(70839,2),(70846,2),(70850,2),(70856,2),(70864,2),(70869,2),(70876,2),(70881,2),(70889,2),(70890,2),(70895,2),(70901,2),(70910,2),(70919,2),(70922,2),(70925,2),(70927,2),(70931,2),(70934,2),(70936,2),(70945,2),(70961,2),(70963,2),(70969,2),(70983,2),(70991,2),(70995,2),(70999,2),(71004,2),(71010,2),(71011,2),(71014,2),(71015,2),(71018,2),(71034,2),(71044,2),(71047,2),(71056,2),(71069,2),(71074,2),(71075,2),(71077,2),(71078,2),(71102,2),(71107,2),(71110,2),(71127,2),(71131,2),(71132,2),(71146,2),(71151,2),(71154,2),(71158,2),(71159,2),(71161,2),(71166,2),(71171,2),(71185,2),(71190,2),(71205,2),(71214,2),(71225,2),(71228,2),(71230,2),(71233,2),(71236,2),(71239,2),(71242,2),(71247,2),(71251,2),(71257,2),(71276,2),(71283,2),(71287,2),(71288,2),(71298,2),(71304,2),(71306,2),(71321,2),(71334,2),(71339,2),(71342,2),(71346,2),(71347,2),(71349,2),(71355,2),(71357,2),(71358,2),(71363,2),(71369,2),(71380,2),(71381,2),(71386,2),(71388,2),(71390,2),(71410,2),(71414,2),(71427,2),(71437,2),(71443,2),(71450,2),(71451,2),(71452,2),(71453,2),(71455,2),(71459,2),(71463,2),(71469,2),(71470,2),(71471,2),(71479,2),(71483,2),(71493,2),(71496,2),(71500,2),(71508,2),(71512,2),(71514,2),(71517,2),(71520,2),(71533,2),(71536,2),(71538,2),(71548,2),(71556,2),(71558,2),(71582,2),(71588,2),(71591,2),(71592,2),(71600,2),(71609,2),(71611,2),(71614,2),(71616,2),(71620,2),(71624,2),(71627,2),(71629,2),(71631,2),(71634,2),(71635,2),(71646,2),(71648,2),(71656,2),(71661,2),(71662,2),(71666,2),(71672,2),(71676,2),(71679,2),(71681,2),(71685,2),(71687,2),(71694,2),(71706,2),(71718,2),(71723,2),(71728,2),(71730,2),(71732,2),(71738,2),(71741,2),(71746,2),(71756,2),(71764,2),(71770,2),(71774,2),(71779,2),(71787,2),(71788,2),(71794,2),(71802,2),(71809,2),(71812,2),(71817,2),(71820,2),(71821,2),(71823,2),(71833,2),(71844,2),(71848,2),(71864,2),(71865,2),(71867,2),(71871,2),(71883,2),(71887,2),(71889,2),(71893,2),(71908,2),(71911,2),(71915,2),(71924,2),(71949,2),(71959,2),(71961,2),(71983,2),(71986,2),(71988,2),(71994,2),(72005,2),(72019,2),(72022,2),(72030,2),(72033,2),(72035,2),(72044,2),(72045,2),(72047,2),(72048,2),(72053,2),(72058,2),(72066,2),(72069,2),(72071,2),(72072,2),(72075,2),(72081,2),(72084,2),(72086,2),(72091,2),(72093,2),(72113,2),(72117,2),(72123,2),(72132,2),(72141,2),(72155,2),(72157,2),(72158,2),(72160,2),(72175,2),(72182,2),(72191,2),(72192,2),(72200,2),(72212,2),(72218,2),(72224,2),(72228,2),(72235,2),(72241,2),(72251,2),(72273,2),(72285,2),(72292,2),(72300,2),(72309,2),(72316,2),(72319,2),(72326,2),(72342,2),(72358,2),(72360,2),(72376,2),(72404,2),(72405,2),(72407,2),(72427,2),(72433,2),(72446,2),(72451,2),(72454,2),(72455,2),(72472,2),(72491,2),(72500,2),(72506,2),(72511,2),(72512,2),(72526,2),(72531,2),(72535,2),(72543,2),(72545,2),(72547,2),(72548,2),(72551,2),(72553,2),(72556,2),(72558,2),(72565,2),(72574,2),(72576,2),(72579,2),(72590,2),(72594,2),(72601,2),(72602,2),(72603,2),(72610,2),(72611,2),(72630,2),(72636,2),(72637,2),(72638,2),(72643,2),(72653,2),(72655,2),(72656,2),(72667,2),(72696,2),(72697,2),(72705,2),(72706,2),(72733,2),(72743,2),(72748,2),(72766,2),(72768,2),(72779,2),(72785,2),(72788,2),(72792,2),(72795,2),(72805,2),(72807,2),(72813,2),(72817,2),(72819,2),(72823,2),(72825,2),(72835,2),(72836,2),(72838,2),(72840,2),(72843,2),(72846,2),(72864,2),(72867,2),(72870,2),(72885,2),(72891,2),(72898,2),(72900,2),(72910,2),(72918,2),(72920,2),(72923,2),(72945,2),(72951,2),(72961,2),(72962,2),(72973,2),(72977,2),(72983,2),(72984,2),(72986,2),(72996,2),(73003,2),(73010,2),(73012,2),(73018,2),(73020,2),(73021,2),(73022,2),(73027,2),(73041,2),(73045,2),(73049,2),(73050,2),(73073,2),(73075,2),(73082,2),(73093,2),(73095,2),(73111,2),(73114,2),(73127,2),(73128,2),(73142,2),(73144,2),(73163,2),(73171,2),(73178,2),(73212,2),(73219,2),(73220,2),(73223,2),(73233,2),(73240,2),(73241,2),(73242,2),(73244,2),(73257,2),(73259,2),(73260,2),(73261,2),(73266,2),(73267,2),(73268,2),(73271,2),(73275,2),(73276,2),(73281,2),(73282,2),(73283,2),(73287,2),(73289,2),(73309,2),(73311,2),(73320,2),(73322,2),(73324,2),(73333,2),(73343,2),(73346,2),(73348,2),(73349,2),(73353,2),(73378,2),(73395,2),(73397,2),(73406,2),(73418,2),(73422,2),(73426,2),(73433,2),(73445,2),(73455,2),(73467,2),(73477,2),(73479,2),(73494,2),(73497,2),(73504,2),(73509,2),(73527,2),(73529,2),(73530,2),(73543,2),(73544,2),(73547,2),(73549,2),(73553,2),(73561,2),(73570,2),(73572,2),(73579,2),(73583,2),(73586,2),(73596,2),(73601,2),(73603,2),(73606,2),(73613,2),(73616,2),(73620,2),(73625,2),(73629,2),(73630,2),(73632,2),(73634,2),(73635,2),(73650,2),(73662,2),(73669,2),(73685,2),(73687,2),(73688,2),(73689,2),(73698,2),(73701,2),(73705,2),(73708,2),(73718,2),(73728,2),(73730,2),(73745,2),(73748,2),(73754,2),(73777,2),(73784,2),(73791,2),(73801,2),(73803,2),(73821,2),(73826,2),(73829,2),(73830,2),(73832,2),(73838,2),(73839,2),(73855,2),(73861,2),(73868,2),(73883,2),(73890,2),(73900,2),(73908,2),(73915,2),(73923,2),(73929,2),(73934,2),(73939,2),(73948,2),(73951,2),(73955,2),(73956,2),(73962,2),(73969,2),(73974,2),(73975,2),(73989,2),(73996,2),(74003,2),(74020,2),(74026,2),(74043,2),(74057,2),(74060,2),(74063,2),(74070,2),(74075,2),(74082,2),(74085,2),(74097,2),(74111,2),(74115,2),(74120,2),(74134,2),(74140,2),(74146,2),(74156,2),(74160,2),(74162,2),(74166,2),(74174,2),(74175,2),(74177,2),(74182,2),(74187,2),(74188,2),(74193,2),(74198,2),(74205,2),(74221,2),(74248,2),(74254,2),(74264,2),(74266,2),(74277,2),(74281,2),(74282,2),(74283,2),(74288,2),(74295,2),(74300,2),(74301,2),(74307,2),(74330,2),(74346,2),(74348,2),(74353,2),(74359,2),(74360,2),(74364,2),(74368,2),(74375,2),(74388,2),(74390,2),(74391,2),(74393,2),(74403,2),(74418,2),(74420,2),(74433,2),(74438,2),(74440,2),(74445,2),(74450,2),(74452,2),(74465,2),(74470,2),(74487,2),(74488,2),(74497,2),(74499,2),(74502,2),(74510,2),(74522,2),(74528,2),(74533,2),(74539,2),(74550,2),(74552,2),(74563,2),(74573,2),(74581,2),(74586,2),(74587,2),(74592,2),(74595,2),(74597,2),(74602,2),(74605,2),(74606,2),(74619,2),(74627,2),(74646,2),(74657,2),(74669,2),(74683,2),(74684,2),(74686,2),(74701,2),(74705,2),(74706,2),(74712,2),(74741,2),(74745,2),(74750,2),(74756,2),(74757,2),(74765,2),(74772,2),(74779,2),(74781,2),(74782,2),(74783,2),(74793,2),(74794,2),(74800,2),(74805,2),(74808,2),(74812,2),(74813,2),(74820,2),(74836,2),(74837,2),(74838,2),(74843,2),(74852,2),(74856,2),(74875,2),(74881,2),(74885,2),(74892,2),(74897,2),(74904,2),(74911,2),(74933,2),(74934,2),(74938,2),(74939,2),(74946,2),(74959,2),(74965,2),(74978,2),(74981,2),(74982,2),(74983,2),(74987,2),(74988,2),(74989,2),(74991,2),(74992,2),(74996,2),(74997,2),(75001,2),(75010,2),(75014,2),(75027,2),(75039,2),(75043,2),(75044,2),(75048,2),(75049,2),(75070,2),(75073,2),(75086,2),(75089,2),(75093,2),(75101,2),(75105,2),(75106,2),(75107,2),(75112,2),(75130,2),(75133,2),(75136,2),(75138,2),(75149,2),(75151,2),(75160,2),(75161,2),(75165,2),(75168,2),(75171,2),(75175,2),(75181,2),(75184,2),(75185,2),(75198,2),(75201,2),(75205,2),(75206,2),(75212,2),(75225,2),(75230,2),(75239,2),(75254,2),(75257,2),(75269,2),(75271,2),(75275,2),(75294,2),(75296,2),(75308,2),(75310,2),(75315,2),(75335,2),(75340,2),(75341,2),(75342,2),(75347,2),(75348,2),(75354,2),(75356,2),(75371,2),(75376,2),(75383,2),(75392,2),(75401,2),(75410,2),(75432,2),(75440,2),(75459,2),(75467,2),(75470,2),(75495,2),(75501,2),(75508,2),(75518,2),(75520,2),(75529,2),(75534,2),(75538,2),(75541,2),(75544,2),(75557,2),(75561,2),(75568,2),(75576,2),(75590,2),(75602,2),(75611,2),(75612,2),(75618,2),(75625,2),(75631,2),(75646,2),(75652,2),(75656,2),(75664,2),(75671,2),(75672,2),(75675,2),(75680,2),(75685,2),(75689,2),(75690,2),(75692,2),(75700,2),(75703,2),(75712,2),(75717,2),(75721,2),(75731,2),(75740,2),(75741,2),(75750,2),(75751,2),(75752,2),(75754,2),(75755,2),(75757,2),(75758,2),(75760,2),(75774,2),(75788,2),(75795,2),(75799,2),(75809,2),(75810,2),(75811,2),(75823,2),(75827,2),(75848,2),(75855,2),(75856,2),(75858,2),(75859,2),(75867,2),(75868,2),(75880,2),(75889,2),(75900,2),(75901,2),(75908,2),(75913,2),(75916,2),(75917,2),(75918,2),(75942,2),(75946,2),(75947,2),(75951,2),(75956,2),(75964,2),(75972,2),(75984,2),(75986,2),(75992,2),(75993,2),(75994,2),(75996,2),(76001,2),(76002,2),(76006,2),(76013,2),(76016,2),(76020,2),(76022,2),(76026,2),(76042,2),(76044,2),(76049,2),(76055,2),(76061,2),(76063,2),(76064,2),(76079,2),(76082,2),(76086,2),(76092,2),(76095,2),(76098,2),(76116,2),(76120,2),(76121,2),(76124,2),(76128,2),(76131,2),(76134,2),(76135,2),(76138,2),(76142,2),(76143,2),(76156,2),(76159,2),(76173,2),(76177,2),(76182,2),(76187,2),(76190,2),(76199,2),(76202,2),(76205,2),(76208,2),(76211,2),(76213,2),(76215,2),(76216,2),(76221,2),(76229,2),(76231,2),(76240,2),(76246,2),(76248,2),(76251,2),(76255,2),(76265,2),(76270,2),(76286,2),(76290,2),(76303,2),(76306,2),(76310,2),(76311,2),(76321,2),(76323,2),(76327,2),(76331,2),(76332,2),(76364,2),(76366,2),(76370,2),(76385,2),(76386,2),(76387,2),(76389,2),(76390,2),(76422,2),(76423,2),(76426,2),(76428,2),(76442,2),(76444,2),(76446,2),(76459,2),(76479,2),(76481,2),(76490,2),(76497,2),(76502,2),(76517,2),(76518,2),(76523,2),(76531,2),(76532,2),(76533,2),(76542,2),(76546,2),(76547,2),(76548,2),(76551,2),(76560,2),(76562,2),(76570,2),(76575,2),(76577,2),(76583,2),(76595,2),(76597,2),(76607,2),(76608,2),(76611,2),(76612,2),(76622,2),(76630,2),(76647,2),(76650,2),(76656,2),(76658,2),(76672,2),(76677,2),(76682,2),(76683,2),(76684,2),(76691,2),(76693,2),(76699,2),(76700,2),(76717,2),(76727,2),(76729,2),(76731,2),(76732,2),(76754,2),(76760,2),(76801,2),(76806,2),(76810,2),(76830,2),(76833,2),(76835,2),(76838,2),(76841,2),(76863,2),(76884,2),(76890,2),(76893,2),(76900,2),(76910,2),(76915,2),(76917,2),(76919,2),(76929,2),(76945,2),(76961,2),(76967,2),(76968,2),(76972,2),(76995,2),(76999,2),(77003,2),(77004,2),(77006,2),(77008,2),(77023,2),(77030,2),(77035,2),(77040,2),(77041,2),(77044,2),(77049,2),(77055,2),(77069,2),(77071,2),(77078,2),(77097,2),(77100,2),(77103,2),(77117,2),(77118,2),(77119,2),(77124,2),(77131,2),(77139,2),(77141,2),(77142,2),(77151,2),(77154,2),(77159,2),(77163,2),(77167,2),(77169,2),(77183,2),(77202,2),(77211,2),(77218,2),(77221,2),(77227,2),(77233,2),(77236,2),(77238,2),(77260,2),(77262,2),(77263,2),(77265,2),(77267,2),(77272,2),(77273,2),(77279,2),(77283,2),(77308,2),(77309,2),(77318,2),(77321,2),(77324,2),(77329,2),(77331,2),(77336,2),(77356,2),(77358,2),(77360,2),(77362,2),(77371,2),(77399,2),(77410,2),(77411,2),(77414,2),(77422,2),(77424,2),(77444,2),(77472,2),(77473,2),(77480,2),(77485,2),(77489,2),(77492,2),(77493,2),(77496,2),(77505,2),(77514,2),(77525,2),(77533,2),(77534,2),(77538,2),(77541,2),(77554,2),(77559,2),(77575,2),(77579,2),(77584,2),(77609,2),(77612,2),(77619,2),(77642,2),(77644,2),(77650,2),(77653,2),(77657,2),(77668,2),(77676,2),(77679,2),(77697,2),(77699,2),(77701,2),(77710,2),(77717,2),(77722,2),(77726,2),(77747,2),(77759,2),(77766,2),(77773,2),(77786,2),(77796,2),(77808,2),(77831,2),(77834,2),(77836,2),(77852,2),(77857,2),(77871,2),(77874,2),(77875,2),(77885,2),(77892,2),(77893,2),(77894,2),(77900,2),(77909,2),(77920,2),(77938,2),(77939,2),(77943,2),(77957,2),(77964,2),(77971,2),(77978,2),(77987,2),(77992,2),(77993,2),(78001,2),(78006,2),(78015,2),(78023,2),(78024,2),(78027,2),(78029,2),(78042,2),(78044,2),(78049,2),(78053,2),(78059,2),(78060,2),(78072,2),(78080,2),(78083,2),(78095,2),(78147,2),(78150,2),(78154,2),(78160,2),(78163,2),(78173,2),(78177,2),(78178,2),(78191,2),(78193,2),(78198,2),(78210,2),(78215,2),(78216,2),(78217,2),(78221,2),(78228,2),(78235,2),(78243,2),(78246,2),(78247,2),(78250,2),(78252,2),(78262,2),(78274,2),(78288,2),(78294,2),(78301,2),(78316,2),(78317,2),(78327,2),(78328,2),(78337,2),(78339,2),(78350,2),(78359,2),(78373,2),(78375,2),(78380,2),(78381,2),(78388,2),(78397,2),(78399,2),(78407,2),(78410,2),(78412,2),(78425,2),(78435,2),(78444,2),(78455,2),(78458,2),(78469,2),(78472,2),(78483,2),(78486,2),(78489,2),(78498,2),(78502,2),(78507,2),(78514,2),(78516,2),(78518,2),(78529,2),(78530,2),(78539,2),(78541,2),(78552,2),(78563,2),(78565,2),(78578,2),(78580,2),(78583,2),(78584,2),(78603,2),(78608,2),(78618,2),(78621,2),(78622,2),(78640,2),(78643,2),(78645,2),(78649,2),(78660,2),(78661,2),(78670,2),(78675,2),(78680,2),(78682,2),(78685,2),(78687,2),(78690,2),(78693,2),(78696,2),(78711,2),(78715,2),(78720,2),(78722,2),(78726,2),(78732,2),(78737,2),(78741,2),(78744,2),(78746,2),(78756,2),(78760,2),(78761,2),(78769,2),(78787,2),(78803,2),(78814,2),(78824,2),(78828,2),(78830,2),(78834,2),(78837,2),(78839,2),(78844,2),(78845,2),(78846,2),(78853,2),(78854,2),(78855,2),(78865,2),(78873,2),(78877,2),(78882,2),(78897,2),(78903,2),(78905,2),(78908,2),(78912,2),(78940,2),(78942,2),(78948,2),(78954,2),(78955,2),(78965,2),(78970,2),(78977,2),(78983,2),(78986,2),(78996,2),(78999,2),(79000,2),(79001,2),(79011,2),(79019,2),(79034,2),(79035,2),(79037,2),(79038,2),(79058,2),(79070,2),(79080,2),(79081,2),(79091,2),(79104,2),(79108,2),(79112,2),(79118,2),(79119,2),(79128,2),(79136,2),(79137,2),(79138,2),(79142,2),(79146,2),(79147,2),(79166,2),(79171,2),(79174,2),(79178,2),(79183,2),(79185,2),(79188,2),(79189,2),(79190,2),(79197,2),(79201,2),(79202,2),(79205,2),(79207,2),(79210,2),(79213,2),(79219,2),(79233,2),(79236,2),(79238,2),(79244,2),(79247,2),(79257,2),(79260,2),(79264,2),(79290,2),(79308,2),(79309,2),(79323,2),(79329,2),(79342,2),(79343,2),(79353,2),(79354,2),(79359,2),(79373,2),(79377,2),(79383,2),(79384,2),(79393,2),(79398,2),(79406,2),(79413,2),(79431,2),(79438,2),(79441,2),(79443,2),(79444,2),(79458,2),(79459,2),(79467,2),(79474,2),(79479,2),(79484,2),(79486,2),(79488,2),(79489,2),(79497,2),(79500,2),(79504,2),(79505,2),(79506,2),(79509,2),(79522,2),(79532,2),(79533,2),(79535,2),(79545,2),(79546,2),(79550,2),(79556,2),(79557,2),(79560,2),(79561,2),(79569,2),(79583,2),(79585,2),(79586,2),(79593,2),(79601,2),(79610,2),(79632,2),(79634,2),(79638,2),(79655,2),(79661,2),(79662,2),(79664,2),(79671,2),(79673,2),(79677,2),(79680,2),(79684,2),(79685,2),(79687,2),(79694,2),(79698,2),(79699,2),(79732,2),(79734,2),(79743,2),(79746,2),(79747,2),(79748,2),(79763,2),(79766,2),(79767,2),(79768,2),(79773,2),(79798,2),(79802,2),(79815,2),(79823,2),(79824,2),(79835,2),(79837,2),(79839,2),(79843,2),(79849,2),(79860,2),(79866,2),(79889,2),(79890,2),(79904,2),(79909,2),(79913,2),(79917,2),(79920,2),(79922,2),(79923,2),(79932,2),(79934,2),(79962,2),(79965,2),(79968,2),(79973,2),(79977,2),(79981,2),(79984,2),(79986,2),(79987,2),(80002,2),(80005,2),(80016,2),(80018,2),(80033,2),(80038,2),(80048,2),(80051,2),(80052,2),(80053,2),(80059,2),(80063,2),(80072,2),(80076,2),(80082,2),(80104,2),(80120,2),(80129,2),(80131,2),(80144,2),(80145,2),(80154,2),(80160,2),(80164,2),(80183,2),(80187,2),(80194,2),(80200,2),(80204,2),(80206,2),(80211,2),(80213,2),(80217,2),(80227,2),(80228,2),(80230,2),(80238,2),(80244,2),(80251,2),(80253,2),(80256,2),(80261,2),(80273,2),(80275,2),(80280,2),(80281,2),(80282,2),(80285,2),(80294,2),(80302,2),(80303,2),(80305,2),(80329,2),(80332,2),(80336,2),(80341,2),(80343,2),(80350,2),(80355,2),(80357,2),(80359,2),(80360,2),(80379,2),(80385,2),(80387,2),(80389,2),(80392,2),(80395,2),(80406,2),(80416,2),(80421,2),(80423,2),(80428,2),(80433,2),(80438,2),(80439,2),(80442,2),(80448,2),(80450,2),(80464,2),(80474,2),(80483,2),(80487,2),(80491,2),(80495,2),(80500,2),(80502,2),(80520,2),(80524,2),(80531,2),(80537,2),(80542,2),(80544,2),(80547,2),(80552,2),(80566,2),(80575,2),(80582,2),(80592,2),(80596,2),(80617,2),(80624,2),(80629,2),(80630,2),(80637,2),(80641,2),(80652,2),(80653,2),(80661,2),(80667,2),(80684,2),(80693,2),(80708,2),(80709,2),(80716,2),(80717,2),(80719,2),(80723,2),(80724,2),(80725,2),(80735,2),(80740,2),(80749,2),(80751,2),(80756,2),(80761,2),(80781,2),(80795,2),(80809,2),(80811,2),(80815,2),(80816,2),(80821,2),(80826,2),(80833,2),(80839,2),(80849,2),(80851,2),(80852,2),(80854,2),(80865,2),(80868,2),(80870,2),(80874,2),(80875,2),(80880,2),(80889,2),(80890,2),(80901,2),(80903,2),(80916,2),(80917,2),(80920,2),(80930,2),(80947,2),(80976,2),(80980,2),(80984,2),(81012,2),(81013,2),(81027,2),(81030,2),(81038,2),(81042,2),(81048,2),(81051,2),(81060,2),(81071,2),(81081,2),(81082,2),(81089,2),(81115,2),(81120,2),(81126,2),(81128,2),(81129,2),(81133,2),(81141,2),(81153,2),(81154,2),(81155,2),(81158,2),(81159,2),(81164,2),(81165,2),(81166,2),(81168,2),(81169,2),(81178,2),(81186,2),(81195,2),(81198,2),(81207,2),(81219,2),(81221,2),(81223,2),(81224,2),(81246,2),(81249,2),(81250,2),(81256,2),(81265,2),(81272,2),(81277,2),(81282,2),(81283,2),(81290,2),(81293,2),(81300,2),(81304,2),(81319,2),(81321,2),(81326,2),(81331,2),(81337,2),(81342,2),(81352,2),(81357,2),(81367,2),(81369,2),(81379,2),(81381,2),(81382,2),(81388,2),(81389,2),(81394,2),(81404,2),(81410,2),(81417,2),(81419,2),(81420,2),(81428,2),(81444,2),(81445,2),(81457,2),(81458,2),(81468,2),(81489,2),(81494,2),(81497,2),(81498,2),(81501,2),(81512,2),(81516,2),(81521,2),(81540,2),(81544,2),(81545,2),(81555,2),(81556,2),(81577,2),(81582,2),(81586,2),(81596,2),(81599,2),(81603,2),(81605,2),(81614,2),(81615,2),(81621,2),(81635,2),(81642,2),(81648,2),(81663,2),(81664,2),(81672,2),(81674,2),(81676,2),(81677,2),(81683,2),(81685,2),(81686,2),(81699,2),(81716,2),(81723,2),(81735,2),(81736,2),(81743,2),(81745,2),(81753,2),(81760,2),(81761,2),(81764,2),(81769,2),(81772,2),(81803,2),(81804,2),(81810,2),(81820,2),(81837,2),(81850,2),(81853,2),(81858,2),(81880,2),(81885,2),(81887,2),(81888,2),(81902,2),(81904,2),(81915,2),(81920,2),(81928,2),(81930,2),(81931,2),(81935,2),(81939,2),(81940,2),(81948,2),(81963,2),(81968,2),(81984,2),(81985,2),(81998,2),(81999,2),(82009,2),(82026,2),(82028,2),(82038,2),(82071,2),(82086,2),(82089,2),(82097,2),(82098,2),(82099,2),(82111,2),(82118,2),(82127,2),(82141,2),(82154,2),(82160,2),(82162,2),(82164,2),(82165,2),(82176,2),(82178,2),(82185,2),(82187,2),(82191,2),(82196,2),(82197,2),(82206,2),(82217,2),(82218,2),(82223,2),(82229,2),(82245,2),(82254,2),(82261,2),(82264,2),(82266,2),(82267,2),(82277,2),(82286,2),(82296,2),(82299,2),(82306,2),(82312,2),(82321,2),(82322,2),(82324,2),(82327,2),(82335,2),(82336,2),(82337,2),(82342,2),(82344,2),(82353,2),(82354,2),(82356,2),(82364,2),(82365,2),(82371,2),(82372,2),(82378,2),(82385,2),(82389,2),(82400,2),(82401,2),(82408,2),(82413,2),(82418,2),(82422,2),(82426,2),(82434,2),(82437,2),(82438,2),(82439,2),(82441,2),(82446,2),(82449,2),(82454,2),(82456,2),(82459,2),(82472,2),(82482,2),(82489,2),(82504,2),(82521,2),(82522,2),(82530,2),(82537,2),(82558,2),(82559,2),(82560,2),(82577,2),(82582,2),(82584,2),(82594,2),(82598,2),(82601,2),(82602,2),(82607,2),(82609,2),(82613,2),(82615,2),(82623,2),(82628,2),(82631,2),(82634,2),(82637,2),(82644,2),(82646,2),(82651,2),(82657,2),(82658,2),(82662,2),(82665,2),(82673,2),(82674,2),(82679,2),(82683,2),(82690,2),(82700,2),(82710,2),(82725,2),(82727,2),(82732,2),(82740,2),(82744,2),(82748,2),(82752,2),(82754,2),(82758,2),(82760,2),(82781,2),(82784,2),(82786,2),(82805,2),(82809,2),(82813,2),(82814,2),(82818,2),(82819,2),(82821,2),(82827,2),(82844,2),(82851,2),(82852,2),(82857,2),(82866,2),(82868,2),(82869,2),(82875,2),(82877,2),(82879,2),(82886,2),(82887,2),(82888,2),(82895,2),(82896,2),(82898,2),(82912,2),(82917,2),(82932,2),(82933,2),(82936,2),(82939,2),(82941,2),(82945,2),(82947,2),(82949,2),(82964,2),(82967,2),(82972,2),(82977,2),(82981,2),(82988,2),(82990,2),(82996,2),(83016,2),(83017,2),(83029,2),(83041,2),(83044,2),(83046,2),(83049,2),(83051,2),(83059,2),(83068,2),(83088,2),(83089,2),(83091,2),(83094,2),(83096,2),(83097,2),(83099,2),(83103,2),(83116,2),(83118,2),(83123,2),(83131,2),(83135,2),(83147,2),(83151,2),(83162,2),(83171,2),(83173,2),(83175,2),(83179,2),(83184,2),(83189,2),(83206,2),(83209,2),(83210,2),(83215,2),(83216,2),(83226,2),(83228,2),(83234,2),(83240,2),(83241,2),(83242,2),(83276,2),(83297,2),(83302,2),(83313,2),(83316,2),(83317,2),(83318,2),(83321,2),(83322,2),(83328,2),(83330,2),(83337,2),(83339,2),(83346,2),(83353,2),(83355,2),(83367,2),(83371,2),(83372,2),(83378,2),(83383,2),(83388,2),(83389,2),(83399,2),(83402,2),(83422,2),(83423,2),(83424,2),(83425,2),(83429,2),(83437,2),(83438,2),(83445,2),(83446,2),(83447,2),(83460,2),(83461,2),(83466,2),(83474,2),(83479,2),(83485,2),(83491,2),(83494,2),(83495,2),(83499,2),(83504,2),(83510,2),(83513,2),(83517,2),(83538,2),(83543,2),(83558,2),(83559,2),(83562,2),(83566,2),(83587,2),(83594,2),(83601,2),(83611,2),(83613,2),(83615,2),(83627,2),(83632,2),(83636,2),(83637,2),(83647,2),(83648,2),(83651,2),(83653,2),(83659,2),(83664,2),(83667,2),(83672,2),(83677,2),(83680,2),(83681,2),(83693,2),(83695,2),(83704,2),(83706,2),(83717,2),(83727,2),(83728,2),(83729,2),(83733,2),(83740,2),(83749,2),(83751,2),(83764,2),(83767,2),(83770,2),(83788,2),(83792,2),(83793,2),(83803,2),(83804,2),(83805,2),(83812,2),(83825,2),(83826,2),(83831,2),(83839,2),(83844,2),(83848,2),(83852,2),(83867,2),(83870,2),(83874,2),(83898,2),(83900,2),(83901,2),(83906,2),(83910,2),(83912,2),(83926,2),(83928,2),(83933,2),(83935,2),(83937,2),(83952,2),(83953,2),(83963,2),(83965,2),(83974,2),(83975,2),(83977,2),(83983,2),(83999,2),(84007,2),(84008,2),(84021,2),(84022,2),(84023,2),(84027,2),(84029,2),(84031,2),(84035,2),(84041,2),(84043,2),(84054,2),(84083,2),(84084,2),(84102,2),(84111,2),(84112,2),(84127,2),(84138,2),(84140,2),(84142,2),(84144,2),(84148,2),(84151,2),(84152,2),(84153,2),(84160,2),(84162,2),(84164,2),(84169,2),(84175,2),(84178,2),(84185,2),(84204,2),(84210,2),(84219,2),(84241,2),(84250,2),(84256,2),(84257,2),(84267,2),(84271,2),(84272,2),(84274,2),(84276,2),(84292,2),(84300,2),(84315,2),(84319,2),(84327,2),(84333,2),(84342,2),(84343,2),(84350,2),(84352,2),(84355,2),(84359,2),(84368,2),(84377,2),(84383,2),(84387,2),(84391,2),(84396,2),(84405,2),(84411,2),(84414,2),(84424,2),(84428,2),(84442,2),(84454,2),(84457,2),(84458,2),(84461,2),(84463,2),(84494,2),(84498,2),(84509,2),(84524,2),(84543,2),(84556,2),(84561,2),(84565,2),(84569,2),(84577,2),(84581,2),(84588,2),(84589,2),(84591,2),(84595,2),(84599,2),(84610,2),(84615,2),(84616,2),(84617,2),(84620,2),(84624,2),(84628,2),(84633,2),(84641,2),(84643,2),(84648,2),(84655,2),(84656,2),(84676,2),(84681,2),(84686,2),(84693,2),(84705,2),(84710,2),(84723,2),(84735,2),(84737,2),(84740,2),(84744,2),(84747,2),(84752,2),(84753,2),(84756,2),(84758,2),(84768,2),(84777,2),(84785,2),(84788,2),(84789,2),(84791,2),(84796,2),(84797,2),(84809,2),(84810,2),(84820,2),(84822,2),(84829,2),(84837,2),(84846,2),(84850,2),(84863,2),(84864,2),(84865,2),(84891,2),(84897,2),(84900,2),(84906,2),(84908,2),(84912,2),(84924,2),(84927,2),(84934,2),(84935,2),(84939,2),(84940,2),(84952,2),(84955,2),(84960,2),(84980,2),(84987,2),(84992,2),(84998,2),(85007,2),(85009,2),(85025,2),(85041,2),(85052,2),(85066,2),(85073,2),(85075,2),(85077,2),(85079,2),(85093,2),(85099,2),(85101,2),(85113,2),(85135,2),(85140,2),(85144,2),(85147,2),(85161,2),(85165,2),(85167,2),(85172,2),(85176,2),(85180,2),(85184,2),(85201,2),(85202,2),(85217,2),(85226,2),(85233,2),(85239,2),(85243,2),(85254,2),(85256,2),(85273,2),(85282,2),(85283,2),(85290,2),(85292,2),(85297,2),(85305,2),(85306,2),(85308,2),(85309,2),(85312,2),(85318,2),(85320,2),(85331,2),(85332,2),(85362,2),(85372,2),(85378,2),(85385,2),(85392,2),(85397,2),(85405,2),(85413,2),(85419,2),(85420,2),(85424,2),(85434,2),(85436,2),(85438,2),(85439,2),(85466,2),(85478,2),(85479,2),(85482,2),(85488,2),(85492,2),(85496,2),(85505,2),(85507,2),(85518,2),(85530,2),(85532,2),(85542,2),(85543,2),(85544,2),(85547,2),(85552,2),(85562,2),(85565,2),(85587,2),(85588,2),(85610,2),(85613,2),(85615,2),(85626,2),(85633,2),(85640,2),(85642,2),(85648,2),(85650,2),(85655,2),(85673,2),(85681,2),(85685,2),(85688,2),(85689,2),(85690,2),(85692,2),(85695,2),(85697,2),(85715,2),(85720,2),(85728,2),(85732,2),(85741,2),(85761,2),(85788,2),(85794,2),(85799,2),(85801,2),(85804,2),(85808,2),(85809,2),(85815,2),(85816,2),(85819,2),(85834,2),(85836,2),(85845,2),(85849,2),(85854,2),(85862,2),(85872,2),(85873,2),(85879,2),(85885,2),(85889,2),(85901,2),(85904,2),(85915,2),(85917,2),(85918,2),(85923,2),(85929,2),(85938,2),(85950,2),(85956,2),(85958,2),(85961,2),(85966,2),(85989,2),(85996,2),(86014,2),(86017,2),(86025,2),(86032,2),(86043,2),(86048,2),(86054,2),(86077,2),(86078,2),(86084,2),(86086,2),(86090,2),(86096,2),(86104,2),(86116,2),(86121,2),(86126,2),(86139,2),(86140,2),(86144,2),(86152,2),(86162,2),(86165,2),(86168,2),(86180,2),(86184,2),(86191,2),(86192,2),(86197,2),(86213,2),(86234,2),(86241,2),(86249,2),(86266,2),(86277,2),(86278,2),(86300,2),(86302,2),(86316,2),(86317,2),(86320,2),(86323,2),(86329,2),(86336,2),(86344,2),(86349,2),(86352,2),(86356,2),(86362,2),(86364,2),(86365,2),(86373,2),(86382,2),(86383,2),(86385,2),(86395,2),(86398,2),(86400,2),(86411,2),(86418,2),(86419,2),(86421,2),(86440,2),(86447,2),(86449,2),(86454,2),(86461,2),(86463,2),(86471,2),(86473,2),(86475,2),(86478,2),(86480,2),(86481,2),(86492,2),(86493,2),(86510,2),(86535,2),(86545,2),(86558,2),(86559,2),(86563,2),(86568,2),(86581,2),(86590,2),(86599,2),(86604,2),(86614,2),(86617,2),(86619,2),(86628,2),(86634,2),(86644,2),(86686,2),(86693,2),(86697,2),(86699,2),(86700,2),(86717,2),(86724,2),(86725,2),(86735,2),(86736,2),(86737,2),(86744,2),(86748,2),(86751,2),(86754,2),(86758,2),(86761,2),(86763,2),(86767,2),(86773,2),(86776,2),(86778,2),(86787,2),(86789,2),(86798,2),(86799,2),(86801,2),(86820,2),(86824,2),(86829,2),(86830,2),(86832,2),(86837,2),(86843,2),(86844,2),(86847,2),(86867,2),(86880,2),(86881,2),(86889,2),(86891,2),(86893,2),(86897,2),(86909,2),(86910,2),(86914,2),(86915,2),(86945,2),(86946,2),(86947,2),(86956,2),(86958,2),(86959,2),(86967,2),(86977,2),(86978,2),(86982,2),(86985,2),(86987,2),(86990,2),(87001,2),(87005,2),(87017,2),(87025,2),(87026,2),(87038,2),(87047,2),(87050,2),(87052,2),(87054,2),(87055,2),(87057,2),(87064,2),(87069,2),(87078,2),(87080,2),(87082,2),(87086,2),(87095,2),(87106,2),(87112,2),(87129,2),(87134,2),(87136,2),(87143,2),(87147,2),(87158,2),(87159,2),(87169,2),(87181,2),(87186,2),(87189,2),(87194,2),(87202,2),(87208,2),(87221,2),(87245,2),(87254,2),(87261,2),(87269,2),(87274,2),(87277,2),(87278,2),(87292,2),(87297,2),(87302,2),(87303,2),(87307,2),(87310,2),(87314,2),(87318,2),(87329,2),(87338,2),(87344,2),(87368,2),(87369,2),(87374,2),(87380,2),(87381,2),(87387,2),(87389,2),(87391,2),(87405,2),(87417,2),(87421,2),(87423,2),(87431,2),(87432,2),(87433,2),(87436,2),(87457,2),(87464,2),(87465,2),(87485,2),(87493,2),(87494,2),(87508,2),(87512,2),(87514,2),(87516,2),(87529,2),(87531,2),(87539,2),(87544,2),(87546,2),(87561,2),(87564,2),(87566,2),(87582,2),(87583,2),(87588,2),(87594,2),(87600,2),(87601,2),(87609,2),(87634,2),(87640,2),(87644,2),(87661,2),(87680,2),(87681,2),(87699,2),(87721,2),(87728,2),(87729,2),(87730,2),(87742,2),(87747,2),(87751,2),(87752,2),(87761,2),(87765,2),(87775,2),(87778,2),(87781,2),(87784,2),(87785,2),(87791,2),(87806,2),(87812,2),(87813,2),(87814,2),(87817,2),(87818,2),(87828,2),(87829,2),(87838,2),(87842,2),(87847,2),(87853,2),(87856,2),(87865,2),(87868,2),(87881,2),(87883,2),(87890,2),(87892,2),(87896,2),(87904,2),(87905,2),(87907,2),(87914,2),(87923,2),(87936,2),(87937,2),(87943,2),(87944,2),(87946,2),(87954,2),(87960,2),(87961,2),(87967,2),(87977,2),(87982,2),(87990,2),(87993,2),(87996,2),(88000,2),(88029,2),(88036,2),(88042,2),(88044,2),(88049,2),(88067,2),(88069,2),(88071,2),(88074,2),(88082,2),(88083,2),(88084,2),(88086,2),(88088,2),(88091,2),(88092,2),(88108,2),(88109,2),(88115,2),(88120,2),(88128,2),(88130,2),(88132,2),(88134,2),(88135,2),(88156,2),(88161,2),(88172,2),(88184,2),(88186,2),(88205,2),(88209,2),(88216,2),(88220,2),(88223,2),(88224,2),(88258,2),(88261,2),(88275,2),(88277,2),(88288,2),(88293,2),(88296,2),(88302,2),(88314,2),(88319,2),(88324,2),(88327,2),(88330,2),(88335,2),(88340,2),(88345,2),(88347,2),(88349,2),(88355,2),(88357,2),(88360,2),(88388,2),(88402,2),(88409,2),(88414,2),(88418,2),(88440,2),(88442,2),(88461,2),(88465,2),(88470,2),(88480,2),(88482,2),(88485,2),(88496,2),(88507,2),(88508,2),(88510,2),(88514,2),(88527,2),(88539,2),(88548,2),(88553,2),(88562,2),(88563,2),(88564,2),(88568,2),(88575,2),(88582,2),(88594,2),(88595,2),(88599,2),(88606,2),(88610,2),(88614,2),(88618,2),(88627,2),(88628,2),(88630,2),(88631,2),(88636,2),(88641,2),(88642,2),(88656,2),(88660,2),(88663,2),(88668,2),(88675,2),(88679,2),(88693,2),(88700,2),(88711,2),(88713,2),(88742,2),(88747,2),(88748,2),(88760,2),(88765,2),(88767,2),(88784,2),(88786,2),(88790,2),(88795,2),(88803,2),(88810,2),(88812,2),(88823,2),(88829,2),(88830,2),(88838,2),(88854,2),(88856,2),(88860,2),(88862,2),(88864,2),(88869,2),(88873,2),(88874,2),(88883,2),(88896,2),(88898,2),(88911,2),(88921,2),(88922,2),(88927,2),(88933,2),(88940,2),(88945,2),(88950,2),(88952,2),(88954,2),(88957,2),(88959,2),(88966,2),(88972,2),(88993,2),(88998,2),(88999,2),(89002,2),(89009,2),(89015,2),(89016,2),(89021,2),(89028,2),(89038,2),(89044,2),(89045,2),(89051,2),(89052,2),(89057,2),(89063,2),(89064,2),(89065,2),(89067,2),(89073,2),(89074,2),(89075,2),(89079,2),(89086,2),(89089,2),(89097,2),(89101,2),(89135,2),(89145,2),(89150,2),(89159,2),(89166,2),(89168,2),(89170,2),(89171,2),(89173,2),(89189,2),(89191,2),(89192,2),(89199,2),(89202,2),(89203,2),(89208,2),(89209,2),(89215,2),(89243,2),(89251,2),(89253,2),(89258,2),(89262,2),(89264,2),(89274,2),(89281,2),(89283,2),(89289,2),(89291,2),(89295,2),(89309,2),(89319,2),(89330,2),(89333,2),(89341,2),(89344,2),(89351,2),(89356,2),(89359,2),(89377,2),(89383,2),(89390,2),(89395,2),(89404,2),(89408,2),(89422,2),(89423,2),(89424,2),(89430,2),(89433,2),(89436,2),(89447,2),(89453,2),(89454,2),(89456,2),(89461,2),(89463,2),(89471,2),(89473,2),(89477,2),(89480,2),(89483,2),(89485,2),(89489,2),(89491,2),(89499,2),(89502,2),(89508,2),(89513,2),(89514,2),(89515,2),(89530,2),(89534,2),(89543,2),(89544,2),(89550,2),(89559,2),(89566,2),(89580,2),(89595,2),(89602,2),(89608,2),(89610,2),(89611,2),(89613,2),(89642,2),(89648,2),(89652,2),(89653,2),(89658,2),(89659,2),(89664,2),(89665,2),(89667,2),(89668,2),(89675,2),(89683,2),(89684,2),(89696,2),(89710,2),(89711,2),(89719,2),(89750,2),(89754,2),(89756,2),(89763,2),(89777,2),(89778,2),(89779,2),(89784,2),(89788,2),(89789,2),(89790,2),(89791,2),(89797,2),(89814,2),(89817,2),(89824,2),(89830,2),(89850,2),(89853,2),(89854,2),(89862,2),(89863,2),(89866,2),(89874,2),(89880,2),(89884,2),(89896,2),(89905,2),(89914,2),(89918,2),(89919,2),(89920,2),(89927,2),(89930,2),(89931,2),(89932,2),(89934,2),(89936,2),(89973,2),(89978,2),(89988,2),(89997,2),(89998,2),(89999,2),(90000,2),(90002,2),(90007,2),(90018,2),(90031,2),(90032,2),(90033,2),(90034,2),(90039,2),(90043,2),(90044,2),(90062,2),(90065,2),(90070,2),(90076,2),(90078,2),(90081,2),(90103,2),(90108,2),(90109,2),(90114,2),(90132,2),(90153,2),(90162,2),(90175,2),(90176,2),(90187,2),(90189,2),(90190,2),(90193,2),(90194,2),(90200,2),(90202,2),(90205,2),(90214,2),(90215,2),(90216,2),(90230,2),(90255,2),(90262,2),(90263,2),(90265,2),(90267,2),(90282,2),(90283,2),(90285,2),(90286,2),(90290,2),(90306,2),(90307,2),(90316,2),(90320,2),(90322,2),(90327,2),(90331,2),(90341,2),(90357,2),(90362,2),(90376,2),(90382,2),(90386,2),(90391,2),(90399,2),(90407,2),(90409,2),(90410,2),(90435,2),(90443,2),(90447,2),(90460,2),(90463,2),(90470,2),(90475,2),(90494,2),(90499,2),(90503,2),(90504,2),(90509,2),(90523,2),(90528,2),(90530,2),(90535,2),(90543,2),(90545,2),(90550,2),(90552,2),(90554,2),(90561,2),(90570,2),(90576,2),(90577,2),(90580,2),(90583,2),(90587,2),(90594,2),(90614,2),(90622,2),(90640,2),(90642,2),(90646,2),(90648,2),(90659,2),(90660,2),(90661,2),(90667,2),(90669,2),(90672,2),(90679,2),(90680,2),(90693,2),(90695,2),(90710,2),(90711,2),(90712,2),(90713,2),(90716,2),(90720,2),(90723,2),(90740,2),(90741,2),(90746,2),(90747,2),(90748,2),(90767,2),(90772,2),(90775,2),(90779,2),(90783,2),(90787,2),(90801,2),(90815,2),(90825,2),(90851,2),(90857,2),(90863,2),(90867,2),(90872,2),(90875,2),(90879,2),(90882,2),(90892,2),(90921,2),(90922,2),(90925,2),(90928,2),(90935,2),(90940,2),(90948,2),(90957,2),(90958,2),(90972,2),(90977,2),(90986,2),(90990,2),(91002,2),(91011,2),(91016,2),(91030,2),(91031,2),(91035,2),(91042,2),(91044,2),(91046,2),(91050,2),(91059,2),(91070,2),(91072,2),(91074,2),(91087,2),(91098,2),(91108,2),(91112,2),(91119,2),(91120,2),(91134,2),(91135,2),(91137,2),(91138,2),(91159,2),(91163,2),(91173,2),(91175,2),(91179,2),(91180,2),(91189,2),(91196,2),(91197,2),(91205,2),(91207,2),(91210,2),(91219,2),(91233,2),(91238,2),(91241,2),(91245,2),(91247,2),(91253,2),(91254,2),(91255,2),(91261,2),(91262,2),(91269,2),(91273,2),(91284,2),(91293,2),(91299,2),(91301,2),(91304,2),(91306,2),(91310,2),(91315,2),(91331,2),(91333,2),(91337,2),(91343,2),(91347,2),(91349,2),(91377,2),(91380,2),(91383,2),(91384,2),(91394,2),(91395,2),(91401,2),(91403,2),(91411,2),(91412,2),(91420,2),(91425,2),(91428,2),(91433,2),(91436,2),(91445,2),(91455,2),(91457,2),(91465,2),(91472,2),(91495,2),(91496,2),(91516,2),(91519,2),(91528,2),(91530,2),(91536,2),(91549,2),(91553,2),(91556,2),(91557,2),(91561,2),(91566,2),(91572,2),(91580,2),(91581,2),(91588,2),(91589,2),(91591,2),(91597,2),(91598,2),(91606,2),(91608,2),(91609,2),(91610,2),(91614,2),(91621,2),(91628,2),(91633,2),(91639,2),(91642,2),(91645,2),(91647,2),(91651,2),(91668,2),(91670,2),(91671,2),(91678,2),(91679,2),(91683,2),(91694,2),(91697,2),(91702,2),(91704,2),(91707,2),(91710,2),(91718,2),(91726,2),(91727,2),(91733,2),(91735,2),(91736,2),(91738,2),(91741,2),(91742,2),(91744,2),(91751,2),(91759,2),(91764,2),(91765,2),(91773,2),(91780,2),(91787,2),(91796,2),(91802,2),(91807,2),(91816,2),(91818,2),(91822,2),(91835,2),(91836,2),(91837,2),(91841,2),(91843,2),(91844,2),(91845,2),(91853,2),(91863,2),(91877,2),(91879,2),(91880,2),(91882,2),(91884,2),(91887,2),(91900,2),(91906,2),(91909,2),(91916,2),(91925,2),(91926,2),(91933,2),(91934,2),(91941,2),(91946,2),(91947,2),(91949,2),(91951,2),(91960,2),(91962,2),(91967,2),(91974,2),(91979,2),(91987,2),(91993,2),(92007,2),(92036,2),(92043,2),(92045,2),(92046,2),(92050,2),(92070,2),(92081,2),(92086,2),(92088,2),(92093,2),(92113,2),(92116,2),(92120,2),(92128,2),(92130,2),(92138,2),(92140,2),(92146,2),(92149,2),(92156,2),(92162,2),(92176,2),(92180,2),(92181,2),(92183,2),(92188,2),(92195,2),(92203,2),(92204,2),(92219,2),(92227,2),(92228,2),(92234,2),(92238,2),(92241,2),(92244,2),(92245,2),(92252,2),(92253,2),(92258,2),(92260,2),(92265,2),(92267,2),(92268,2),(92273,2),(92279,2),(92280,2),(92282,2),(92284,2),(92294,2),(92295,2),(92314,2),(92322,2),(92323,2),(92325,2),(92327,2),(92328,2),(92334,2),(92338,2),(92344,2),(92345,2),(92371,2),(92372,2),(92380,2),(92385,2),(92386,2),(92391,2),(92393,2),(92395,2),(92403,2),(92410,2),(92412,2),(92420,2),(92439,2),(92445,2),(92452,2),(92455,2),(92469,2),(92475,2),(92481,2),(92492,2),(92500,2),(92511,2),(92512,2),(92521,2),(92537,2),(92539,2),(92557,2),(92558,2),(92560,2),(92561,2),(92566,2),(92569,2),(92572,2),(92574,2),(92579,2),(92580,2),(92587,2),(92594,2),(92622,2),(92625,2),(92627,2),(92630,2),(92631,2),(92639,2),(92663,2),(92672,2),(92676,2),(92691,2),(92707,2),(92740,2),(92750,2),(92751,2),(92752,2),(92753,2),(92763,2),(92767,2),(92785,2),(92796,2),(92799,2),(92801,2),(92805,2),(92843,2),(92847,2),(92851,2),(92854,2),(92857,2),(92868,2),(92869,2),(92874,2),(92875,2),(92878,2),(92887,2),(92895,2),(92896,2),(92900,2),(92914,2),(92918,2),(92920,2),(92936,2),(92941,2),(92944,2),(92949,2),(92950,2),(92952,2),(92955,2),(92962,2),(92970,2),(92982,2),(92983,2),(92987,2),(92988,2),(92990,2),(92992,2),(93009,2),(93011,2),(93017,2),(93023,2),(93036,2),(93037,2),(93038,2),(93040,2),(93048,2),(93067,2),(93068,2),(93072,2),(93081,2),(93084,2),(93088,2),(93090,2),(93094,2),(93099,2),(93107,2),(93108,2),(93110,2),(93113,2),(93117,2),(93120,2),(93130,2),(93131,2),(93134,2),(93138,2),(93141,2),(93148,2),(93159,2),(93163,2),(93169,2),(93172,2),(93177,2),(93184,2),(93186,2),(93193,2),(93216,2),(93217,2),(93218,2),(93227,2),(93233,2),(93243,2),(93245,2),(93250,2),(93257,2),(93265,2),(93267,2),(93274,2),(93275,2),(93277,2),(93278,2),(93279,2),(93288,2),(93303,2),(93314,2),(93319,2),(93322,2),(93324,2),(93325,2),(93342,2),(93353,2),(93360,2),(93375,2),(93384,2),(93392,2),(93394,2),(93395,2),(93402,2),(93413,2),(93453,2),(93455,2),(93459,2),(93464,2),(93470,2),(93479,2),(93486,2),(93489,2),(93495,2),(93507,2),(93510,2),(93513,2),(93514,2),(93520,2),(93531,2),(93535,2),(93545,2),(93547,2),(93548,2),(93551,2),(93552,2),(93563,2),(93564,2),(93569,2),(93571,2),(93585,2),(93586,2),(93600,2),(93606,2),(93618,2),(93623,2),(93624,2),(93635,2),(93645,2),(93648,2),(93653,2),(93672,2),(93673,2),(93676,2),(93681,2),(93683,2),(93691,2),(93695,2),(93702,2),(93710,2),(93713,2),(93717,2),(93718,2),(93728,2),(93730,2),(93731,2),(93736,2),(93739,2),(93743,2),(93747,2),(93751,2),(93752,2),(93754,2),(93757,2),(93770,2),(93782,2),(93786,2),(93788,2),(93804,2),(93805,2),(93810,2),(93811,2),(93818,2),(93832,2),(93838,2),(93841,2),(93856,2),(93865,2),(93881,2),(93891,2),(93898,2),(93917,2),(93920,2),(93923,2),(93928,2),(93929,2),(93946,2),(93956,2),(93958,2),(93960,2),(93969,2),(93970,2),(93985,2),(93992,2),(93998,2),(94000,2),(94005,2),(94011,2),(94014,2),(94021,2),(94038,2),(94044,2),(94056,2),(94060,2),(94061,2),(94063,2),(94076,2),(94077,2),(94087,2),(94090,2),(94092,2),(94105,2),(94106,2),(94115,2),(94123,2),(94127,2),(94132,2),(94134,2),(94139,2),(94140,2),(94145,2),(94147,2),(94150,2),(94151,2),(94159,2),(94169,2),(94173,2),(94183,2),(94197,2),(94205,2),(94206,2),(94211,2),(94212,2),(94220,2),(94224,2),(94236,2),(94246,2),(94247,2),(94252,2),(94253,2),(94259,2),(94260,2),(94264,2),(94278,2),(94296,2),(94312,2),(94314,2),(94316,2),(94319,2),(94321,2),(94325,2),(94335,2),(94337,2),(94338,2),(94341,2),(94356,2),(94361,2),(94364,2),(94369,2),(94382,2),(94392,2),(94403,2),(94407,2),(94410,2),(94420,2),(94423,2),(94432,2),(94437,2),(94442,2),(94447,2),(94448,2),(94453,2),(94458,2),(94461,2),(94462,2),(94465,2),(94472,2),(94474,2),(94480,2),(94499,2),(94511,2),(94514,2),(94518,2),(94519,2),(94521,2),(94529,2),(94547,2),(94548,2),(94554,2),(94558,2),(94559,2),(94565,2),(94573,2),(94574,2),(94590,2),(94593,2),(94614,2),(94618,2),(94623,2),(94625,2),(94646,2),(94663,2),(94665,2),(94666,2),(94668,2),(94678,2),(94681,2),(94684,2),(94693,2),(94696,2),(94700,2),(94703,2),(94715,2),(94716,2),(94721,2),(94730,2),(94735,2),(94736,2),(94745,2),(94756,2),(94757,2),(94759,2),(94761,2),(94772,2),(94776,2),(94779,2),(94780,2),(94793,2),(94802,2),(94803,2),(94805,2),(94807,2),(94812,2),(94816,2),(94828,2),(94829,2),(94830,2),(94839,2),(94842,2),(94843,2),(94849,2),(94858,2),(94862,2),(94875,2),(94886,2),(94888,2),(94889,2),(94895,2),(94900,2),(94910,2),(94912,2),(94913,2),(94927,2),(94930,2),(94931,2),(94945,2),(94946,2),(94949,2),(94955,2),(94983,2),(94985,2),(94992,2),(95009,2),(95010,2),(95027,2),(95037,2),(95044,2),(95045,2),(95051,2),(95057,2),(95061,2),(95063,2),(95070,2),(95082,2),(95083,2),(95092,2),(95098,2),(95102,2),(95111,2),(95120,2),(95122,2),(95143,2),(95145,2),(95153,2),(95158,2),(95161,2),(95162,2),(95182,2),(95183,2),(95186,2),(95190,2),(95191,2),(95195,2),(95199,2),(95202,2),(95209,2),(95213,2),(95218,2),(95250,2),(95252,2),(95253,2),(95261,2),(95270,2),(95276,2),(95277,2),(95279,2),(95286,2),(95289,2),(95291,2),(95302,2),(95304,2),(95321,2),(95322,2),(95332,2),(95334,2),(95336,2),(95341,2),(95343,2),(95344,2),(95348,2),(95353,2),(95356,2),(95366,2),(95417,2),(95418,2),(95419,2),(95426,2),(95428,2),(95429,2),(95448,2),(95453,2),(95454,2),(95456,2),(95459,2),(95467,2),(95485,2),(95505,2),(95509,2),(95513,2),(95524,2),(95531,2),(95532,2),(95536,2),(95539,2),(95543,2),(95549,2),(95550,2),(95553,2),(95558,2),(95569,2),(95576,2),(95581,2),(95584,2),(95585,2),(95588,2),(95589,2),(95594,2),(95600,2),(95604,2),(95615,2),(95617,2),(95619,2),(95628,2),(95634,2),(95636,2),(95644,2),(95649,2),(95661,2),(95670,2),(95678,2),(95679,2),(95685,2),(95690,2),(95697,2),(95702,2),(95704,2),(95706,2),(95713,2),(95721,2),(95725,2),(95729,2),(95740,2),(95768,2),(95775,2),(95776,2),(95786,2),(95787,2),(95792,2),(95794,2),(95795,2),(95805,2),(95809,2),(95813,2),(95816,2),(95820,2),(95821,2),(95823,2),(95833,2),(95845,2),(95850,2),(95863,2),(95865,2),(95878,2),(95879,2),(95887,2),(95901,2),(95905,2),(95906,2),(95910,2),(95918,2),(95923,2),(95927,2),(95930,2),(95946,2),(95964,2),(95969,2),(95970,2),(95977,2),(95981,2),(95983,2),(95985,2),(95988,2),(96004,2),(96005,2),(96008,2),(96031,2),(96039,2),(96046,2),(96061,2),(96067,2),(96072,2),(96074,2),(96076,2),(96084,2),(96089,2),(96096,2),(96097,2),(96099,2),(96100,2),(96103,2),(96123,2),(96163,2),(96170,2),(96178,2),(96182,2),(96186,2),(96193,2),(96195,2),(96218,2),(96225,2),(96231,2),(96233,2),(96240,2),(96243,2),(96254,2),(96255,2),(96260,2),(96271,2),(96273,2),(96276,2),(96280,2),(96287,2),(96289,2),(96292,2),(96299,2),(96302,2),(96305,2),(96320,2),(96325,2),(96332,2),(96337,2),(96338,2),(96341,2),(96353,2),(96354,2),(96368,2),(96370,2),(96376,2),(96377,2),(96382,2),(96388,2),(96391,2),(96395,2),(96397,2),(96402,2),(96425,2),(96434,2),(96449,2),(96453,2),(96459,2),(96464,2),(96465,2),(96483,2),(96485,2),(96490,2),(96492,2),(96493,2),(96504,2),(96513,2),(96516,2),(96517,2),(96518,2),(96520,2),(96542,2),(96555,2),(96564,2),(96596,2),(96605,2),(96606,2),(96609,2),(96612,2),(96628,2),(96635,2),(96636,2),(96641,2),(96644,2),(96647,2),(96651,2),(96655,2),(96657,2),(96669,2),(96675,2),(96684,2),(96686,2),(96687,2),(96691,2),(96693,2),(96695,2),(96699,2),(96702,2),(96709,2),(96713,2),(96719,2),(96720,2),(96721,2),(96723,2),(96725,2),(96726,2),(96730,2),(96747,2),(96750,2),(96753,2),(96756,2),(96758,2),(96763,2),(96764,2),(96765,2),(96772,2),(96775,2),(96797,2),(96804,2),(96824,2),(96825,2),(96831,2),(96834,2),(96835,2),(96839,2),(96845,2),(96846,2),(96849,2),(96852,2),(96863,2),(96869,2),(96872,2),(96888,2),(96891,2),(96892,2),(96903,2),(96905,2),(96912,2),(96915,2),(96916,2),(96920,2),(96921,2),(96922,2),(96924,2),(96933,2),(96942,2),(96947,2),(96949,2),(96956,2),(96960,2),(96961,2),(96963,2),(96966,2),(96971,2),(96973,2),(96974,2),(96976,2),(96980,2),(96983,2),(96987,2),(96998,2),(97005,2),(97008,2),(97011,2),(97014,2),(97016,2),(97020,2),(97021,2),(97026,2),(97027,2),(97031,2),(97035,2),(97054,2),(97059,2),(97078,2),(97083,2),(97084,2),(97086,2),(97094,2),(97095,2),(97098,2),(97106,2),(97123,2),(97129,2),(97131,2),(97135,2),(97140,2),(97147,2),(97155,2),(97156,2),(97159,2),(97163,2),(97164,2),(97167,2),(97168,2),(97177,2),(97183,2),(97192,2),(97207,2),(97213,2),(97215,2),(97220,2),(97223,2),(97226,2),(97229,2),(97235,2),(97236,2),(97241,2),(97246,2),(97247,2),(97248,2),(97251,2),(97271,2),(97273,2),(97274,2),(97276,2),(97288,2),(97300,2),(97304,2),(97308,2),(97315,2),(97320,2),(97321,2),(97327,2),(97341,2),(97348,2),(97349,2),(97350,2),(97355,2),(97362,2),(97371,2),(97388,2),(97389,2),(97397,2),(97414,2),(97415,2),(97418,2),(97422,2),(97437,2),(97439,2),(97440,2),(97443,2),(97448,2),(97449,2),(97450,2),(97461,2),(97472,2),(97484,2),(97489,2),(97490,2),(97494,2),(97499,2),(97507,2),(97517,2),(97520,2),(97530,2),(97532,2),(97533,2),(97535,2),(97564,2),(97570,2),(97578,2),(97580,2),(97581,2),(97584,2),(97586,2),(97597,2),(97601,2),(97604,2),(97608,2),(97609,2),(97625,2),(97629,2),(97638,2),(97641,2),(97646,2),(97649,2),(97655,2),(97662,2),(97667,2),(97675,2),(97679,2),(97683,2),(97701,2),(97702,2),(97711,2),(97712,2),(97724,2),(97738,2),(97741,2),(97751,2),(97758,2),(97763,2),(97764,2),(97765,2),(97771,2),(97778,2),(97783,2),(97793,2),(97795,2),(97796,2),(97800,2),(97806,2),(97807,2),(97810,2),(97828,2),(97833,2),(97834,2),(97840,2),(97848,2),(97854,2),(97855,2),(97857,2),(97860,2),(97872,2),(97877,2),(97879,2),(97883,2),(97902,2),(97906,2),(97913,2),(97919,2),(97945,2),(97950,2),(97952,2),(97959,2),(97965,2),(97966,2),(97967,2),(97970,2),(97971,2),(97975,2),(97980,2),(97982,2),(97986,2),(97997,2),(98001,2),(98005,2),(98016,2),(98021,2),(98028,2),(98029,2),(98034,2),(98036,2),(98040,2),(98063,2),(98070,2),(98076,2),(98084,2),(98091,2),(98096,2),(98100,2),(98102,2),(98109,2),(98110,2),(98113,2),(98119,2),(98128,2),(98132,2),(98153,2),(98154,2),(98162,2),(98163,2),(98166,2),(98173,2),(98185,2),(98191,2),(98192,2),(98204,2),(98207,2),(98214,2),(98217,2),(98219,2),(98224,2),(98227,2),(98233,2),(98234,2),(98242,2),(98243,2),(98260,2),(98263,2),(98264,2),(98268,2),(98287,2),(98297,2),(98315,2),(98331,2),(98345,2),(98371,2),(98375,2),(98389,2),(98390,2),(98395,2),(98396,2),(98405,2),(98406,2),(98411,2),(98424,2),(98433,2),(98439,2),(98443,2),(98445,2),(98457,2),(98463,2),(98466,2),(98467,2),(98469,2),(98483,2),(98491,2),(98492,2),(98495,2),(98507,2),(98511,2),(98519,2),(98523,2),(98524,2),(98534,2),(98538,2),(98542,2),(98544,2),(98549,2),(98556,2),(98561,2),(98566,2),(98570,2),(98575,2),(98579,2),(98586,2),(98589,2),(98593,2),(98594,2),(98599,2),(98604,2),(98607,2),(98610,2),(98616,2),(98629,2),(98631,2),(98644,2),(98652,2),(98653,2),(98668,2),(98669,2),(98690,2),(98696,2),(98703,2),(98706,2),(98710,2),(98711,2),(98712,2),(98717,2),(98720,2),(98748,2),(98758,2),(98770,2),(98779,2),(98782,2),(98784,2),(98786,2),(98787,2),(98795,2),(98797,2),(98802,2),(98809,2),(98813,2),(98825,2),(98829,2),(98846,2),(98886,2),(98888,2),(98891,2),(98892,2),(98897,2),(98907,2),(98911,2),(98919,2),(98922,2),(98929,2),(98937,2),(98938,2),(98940,2),(98941,2),(98942,2),(98943,2),(98946,2),(98949,2),(98964,2),(98970,2),(98971,2),(98978,2),(98992,2),(98999,2),(4,3),(12,3),(16,3),(24,3),(34,3),(39,3),(42,3),(48,3),(49,3),(53,3),(57,3),(78,3),(79,3),(81,3),(94,3),(98,3),(100,3),(102,3),(104,3),(106,3),(114,3),(117,3),(120,3),(124,3),(131,3),(135,3),(137,3),(139,3),(141,3),(144,3),(150,3),(155,3),(164,3),(178,3),(179,3),(181,3),(192,3),(195,3),(203,3),(207,3),(208,3),(217,3),(221,3),(230,3),(232,3),(235,3),(237,3),(238,3),(241,3),(246,3),(248,3),(250,3),(251,3),(252,3),(253,3),(257,3),(263,3),(275,3),(284,3),(288,3),(300,3),(306,3),(308,3),(315,3),(321,3),(338,3),(339,3),(341,3),(344,3),(351,3),(356,3),(374,3),(380,3),(383,3),(384,3),(406,3),(413,3),(420,3),(423,3),(436,3),(437,3),(438,3),(441,3),(443,3),(453,3),(463,3),(467,3),(481,3),(510,3),(511,3),(513,3),(516,3),(521,3),(531,3),(537,3),(543,3),(545,3),(552,3),(557,3),(558,3),(559,3),(562,3),(571,3),(574,3),(576,3),(582,3),(584,3),(585,3),(594,3),(601,3),(603,3),(607,3),(614,3),(616,3),(618,3),(643,3),(645,3),(670,3),(682,3),(690,3),(691,3),(694,3),(695,3),(705,3),(708,3),(714,3),(715,3),(716,3),(723,3),(727,3),(732,3),(736,3),(737,3),(747,3),(749,3),(757,3),(761,3),(762,3),(769,3),(772,3),(783,3),(784,3),(795,3),(798,3),(812,3),(821,3),(834,3),(841,3),(842,3),(861,3),(870,3),(880,3),(906,3),(924,3),(926,3),(928,3),(931,3),(932,3),(935,3),(959,3),(964,3),(967,3),(970,3),(973,3),(974,3),(977,3),(980,3),(991,3),(998,3),(1009,3),(1010,3),(1014,3),(1020,3),(1023,3),(1025,3),(1027,3),(1040,3),(1041,3),(1047,3),(1050,3),(1052,3),(1054,3),(1057,3),(1060,3),(1067,3),(1073,3),(1074,3),(1075,3),(1078,3),(1083,3),(1088,3),(1089,3),(1096,3),(1099,3),(1112,3),(1120,3),(1130,3),(1132,3),(1144,3),(1147,3),(1148,3),(1151,3),(1157,3),(1162,3),(1168,3),(1172,3),(1176,3),(1188,3),(1191,3),(1199,3),(1200,3),(1216,3),(1218,3),(1219,3),(1222,3),(1227,3),(1232,3),(1235,3),(1243,3),(1247,3),(1249,3),(1251,3),(1263,3),(1264,3),(1267,3),(1268,3),(1272,3),(1279,3),(1285,3),(1286,3),(1287,3),(1288,3),(1306,3),(1326,3),(1330,3),(1343,3),(1350,3),(1354,3),(1357,3),(1375,3),(1385,3),(1395,3),(1419,3),(1422,3),(1423,3),(1445,3),(1447,3),(1451,3),(1452,3),(1457,3),(1464,3),(1467,3),(1482,3),(1483,3),(1484,3),(1493,3),(1494,3),(1499,3),(1502,3),(1504,3),(1505,3),(1517,3),(1518,3),(1522,3),(1532,3),(1536,3),(1539,3),(1541,3),(1544,3),(1551,3),(1560,3),(1563,3),(1572,3),(1575,3),(1583,3),(1584,3),(1585,3),(1586,3),(1589,3),(1591,3),(1592,3),(1601,3),(1607,3),(1613,3),(1614,3),(1623,3),(1624,3),(1635,3),(1646,3),(1651,3),(1657,3),(1665,3),(1670,3),(1673,3),(1678,3),(1682,3),(1685,3),(1687,3),(1701,3),(1706,3),(1708,3),(1714,3),(1719,3),(1725,3),(1727,3),(1731,3),(1732,3),(1735,3),(1737,3),(1745,3),(1749,3),(1753,3),(1754,3),(1755,3),(1756,3),(1760,3),(1761,3),(1768,3),(1772,3),(1775,3),(1776,3),(1791,3),(1793,3),(1794,3),(1800,3),(1804,3),(1812,3),(1818,3),(1822,3),(1832,3),(1839,3),(1840,3),(1842,3),(1845,3),(1846,3),(1852,3),(1856,3),(1871,3),(1874,3),(1875,3),(1888,3),(1891,3),(1894,3),(1906,3),(1910,3),(1912,3),(1918,3),(1920,3),(1921,3),(1922,3),(1927,3),(1930,3),(1937,3),(1948,3),(1950,3),(1951,3),(1952,3),(1958,3),(1960,3),(1973,3),(1998,3),(1999,3),(2003,3),(2004,3),(2016,3),(2017,3),(2025,3),(2027,3),(2038,3),(2055,3),(2057,3),(2071,3),(2074,3),(2075,3),(2083,3),(2085,3),(2091,3),(2109,3),(2120,3),(2127,3),(2129,3),(2133,3),(2137,3),(2148,3),(2171,3),(2179,3),(2184,3),(2189,3),(2204,3),(2206,3),(2225,3),(2227,3),(2231,3),(2233,3),(2244,3),(2251,3),(2261,3),(2264,3),(2267,3),(2268,3),(2275,3),(2277,3),(2279,3),(2280,3),(2284,3),(2300,3),(2304,3),(2307,3),(2309,3),(2317,3),(2323,3),(2330,3),(2338,3),(2340,3),(2341,3),(2345,3),(2349,3),(2362,3),(2363,3),(2368,3),(2374,3),(2377,3),(2380,3),(2401,3),(2414,3),(2432,3),(2433,3),(2435,3),(2440,3),(2450,3),(2457,3),(2464,3),(2465,3),(2466,3),(2468,3),(2471,3),(2490,3),(2492,3),(2510,3),(2514,3),(2519,3),(2520,3),(2521,3),(2528,3),(2529,3),(2543,3),(2547,3),(2556,3),(2557,3),(2575,3),(2582,3),(2588,3),(2589,3),(2592,3),(2594,3),(2597,3),(2617,3),(2620,3),(2625,3),(2629,3),(2630,3),(2633,3),(2636,3),(2641,3),(2655,3),(2659,3),(2663,3),(2666,3),(2672,3),(2680,3),(2689,3),(2692,3),(2697,3),(2702,3),(2704,3),(2709,3),(2729,3),(2737,3),(2738,3),(2740,3),(2749,3),(2763,3),(2768,3),(2782,3),(2785,3),(2788,3),(2797,3),(2809,3),(2811,3),(2816,3),(2824,3),(2848,3),(2850,3),(2851,3),(2853,3),(2855,3),(2863,3),(2867,3),(2875,3),(2879,3),(2886,3),(2893,3),(2901,3),(2912,3),(2918,3),(2929,3),(2947,3),(2959,3),(2961,3),(2962,3),(2966,3),(2969,3),(2986,3),(2987,3),(2997,3),(3002,3),(3024,3),(3025,3),(3028,3),(3046,3),(3052,3),(3057,3),(3061,3),(3069,3),(3078,3),(3083,3),(3097,3),(3108,3),(3110,3),(3113,3),(3115,3),(3125,3),(3126,3),(3140,3),(3141,3),(3161,3),(3166,3),(3172,3),(3176,3),(3177,3),(3187,3),(3193,3),(3194,3),(3203,3),(3208,3),(3211,3),(3217,3),(3219,3),(3229,3),(3234,3),(3254,3),(3256,3),(3257,3),(3265,3),(3268,3),(3274,3),(3279,3),(3282,3),(3286,3),(3290,3),(3291,3),(3294,3),(3317,3),(3327,3),(3330,3),(3350,3),(3354,3),(3357,3),(3367,3),(3374,3),(3375,3),(3391,3),(3402,3),(3408,3),(3413,3),(3423,3),(3424,3),(3429,3),(3434,3),(3457,3),(3459,3),(3462,3),(3469,3),(3472,3),(3477,3),(3478,3),(3496,3),(3505,3),(3511,3),(3513,3),(3514,3),(3534,3),(3537,3),(3538,3),(3547,3),(3555,3),(3558,3),(3562,3),(3583,3),(3589,3),(3591,3),(3594,3),(3603,3),(3630,3),(3632,3),(3638,3),(3640,3),(3645,3),(3651,3),(3655,3),(3657,3),(3659,3),(3672,3),(3675,3),(3680,3),(3681,3),(3682,3),(3683,3),(3688,3),(3699,3),(3705,3),(3706,3),(3708,3),(3710,3),(3718,3),(3726,3),(3728,3),(3733,3),(3734,3),(3739,3),(3746,3),(3749,3),(3751,3),(3752,3),(3754,3),(3756,3),(3759,3),(3766,3),(3770,3),(3784,3),(3785,3),(3796,3),(3800,3),(3803,3),(3811,3),(3812,3),(3819,3),(3828,3),(3830,3),(3832,3),(3833,3),(3834,3),(3839,3),(3840,3),(3841,3),(3843,3),(3852,3),(3854,3),(3855,3),(3867,3),(3884,3),(3891,3),(3892,3),(3897,3),(3906,3),(3913,3),(3930,3),(3932,3),(3939,3),(3942,3),(3943,3),(3952,3),(3957,3),(3958,3),(3967,3),(3970,3),(3979,3),(3982,3),(4014,3),(4016,3),(4023,3),(4027,3),(4029,3),(4042,3),(4045,3),(4066,3),(4094,3),(4100,3),(4101,3),(4102,3),(4124,3),(4131,3),(4132,3),(4139,3),(4145,3),(4152,3),(4153,3),(4161,3),(4169,3),(4170,3),(4173,3),(4178,3),(4179,3),(4182,3),(4188,3),(4195,3),(4196,3),(4203,3),(4205,3),(4221,3),(4246,3),(4250,3),(4260,3),(4262,3),(4280,3),(4282,3),(4292,3),(4293,3),(4300,3),(4308,3),(4310,3),(4313,3),(4323,3),(4352,3),(4356,3),(4362,3),(4384,3),(4405,3),(4407,3),(4417,3),(4425,3),(4432,3),(4445,3),(4451,3),(4455,3),(4468,3),(4471,3),(4476,3),(4488,3),(4491,3),(4493,3),(4495,3),(4501,3),(4502,3),(4504,3),(4505,3),(4513,3),(4515,3),(4519,3),(4530,3),(4532,3),(4535,3),(4537,3),(4538,3),(4539,3),(4547,3),(4548,3),(4552,3),(4555,3),(4562,3),(4568,3),(4574,3),(4590,3),(4594,3),(4603,3),(4605,3),(4613,3),(4634,3),(4641,3),(4645,3),(4657,3),(4670,3),(4673,3),(4674,3),(4677,3),(4679,3),(4684,3),(4688,3),(4696,3),(4703,3),(4704,3),(4707,3),(4714,3),(4720,3),(4729,3),(4731,3),(4733,3),(4734,3),(4736,3),(4738,3),(4757,3),(4761,3),(4767,3),(4770,3),(4774,3),(4777,3),(4778,3),(4783,3),(4797,3),(4801,3),(4806,3),(4810,3),(4815,3),(4816,3),(4825,3),(4837,3),(4845,3),(4858,3),(4859,3),(4867,3),(4878,3),(4883,3),(4885,3),(4894,3),(4903,3),(4904,3),(4910,3),(4926,3),(4927,3),(4932,3),(4933,3),(4949,3),(4957,3),(4965,3),(4970,3),(4975,3),(4982,3),(4987,3),(4997,3),(5005,3),(5013,3),(5019,3),(5020,3),(5023,3),(5025,3),(5030,3),(5032,3),(5033,3),(5043,3),(5060,3),(5061,3),(5063,3),(5071,3),(5099,3),(5108,3),(5114,3),(5119,3),(5121,3),(5123,3),(5126,3),(5129,3),(5131,3),(5135,3),(5141,3),(5143,3),(5145,3),(5155,3),(5179,3),(5182,3),(5190,3),(5192,3),(5197,3),(5198,3),(5201,3),(5202,3),(5204,3),(5214,3),(5217,3),(5223,3),(5226,3),(5228,3),(5239,3),(5242,3),(5243,3),(5244,3),(5255,3),(5264,3),(5279,3),(5291,3),(5294,3),(5298,3),(5299,3),(5300,3),(5305,3),(5309,3),(5314,3),(5318,3),(5319,3),(5320,3),(5322,3),(5325,3),(5329,3),(5330,3),(5331,3),(5345,3),(5350,3),(5358,3),(5366,3),(5369,3),(5372,3),(5381,3),(5384,3),(5386,3),(5387,3),(5390,3),(5398,3),(5401,3),(5404,3),(5407,3),(5408,3),(5414,3),(5418,3),(5420,3),(5429,3),(5431,3),(5443,3),(5452,3),(5454,3),(5456,3),(5474,3),(5475,3),(5479,3),(5495,3),(5500,3),(5507,3),(5516,3),(5518,3),(5520,3),(5525,3),(5535,3),(5546,3),(5547,3),(5551,3),(5560,3),(5563,3),(5564,3),(5566,3),(5596,3),(5599,3),(5600,3),(5611,3),(5620,3),(5644,3),(5645,3),(5646,3),(5653,3),(5655,3),(5657,3),(5661,3),(5667,3),(5684,3),(5687,3),(5689,3),(5692,3),(5694,3),(5714,3),(5727,3),(5728,3),(5729,3),(5741,3),(5764,3),(5771,3),(5775,3),(5776,3),(5778,3),(5785,3),(5791,3),(5794,3),(5795,3),(5808,3),(5812,3),(5825,3),(5829,3),(5832,3),(5835,3),(5838,3),(5846,3),(5853,3),(5858,3),(5870,3),(5871,3),(5882,3),(5884,3),(5887,3),(5891,3),(5892,3),(5901,3),(5909,3),(5916,3),(5939,3),(5952,3),(5958,3),(5963,3),(5973,3),(5977,3),(5978,3),(5979,3),(5992,3),(5996,3),(5997,3),(6007,3),(6009,3),(6016,3),(6017,3),(6019,3),(6030,3),(6032,3),(6034,3),(6041,3),(6042,3),(6047,3),(6062,3),(6073,3),(6086,3),(6104,3),(6105,3),(6108,3),(6109,3),(6111,3),(6114,3),(6126,3),(6128,3),(6136,3),(6137,3),(6159,3),(6169,3),(6172,3),(6176,3),(6179,3),(6182,3),(6186,3),(6193,3),(6213,3),(6227,3),(6228,3),(6229,3),(6234,3),(6256,3),(6257,3),(6264,3),(6272,3),(6273,3),(6278,3),(6279,3),(6282,3),(6289,3),(6302,3),(6310,3),(6313,3),(6314,3),(6321,3),(6324,3),(6333,3),(6337,3),(6350,3),(6352,3),(6357,3),(6358,3),(6369,3),(6372,3),(6375,3),(6390,3),(6391,3),(6395,3),(6398,3),(6399,3),(6401,3),(6402,3),(6405,3),(6407,3),(6413,3),(6421,3),(6428,3),(6430,3),(6431,3),(6441,3),(6444,3),(6447,3),(6450,3),(6456,3),(6470,3),(6479,3),(6491,3),(6494,3),(6501,3),(6503,3),(6511,3),(6513,3),(6514,3),(6524,3),(6531,3),(6537,3),(6539,3),(6541,3),(6545,3),(6546,3),(6552,3),(6555,3),(6558,3),(6567,3),(6568,3),(6571,3),(6572,3),(6573,3),(6583,3),(6588,3),(6593,3),(6600,3),(6601,3),(6607,3),(6608,3),(6612,3),(6638,3),(6641,3),(6647,3),(6671,3),(6675,3),(6689,3),(6691,3),(6693,3),(6709,3),(6714,3),(6719,3),(6720,3),(6725,3),(6742,3),(6752,3),(6767,3),(6770,3),(6773,3),(6780,3),(6807,3),(6813,3),(6815,3),(6818,3),(6823,3),(6824,3),(6828,3),(6832,3),(6843,3),(6866,3),(6885,3),(6894,3),(6899,3),(6901,3),(6907,3),(6909,3),(6910,3),(6917,3),(6929,3),(6939,3),(6940,3),(6943,3),(6950,3),(6954,3),(6961,3),(6971,3),(6975,3),(6979,3),(6983,3),(7006,3),(7022,3),(7031,3),(7033,3),(7036,3),(7042,3),(7055,3),(7067,3),(7074,3),(7075,3),(7086,3),(7087,3),(7108,3),(7113,3),(7115,3),(7120,3),(7122,3),(7127,3),(7130,3),(7131,3),(7135,3),(7141,3),(7158,3),(7167,3),(7176,3),(7181,3),(7199,3),(7202,3),(7204,3),(7213,3),(7223,3),(7227,3),(7255,3),(7257,3),(7265,3),(7269,3),(7271,3),(7287,3),(7292,3),(7300,3),(7301,3),(7325,3),(7329,3),(7330,3),(7337,3),(7341,3),(7349,3),(7363,3),(7373,3),(7375,3),(7378,3),(7388,3),(7398,3),(7400,3),(7418,3),(7419,3),(7421,3),(7424,3),(7425,3),(7427,3),(7430,3),(7433,3),(7434,3),(7435,3),(7439,3),(7442,3),(7456,3),(7461,3),(7463,3),(7467,3),(7479,3),(7480,3),(7482,3),(7484,3),(7494,3),(7498,3),(7500,3),(7509,3),(7513,3),(7518,3),(7530,3),(7533,3),(7539,3),(7554,3),(7558,3),(7567,3),(7571,3),(7577,3),(7590,3),(7592,3),(7594,3),(7601,3),(7602,3),(7607,3),(7638,3),(7640,3),(7648,3),(7650,3),(7653,3),(7658,3),(7668,3),(7673,3),(7683,3),(7686,3),(7694,3),(7695,3),(7697,3),(7699,3),(7703,3),(7705,3),(7719,3),(7723,3),(7728,3),(7733,3),(7735,3),(7737,3),(7750,3),(7764,3),(7775,3),(7794,3),(7796,3),(7800,3),(7804,3),(7808,3),(7810,3),(7818,3),(7820,3),(7822,3),(7829,3),(7832,3),(7838,3),(7844,3),(7876,3),(7877,3),(7882,3),(7887,3),(7892,3),(7895,3),(7897,3),(7907,3),(7909,3),(7910,3),(7911,3),(7918,3),(7919,3),(7921,3),(7927,3),(7946,3),(7947,3),(7954,3),(7972,3),(7975,3),(7976,3),(7978,3),(7979,3),(7981,3),(7989,3),(7998,3),(8001,3),(8007,3),(8009,3),(8029,3),(8030,3),(8042,3),(8055,3),(8065,3),(8074,3),(8076,3),(8092,3),(8093,3),(8112,3),(8129,3),(8131,3),(8132,3),(8136,3),(8137,3),(8158,3),(8167,3),(8172,3),(8181,3),(8182,3),(8201,3),(8202,3),(8207,3),(8212,3),(8213,3),(8218,3),(8227,3),(8228,3),(8245,3),(8249,3),(8252,3),(8259,3),(8262,3),(8274,3),(8292,3),(8302,3),(8308,3),(8310,3),(8311,3),(8312,3),(8314,3),(8315,3),(8319,3),(8321,3),(8332,3),(8337,3),(8339,3),(8354,3),(8356,3),(8361,3),(8362,3),(8364,3),(8368,3),(8373,3),(8375,3),(8381,3),(8384,3),(8388,3),(8406,3),(8409,3),(8413,3),(8414,3),(8427,3),(8433,3),(8434,3),(8436,3),(8438,3),(8440,3),(8444,3),(8447,3),(8464,3),(8490,3),(8497,3),(8509,3),(8528,3),(8529,3),(8530,3),(8531,3),(8533,3),(8536,3),(8537,3),(8538,3),(8543,3),(8562,3),(8569,3),(8572,3),(8579,3),(8584,3),(8591,3),(8592,3),(8599,3),(8609,3),(8613,3),(8624,3),(8625,3),(8633,3),(8634,3),(8639,3),(8642,3),(8650,3),(8652,3),(8654,3),(8657,3),(8660,3),(8666,3),(8669,3),(8670,3),(8671,3),(8672,3),(8678,3),(8681,3),(8682,3),(8684,3),(8686,3),(8688,3),(8701,3),(8710,3),(8711,3),(8719,3),(8721,3),(8723,3),(8725,3),(8730,3),(8734,3),(8735,3),(8750,3),(8755,3),(8758,3),(8760,3),(8779,3),(8784,3),(8787,3),(8789,3),(8795,3),(8798,3),(8804,3),(8805,3),(8809,3),(8811,3),(8816,3),(8819,3),(8823,3),(8832,3),(8841,3),(8853,3),(8855,3),(8868,3),(8870,3),(8873,3),(8881,3),(8885,3),(8887,3),(8905,3),(8922,3),(8923,3),(8927,3),(8930,3),(8934,3),(8937,3),(8943,3),(8945,3),(8948,3),(8953,3),(8974,3),(8983,3),(8998,3),(9002,3),(9006,3),(9009,3),(9013,3),(9017,3),(9019,3),(9033,3),(9035,3),(9043,3),(9050,3),(9055,3),(9056,3),(9057,3),(9066,3),(9069,3),(9079,3),(9082,3),(9087,3),(9093,3),(9097,3),(9106,3),(9123,3),(9126,3),(9134,3),(9140,3),(9147,3),(9162,3),(9163,3),(9165,3),(9174,3),(9177,3),(9181,3),(9191,3),(9200,3),(9203,3),(9207,3),(9215,3),(9229,3),(9232,3),(9234,3),(9243,3),(9248,3),(9250,3),(9253,3),(9257,3),(9262,3),(9271,3),(9289,3),(9291,3),(9311,3),(9315,3),(9316,3),(9324,3),(9330,3),(9336,3),(9341,3),(9357,3),(9358,3),(9375,3),(9378,3),(9380,3),(9403,3),(9404,3),(9412,3),(9415,3),(9416,3),(9423,3),(9424,3),(9438,3),(9446,3),(9453,3),(9456,3),(9469,3),(9478,3),(9479,3),(9480,3),(9482,3),(9486,3),(9487,3),(9490,3),(9491,3),(9500,3),(9509,3),(9512,3),(9521,3),(9524,3),(9528,3),(9545,3),(9559,3),(9567,3),(9568,3),(9575,3),(9576,3),(9591,3),(9599,3),(9604,3),(9616,3),(9621,3),(9638,3),(9645,3),(9647,3),(9652,3),(9659,3),(9673,3),(9680,3),(9686,3),(9699,3),(9700,3),(9702,3),(9709,3),(9716,3),(9734,3),(9741,3),(9742,3),(9753,3),(9754,3),(9756,3),(9762,3),(9770,3),(9772,3),(9777,3),(9779,3),(9780,3),(9786,3),(9789,3),(9792,3),(9796,3),(9801,3),(9804,3),(9856,3),(9857,3),(9871,3),(9878,3),(9885,3),(9886,3),(9887,3),(9912,3),(9918,3),(9919,3),(9924,3),(9927,3),(9930,3),(9934,3),(9949,3),(9957,3),(9964,3),(9968,3),(9972,3),(9975,3),(9977,3),(9984,3),(9994,3),(9998,3),(10000,3),(10003,3),(10012,3),(10019,3),(10021,3),(10024,3),(10031,3),(10037,3),(10038,3),(10042,3),(10043,3),(10049,3),(10053,3),(10057,3),(10058,3),(10070,3),(10077,3),(10078,3),(10083,3),(10087,3),(10088,3),(10091,3),(10093,3),(10115,3),(10116,3),(10117,3),(10119,3),(10128,3),(10133,3),(10147,3),(10149,3),(10157,3),(10163,3),(10171,3),(10195,3),(10197,3),(10199,3),(10203,3),(10204,3),(10208,3),(10217,3),(10227,3),(10231,3),(10237,3),(10248,3),(10263,3),(10265,3),(10269,3),(10271,3),(10278,3),(10286,3),(10289,3),(10294,3),(10296,3),(10298,3),(10307,3),(10308,3),(10320,3),(10321,3),(10322,3),(10328,3),(10332,3),(10341,3),(10343,3),(10348,3),(10350,3),(10370,3),(10372,3),(10390,3),(10391,3),(10397,3),(10405,3),(10406,3),(10410,3),(10414,3),(10421,3),(10423,3),(10426,3),(10427,3),(10430,3),(10437,3),(10453,3),(10457,3),(10462,3),(10470,3),(10477,3),(10478,3),(10485,3),(10489,3),(10494,3),(10497,3),(10503,3),(10517,3),(10521,3),(10528,3),(10533,3),(10538,3),(10542,3),(10544,3),(10546,3),(10550,3),(10555,3),(10565,3),(10572,3),(10573,3),(10575,3),(10576,3),(10577,3),(10581,3),(10586,3),(10587,3),(10588,3),(10590,3),(10600,3),(10603,3),(10604,3),(10605,3),(10628,3),(10646,3),(10657,3),(10665,3),(10670,3),(10672,3),(10695,3),(10697,3),(10701,3),(10702,3),(10715,3),(10738,3),(10766,3),(10770,3),(10771,3),(10773,3),(10779,3),(10786,3),(10787,3),(10789,3),(10791,3),(10796,3),(10798,3),(10799,3),(10806,3),(10812,3),(10817,3),(10819,3),(10823,3),(10824,3),(10831,3),(10838,3),(10839,3),(10840,3),(10848,3),(10850,3),(10854,3),(10866,3),(10868,3),(10870,3),(10878,3),(10886,3),(10887,3),(10900,3),(10908,3),(10909,3),(10911,3),(10928,3),(10931,3),(10932,3),(10944,3),(10951,3),(10954,3),(10958,3),(10962,3),(10970,3),(10971,3),(10979,3),(10980,3),(10991,3),(10994,3),(11000,3),(11004,3),(11012,3),(11025,3),(11026,3),(11034,3),(11035,3),(11038,3),(11042,3),(11056,3),(11063,3),(11073,3),(11080,3),(11115,3),(11123,3),(11131,3),(11133,3),(11137,3),(11155,3),(11158,3),(11159,3),(11160,3),(11168,3),(11169,3),(11181,3),(11183,3),(11185,3),(11187,3),(11192,3),(11198,3),(11199,3),(11200,3),(11204,3),(11221,3),(11223,3),(11227,3),(11230,3),(11234,3),(11236,3),(11238,3),(11240,3),(11245,3),(11251,3),(11253,3),(11259,3),(11262,3),(11263,3),(11269,3),(11272,3),(11279,3),(11283,3),(11285,3),(11290,3),(11296,3),(11298,3),(11317,3),(11318,3),(11335,3),(11343,3),(11347,3),(11361,3),(11366,3),(11371,3),(11374,3),(11377,3),(11382,3),(11384,3),(11394,3),(11395,3),(11399,3),(11402,3),(11404,3),(11406,3),(11407,3),(11417,3),(11423,3),(11429,3),(11446,3),(11453,3),(11454,3),(11455,3),(11458,3),(11463,3),(11473,3),(11486,3),(11487,3),(11492,3),(11501,3),(11506,3),(11507,3),(11513,3),(11527,3),(11543,3),(11557,3),(11559,3),(11569,3),(11584,3),(11585,3),(11586,3),(11588,3),(11602,3),(11610,3),(11611,3),(11627,3),(11636,3),(11646,3),(11652,3),(11653,3),(11657,3),(11658,3),(11661,3),(11668,3),(11671,3),(11674,3),(11675,3),(11676,3),(11681,3),(11684,3),(11695,3),(11704,3),(11707,3),(11719,3),(11720,3),(11732,3),(11737,3),(11738,3),(11740,3),(11744,3),(11745,3),(11748,3),(11750,3),(11757,3),(11763,3),(11772,3),(11776,3),(11785,3),(11808,3),(11817,3),(11820,3),(11825,3),(11826,3),(11827,3),(11831,3),(11833,3),(11834,3),(11840,3),(11847,3),(11848,3),(11851,3),(11873,3),(11884,3),(11886,3),(11892,3),(11893,3),(11894,3),(11896,3),(11903,3),(11907,3),(11908,3),(11917,3),(11923,3),(11924,3),(11934,3),(11953,3),(11955,3),(11958,3),(11986,3),(11994,3),(11995,3),(12007,3),(12010,3),(12013,3),(12024,3),(12025,3),(12031,3),(12039,3),(12042,3),(12043,3),(12051,3),(12052,3),(12056,3),(12061,3),(12065,3),(12070,3),(12072,3),(12073,3),(12076,3),(12090,3),(12092,3),(12096,3),(12097,3),(12106,3),(12112,3),(12118,3),(12120,3),(12121,3),(12134,3),(12142,3),(12144,3),(12147,3),(12152,3),(12155,3),(12164,3),(12172,3),(12177,3),(12178,3),(12181,3),(12193,3),(12200,3),(12203,3),(12211,3),(12220,3),(12228,3),(12239,3),(12245,3),(12249,3),(12252,3),(12255,3),(12260,3),(12261,3),(12272,3),(12285,3),(12287,3),(12297,3),(12299,3),(12308,3),(12309,3),(12338,3),(12339,3),(12343,3),(12345,3),(12348,3),(12355,3),(12360,3),(12363,3),(12365,3),(12370,3),(12374,3),(12381,3),(12383,3),(12388,3),(12389,3),(12390,3),(12398,3),(12412,3),(12417,3),(12427,3),(12439,3),(12440,3),(12443,3),(12456,3),(12461,3),(12462,3),(12464,3),(12465,3),(12467,3),(12488,3),(12490,3),(12508,3),(12509,3),(12515,3),(12528,3),(12531,3),(12540,3),(12552,3),(12553,3),(12557,3),(12561,3),(12565,3),(12567,3),(12582,3),(12592,3),(12594,3),(12599,3),(12612,3),(12622,3),(12625,3),(12630,3),(12639,3),(12645,3),(12646,3),(12651,3),(12655,3),(12656,3),(12664,3),(12665,3),(12667,3),(12671,3),(12677,3),(12679,3),(12688,3),(12695,3),(12698,3),(12704,3),(12716,3),(12728,3),(12748,3),(12763,3),(12768,3),(12770,3),(12771,3),(12772,3),(12775,3),(12780,3),(12783,3),(12785,3),(12789,3),(12798,3),(12801,3),(12803,3),(12811,3),(12816,3),(12829,3),(12837,3),(12840,3),(12841,3),(12847,3),(12849,3),(12858,3),(12864,3),(12867,3),(12877,3),(12882,3),(12883,3),(12888,3),(12897,3),(12898,3),(12904,3),(12911,3),(12923,3),(12925,3),(12931,3),(12932,3),(12934,3),(12935,3),(12953,3),(12959,3),(12965,3),(12968,3),(12969,3),(12973,3),(12974,3),(12977,3),(12981,3),(12984,3),(12990,3),(12991,3),(13024,3),(13032,3),(13050,3),(13063,3),(13070,3),(13073,3),(13089,3),(13125,3),(13128,3),(13132,3),(13147,3),(13148,3),(13150,3),(13160,3),(13184,3),(13218,3),(13240,3),(13242,3),(13253,3),(13256,3),(13257,3),(13258,3),(13263,3),(13264,3),(13273,3),(13284,3),(13295,3),(13298,3),(13300,3),(13305,3),(13306,3),(13320,3),(13324,3),(13332,3),(13337,3),(13339,3),(13340,3),(13348,3),(13349,3),(13359,3),(13362,3),(13363,3),(13373,3),(13379,3),(13382,3),(13383,3),(13385,3),(13391,3),(13396,3),(13399,3),(13401,3),(13406,3),(13407,3),(13410,3),(13413,3),(13415,3),(13421,3),(13425,3),(13430,3),(13439,3),(13441,3),(13443,3),(13447,3),(13461,3),(13480,3),(13485,3),(13487,3),(13499,3),(13500,3),(13503,3),(13512,3),(13516,3),(13522,3),(13523,3),(13525,3),(13531,3),(13538,3),(13558,3),(13561,3),(13568,3),(13573,3),(13587,3),(13589,3),(13591,3),(13601,3),(13603,3),(13607,3),(13608,3),(13615,3),(13617,3),(13618,3),(13620,3),(13623,3),(13653,3),(13657,3),(13664,3),(13668,3),(13671,3),(13674,3),(13676,3),(13677,3),(13686,3),(13687,3),(13691,3),(13694,3),(13696,3),(13714,3),(13716,3),(13717,3),(13722,3),(13731,3),(13748,3),(13762,3),(13767,3),(13769,3),(13777,3),(13807,3),(13812,3),(13817,3),(13819,3),(13832,3),(13839,3),(13840,3),(13851,3),(13860,3),(13866,3),(13883,3),(13899,3),(13910,3),(13911,3),(13919,3),(13930,3),(13935,3),(13942,3),(13946,3),(13947,3),(13949,3),(13955,3),(13975,3),(13985,3),(13995,3),(13996,3),(14004,3),(14005,3),(14006,3),(14009,3),(14012,3),(14018,3),(14023,3),(14029,3),(14032,3),(14053,3),(14056,3),(14061,3),(14063,3),(14068,3),(14072,3),(14075,3),(14079,3),(14081,3),(14086,3),(14096,3),(14097,3),(14098,3),(14101,3),(14102,3),(14104,3),(14112,3),(14124,3),(14126,3),(14129,3),(14135,3),(14136,3),(14139,3),(14148,3),(14156,3),(14160,3),(14175,3),(14186,3),(14187,3),(14189,3),(14198,3),(14201,3),(14204,3),(14205,3),(14210,3),(14215,3),(14223,3),(14233,3),(14239,3),(14253,3),(14255,3),(14260,3),(14266,3),(14270,3),(14283,3),(14296,3),(14297,3),(14301,3),(14303,3),(14307,3),(14317,3),(14325,3),(14332,3),(14334,3),(14335,3),(14339,3),(14340,3),(14345,3),(14350,3),(14353,3),(14354,3),(14359,3),(14360,3),(14365,3),(14372,3),(14377,3),(14384,3),(14389,3),(14395,3),(14397,3),(14402,3),(14406,3),(14412,3),(14415,3),(14423,3),(14434,3),(14450,3),(14453,3),(14457,3),(14458,3),(14459,3),(14464,3),(14478,3),(14483,3),(14486,3),(14488,3),(14490,3),(14492,3),(14495,3),(14497,3),(14499,3),(14501,3),(14505,3),(14521,3),(14528,3),(14530,3),(14531,3),(14534,3),(14539,3),(14540,3),(14554,3),(14555,3),(14573,3),(14577,3),(14587,3),(14588,3),(14595,3),(14597,3),(14601,3),(14616,3),(14622,3),(14631,3),(14633,3),(14637,3),(14653,3),(14657,3),(14660,3),(14669,3),(14671,3),(14674,3),(14677,3),(14681,3),(14688,3),(14693,3),(14695,3),(14705,3),(14706,3),(14707,3),(14719,3),(14723,3),(14725,3),(14730,3),(14733,3),(14736,3),(14737,3),(14746,3),(14751,3),(14761,3),(14773,3),(14774,3),(14778,3),(14789,3),(14792,3),(14796,3),(14799,3),(14802,3),(14808,3),(14828,3),(14829,3),(14831,3),(14846,3),(14848,3),(14852,3),(14874,3),(14876,3),(14888,3),(14891,3),(14906,3),(14907,3),(14918,3),(14923,3),(14924,3),(14938,3),(14942,3),(14949,3),(14960,3),(14973,3),(14979,3),(14985,3),(14995,3),(15009,3),(15013,3),(15015,3),(15021,3),(15024,3),(15028,3),(15034,3),(15036,3),(15043,3),(15048,3),(15052,3),(15054,3),(15056,3),(15058,3),(15065,3),(15076,3),(15083,3),(15085,3),(15092,3),(15094,3),(15097,3),(15098,3),(15102,3),(15103,3),(15104,3),(15111,3),(15112,3),(15116,3),(15131,3),(15136,3),(15138,3),(15140,3),(15159,3),(15165,3),(15172,3),(15177,3),(15184,3),(15189,3),(15204,3),(15216,3),(15225,3),(15231,3),(15232,3),(15237,3),(15238,3),(15240,3),(15246,3),(15248,3),(15251,3),(15258,3),(15259,3),(15266,3),(15276,3),(15282,3),(15297,3),(15310,3),(15327,3),(15331,3),(15335,3),(15338,3),(15339,3),(15346,3),(15348,3),(15354,3),(15363,3),(15364,3),(15371,3),(15378,3),(15388,3),(15389,3),(15393,3),(15415,3),(15417,3),(15418,3),(15423,3),(15437,3),(15442,3),(15443,3),(15457,3),(15464,3),(15473,3),(15486,3),(15490,3),(15495,3),(15502,3),(15505,3),(15511,3),(15518,3),(15519,3),(15551,3),(15556,3),(15558,3),(15559,3),(15565,3),(15566,3),(15579,3),(15584,3),(15587,3),(15593,3),(15619,3),(15627,3),(15631,3),(15639,3),(15644,3),(15646,3),(15648,3),(15649,3),(15653,3),(15655,3),(15667,3),(15675,3),(15688,3),(15696,3),(15698,3),(15710,3),(15714,3),(15715,3),(15721,3),(15725,3),(15746,3),(15748,3),(15755,3),(15757,3),(15759,3),(15762,3),(15764,3),(15770,3),(15771,3),(15797,3),(15804,3),(15808,3),(15810,3),(15820,3),(15838,3),(15839,3),(15852,3),(15854,3),(15859,3),(15862,3),(15867,3),(15871,3),(15883,3),(15888,3),(15892,3),(15906,3),(15907,3),(15912,3),(15913,3),(15914,3),(15922,3),(15949,3),(15953,3),(15954,3),(15961,3),(15965,3),(15968,3),(15979,3),(15983,3),(15986,3),(15988,3),(15990,3),(16014,3),(16022,3),(16026,3),(16038,3),(16041,3),(16047,3),(16050,3),(16056,3),(16058,3),(16071,3),(16073,3),(16087,3),(16096,3),(16104,3),(16122,3),(16123,3),(16130,3),(16154,3),(16155,3),(16167,3),(16170,3),(16173,3),(16181,3),(16186,3),(16191,3),(16206,3),(16208,3),(16211,3),(16212,3),(16216,3),(16218,3),(16232,3),(16241,3),(16244,3),(16249,3),(16258,3),(16259,3),(16264,3),(16278,3),(16282,3),(16294,3),(16301,3),(16302,3),(16306,3),(16307,3),(16308,3),(16309,3),(16312,3),(16329,3),(16337,3),(16339,3),(16343,3),(16345,3),(16346,3),(16360,3),(16369,3),(16372,3),(16373,3),(16378,3),(16384,3),(16386,3),(16394,3),(16398,3),(16405,3),(16409,3),(16414,3),(16422,3),(16434,3),(16436,3),(16441,3),(16446,3),(16449,3),(16453,3),(16456,3),(16465,3),(16470,3),(16491,3),(16496,3),(16505,3),(16509,3),(16518,3),(16522,3),(16536,3),(16540,3),(16542,3),(16543,3),(16566,3),(16567,3),(16576,3),(16585,3),(16589,3),(16596,3),(16597,3),(16598,3),(16603,3),(16604,3),(16605,3),(16619,3),(16631,3),(16635,3),(16647,3),(16651,3),(16652,3),(16654,3),(16659,3),(16669,3),(16683,3),(16688,3),(16690,3),(16694,3),(16697,3),(16700,3),(16703,3),(16712,3),(16717,3),(16721,3),(16723,3),(16724,3),(16729,3),(16732,3),(16735,3),(16740,3),(16743,3),(16757,3),(16758,3),(16768,3),(16780,3),(16784,3),(16789,3),(16791,3),(16797,3),(16800,3),(16803,3),(16805,3),(16807,3),(16808,3),(16809,3),(16821,3),(16835,3),(16839,3),(16850,3),(16852,3),(16853,3),(16854,3),(16868,3),(16881,3),(16889,3),(16909,3),(16918,3),(16921,3),(16930,3),(16935,3),(16951,3),(16963,3),(16969,3),(16975,3),(16983,3),(16989,3),(17019,3),(17023,3),(17032,3),(17034,3),(17068,3),(17070,3),(17076,3),(17091,3),(17092,3),(17097,3),(17098,3),(17110,3),(17115,3),(17117,3),(17129,3),(17130,3),(17131,3),(17141,3),(17151,3),(17161,3),(17169,3),(17189,3),(17191,3),(17196,3),(17197,3),(17199,3),(17208,3),(17221,3),(17227,3),(17233,3),(17235,3),(17236,3),(17238,3),(17239,3),(17242,3),(17251,3),(17267,3),(17268,3),(17274,3),(17278,3),(17283,3),(17292,3),(17305,3),(17309,3),(17311,3),(17319,3),(17327,3),(17333,3),(17345,3),(17351,3),(17359,3),(17379,3),(17385,3),(17391,3),(17395,3),(17418,3),(17432,3),(17438,3),(17453,3),(17455,3),(17456,3),(17459,3),(17463,3),(17468,3),(17469,3),(17470,3),(17474,3),(17477,3),(17479,3),(17482,3),(17488,3),(17492,3),(17493,3),(17497,3),(17509,3),(17529,3),(17536,3),(17544,3),(17554,3),(17556,3),(17560,3),(17566,3),(17575,3),(17586,3),(17615,3),(17648,3),(17649,3),(17650,3),(17651,3),(17658,3),(17662,3),(17675,3),(17684,3),(17695,3),(17702,3),(17709,3),(17713,3),(17716,3),(17726,3),(17727,3),(17733,3),(17737,3),(17739,3),(17754,3),(17768,3),(17775,3),(17779,3),(17780,3),(17789,3),(17799,3),(17801,3),(17805,3),(17807,3),(17808,3),(17828,3),(17830,3),(17837,3),(17839,3),(17845,3),(17858,3),(17865,3),(17875,3),(17877,3),(17898,3),(17915,3),(17917,3),(17922,3),(17928,3),(17929,3),(17934,3),(17939,3),(17944,3),(17945,3),(17960,3),(17973,3),(17975,3),(17977,3),(17986,3),(17999,3),(18003,3),(18007,3),(18019,3),(18027,3),(18028,3),(18034,3),(18038,3),(18040,3),(18042,3),(18047,3),(18051,3),(18065,3),(18070,3),(18077,3),(18081,3),(18083,3),(18086,3),(18093,3),(18094,3),(18097,3),(18098,3),(18110,3),(18114,3),(18125,3),(18135,3),(18139,3),(18153,3),(18154,3),(18179,3),(18187,3),(18190,3),(18194,3),(18199,3),(18204,3),(18205,3),(18207,3),(18227,3),(18250,3),(18254,3),(18257,3),(18263,3),(18265,3),(18271,3),(18282,3),(18283,3),(18285,3),(18304,3),(18313,3),(18327,3),(18343,3),(18345,3),(18353,3),(18354,3),(18358,3),(18362,3),(18365,3),(18366,3),(18374,3),(18375,3),(18377,3),(18383,3),(18385,3),(18402,3),(18404,3),(18405,3),(18407,3),(18416,3),(18420,3),(18427,3),(18428,3),(18430,3),(18432,3),(18438,3),(18443,3),(18446,3),(18450,3),(18457,3),(18460,3),(18461,3),(18476,3),(18480,3),(18491,3),(18498,3),(18501,3),(18511,3),(18519,3),(18520,3),(18524,3),(18525,3),(18532,3),(18534,3),(18538,3),(18571,3),(18573,3),(18581,3),(18583,3),(18584,3),(18588,3),(18592,3),(18599,3),(18611,3),(18612,3),(18622,3),(18623,3),(18629,3),(18630,3),(18633,3),(18634,3),(18644,3),(18649,3),(18662,3),(18667,3),(18671,3),(18672,3),(18676,3),(18678,3),(18690,3),(18696,3),(18700,3),(18701,3),(18712,3),(18714,3),(18715,3),(18719,3),(18721,3),(18758,3),(18760,3),(18773,3),(18774,3),(18778,3),(18779,3),(18786,3),(18798,3),(18801,3),(18803,3),(18810,3),(18815,3),(18820,3),(18825,3),(18829,3),(18830,3),(18842,3),(18845,3),(18854,3),(18857,3),(18860,3),(18863,3),(18866,3),(18867,3),(18880,3),(18896,3),(18899,3),(18902,3),(18912,3),(18920,3),(18921,3),(18928,3),(18930,3),(18950,3),(18958,3),(18960,3),(18961,3),(18964,3),(18965,3),(18978,3),(19021,3),(19027,3),(19030,3),(19031,3),(19033,3),(19036,3),(19039,3),(19042,3),(19048,3),(19056,3),(19064,3),(19066,3),(19069,3),(19070,3),(19104,3),(19125,3),(19127,3),(19131,3),(19135,3),(19137,3),(19141,3),(19159,3),(19162,3),(19165,3),(19171,3),(19172,3),(19175,3),(19176,3),(19179,3),(19193,3),(19195,3),(19208,3),(19215,3),(19223,3),(19239,3),(19251,3),(19268,3),(19270,3),(19295,3),(19296,3),(19301,3),(19305,3),(19306,3),(19317,3),(19318,3),(19331,3),(19332,3),(19337,3),(19354,3),(19357,3),(19359,3),(19364,3),(19368,3),(19376,3),(19380,3),(19381,3),(19385,3),(19387,3),(19388,3),(19409,3),(19414,3),(19419,3),(19424,3),(19427,3),(19430,3),(19432,3),(19434,3),(19435,3),(19460,3),(19463,3),(19467,3),(19469,3),(19476,3),(19478,3),(19481,3),(19482,3),(19486,3),(19494,3),(19501,3),(19507,3),(19511,3),(19517,3),(19519,3),(19523,3),(19524,3),(19526,3),(19527,3),(19528,3),(19529,3),(19531,3),(19532,3),(19566,3),(19576,3),(19577,3),(19582,3),(19587,3),(19592,3),(19594,3),(19595,3),(19601,3),(19602,3),(19604,3),(19607,3),(19611,3),(19613,3),(19614,3),(19619,3),(19621,3),(19623,3),(19632,3),(19636,3),(19649,3),(19650,3),(19655,3),(19662,3),(19663,3),(19664,3),(19694,3),(19700,3),(19709,3),(19713,3),(19723,3),(19724,3),(19725,3),(19727,3),(19730,3),(19731,3),(19735,3),(19737,3),(19745,3),(19746,3),(19751,3),(19753,3),(19754,3),(19762,3),(19765,3),(19785,3),(19789,3),(19790,3),(19791,3),(19792,3),(19803,3),(19805,3),(19812,3),(19813,3),(19820,3),(19835,3),(19836,3),(19842,3),(19843,3),(19848,3),(19855,3),(19860,3),(19867,3),(19871,3),(19872,3),(19874,3),(19880,3),(19886,3),(19887,3),(19897,3),(19898,3),(19912,3),(19914,3),(19926,3),(19931,3),(19954,3),(19958,3),(19965,3),(19969,3),(19983,3),(19988,3),(19989,3),(20006,3),(20016,3),(20019,3),(20020,3),(20023,3),(20028,3),(20030,3),(20032,3),(20037,3),(20044,3),(20047,3),(20057,3),(20058,3),(20069,3),(20076,3),(20082,3),(20083,3),(20089,3),(20093,3),(20099,3),(20102,3),(20103,3),(20104,3),(20106,3),(20107,3),(20113,3),(20121,3),(20127,3),(20128,3),(20137,3),(20161,3),(20162,3),(20164,3),(20166,3),(20171,3),(20178,3),(20180,3),(20191,3),(20198,3),(20219,3),(20222,3),(20238,3),(20239,3),(20243,3),(20246,3),(20259,3),(20262,3),(20297,3),(20298,3),(20311,3),(20314,3),(20315,3),(20320,3),(20322,3),(20323,3),(20329,3),(20340,3),(20343,3),(20355,3),(20359,3),(20360,3),(20369,3),(20370,3),(20382,3),(20383,3),(20384,3),(20388,3),(20395,3),(20407,3),(20421,3),(20430,3),(20431,3),(20438,3),(20439,3),(20465,3),(20471,3),(20484,3),(20485,3),(20495,3),(20500,3),(20507,3),(20508,3),(20513,3),(20525,3),(20527,3),(20528,3),(20558,3),(20563,3),(20571,3),(20573,3),(20588,3),(20596,3),(20598,3),(20602,3),(20627,3),(20653,3),(20673,3),(20675,3),(20685,3),(20709,3),(20710,3),(20715,3),(20720,3),(20724,3),(20725,3),(20727,3),(20728,3),(20731,3),(20734,3),(20736,3),(20740,3),(20742,3),(20752,3),(20753,3),(20754,3),(20762,3),(20763,3),(20771,3),(20772,3),(20780,3),(20781,3),(20782,3),(20785,3),(20795,3),(20796,3),(20807,3),(20808,3),(20816,3),(20819,3),(20820,3),(20827,3),(20847,3),(20851,3),(20856,3),(20861,3),(20869,3),(20878,3),(20901,3),(20909,3),(20910,3),(20913,3),(20926,3),(20927,3),(20930,3),(20933,3),(20936,3),(20952,3),(20953,3),(20959,3),(20960,3),(20962,3),(20977,3),(20982,3),(20983,3),(20985,3),(20987,3),(20991,3),(21000,3),(21001,3),(21003,3),(21009,3),(21020,3),(21023,3),(21040,3),(21053,3),(21055,3),(21057,3),(21064,3),(21069,3),(21085,3),(21091,3),(21092,3),(21099,3),(21101,3),(21103,3),(21113,3),(21114,3),(21118,3),(21124,3),(21127,3),(21129,3),(21141,3),(21146,3),(21155,3),(21166,3),(21173,3),(21182,3),(21195,3),(21196,3),(21199,3),(21205,3),(21209,3),(21214,3),(21215,3),(21223,3),(21229,3),(21236,3),(21239,3),(21240,3),(21242,3),(21243,3),(21247,3),(21250,3),(21254,3),(21264,3),(21265,3),(21267,3),(21268,3),(21277,3),(21284,3),(21287,3),(21293,3),(21298,3),(21306,3),(21307,3),(21309,3),(21311,3),(21317,3),(21318,3),(21344,3),(21346,3),(21364,3),(21365,3),(21367,3),(21371,3),(21372,3),(21382,3),(21383,3),(21400,3),(21402,3),(21404,3),(21409,3),(21417,3),(21425,3),(21431,3),(21432,3),(21436,3),(21441,3),(21446,3),(21450,3),(21462,3),(21463,3),(21466,3),(21469,3),(21473,3),(21478,3),(21479,3),(21491,3),(21495,3),(21496,3),(21498,3),(21502,3),(21505,3),(21508,3),(21512,3),(21532,3),(21535,3),(21556,3),(21561,3),(21565,3),(21570,3),(21576,3),(21585,3),(21586,3),(21590,3),(21595,3),(21596,3),(21598,3),(21599,3),(21602,3),(21606,3),(21609,3),(21611,3),(21616,3),(21617,3),(21622,3),(21623,3),(21625,3),(21626,3),(21633,3),(21641,3),(21655,3),(21658,3),(21661,3),(21669,3),(21687,3),(21702,3),(21706,3),(21714,3),(21718,3),(21725,3),(21729,3),(21731,3),(21734,3),(21741,3),(21754,3),(21767,3),(21779,3),(21780,3),(21788,3),(21793,3),(21797,3),(21798,3),(21806,3),(21812,3),(21813,3),(21818,3),(21824,3),(21825,3),(21827,3),(21836,3),(21845,3),(21861,3),(21865,3),(21866,3),(21879,3),(21891,3),(21915,3),(21916,3),(21928,3),(21938,3),(21942,3),(21950,3),(21955,3),(21959,3),(21965,3),(21968,3),(21973,3),(21975,3),(21983,3),(21985,3),(21991,3),(21992,3),(22001,3),(22003,3),(22013,3),(22016,3),(22019,3),(22022,3),(22036,3),(22044,3),(22046,3),(22048,3),(22049,3),(22050,3),(22051,3),(22055,3),(22057,3),(22074,3),(22078,3),(22088,3),(22089,3),(22099,3),(22105,3),(22108,3),(22109,3),(22118,3),(22120,3),(22123,3),(22124,3),(22137,3),(22153,3),(22170,3),(22177,3),(22186,3),(22196,3),(22204,3),(22206,3),(22207,3),(22208,3),(22216,3),(22219,3),(22228,3),(22233,3),(22235,3),(22242,3),(22244,3),(22249,3),(22257,3),(22259,3),(22260,3),(22264,3),(22267,3),(22269,3),(22270,3),(22273,3),(22279,3),(22282,3),(22284,3),(22287,3),(22291,3),(22296,3),(22301,3),(22311,3),(22314,3),(22316,3),(22318,3),(22320,3),(22323,3),(22331,3),(22332,3),(22337,3),(22338,3),(22339,3),(22346,3),(22350,3),(22357,3),(22363,3),(22365,3),(22368,3),(22384,3),(22393,3),(22401,3),(22402,3),(22437,3),(22438,3),(22447,3),(22454,3),(22461,3),(22485,3),(22502,3),(22510,3),(22521,3),(22523,3),(22533,3),(22538,3),(22545,3),(22546,3),(22549,3),(22555,3),(22556,3),(22557,3),(22564,3),(22565,3),(22573,3),(22574,3),(22575,3),(22576,3),(22593,3),(22596,3),(22599,3),(22601,3),(22602,3),(22604,3),(22606,3),(22612,3),(22629,3),(22643,3),(22647,3),(22650,3),(22654,3),(22661,3),(22662,3),(22668,3),(22675,3),(22682,3),(22686,3),(22696,3),(22701,3),(22703,3),(22708,3),(22723,3),(22725,3),(22734,3),(22736,3),(22739,3),(22742,3),(22758,3),(22761,3),(22767,3),(22774,3),(22775,3),(22792,3),(22805,3),(22806,3),(22807,3),(22810,3),(22814,3),(22815,3),(22817,3),(22818,3),(22836,3),(22838,3),(22840,3),(22864,3),(22869,3),(22870,3),(22881,3),(22883,3),(22886,3),(22897,3),(22900,3),(22905,3),(22913,3),(22914,3),(22928,3),(22929,3),(22931,3),(22933,3),(22938,3),(22944,3),(22946,3),(22950,3),(22953,3),(22968,3),(22980,3),(22987,3),(22988,3),(22990,3),(22993,3),(22995,3),(22998,3),(23000,3),(23004,3),(23020,3),(23022,3),(23027,3),(23033,3),(23034,3),(23042,3),(23045,3),(23051,3),(23053,3),(23057,3),(23077,3),(23082,3),(23086,3),(23087,3),(23098,3),(23099,3),(23100,3),(23102,3),(23107,3),(23121,3),(23123,3),(23125,3),(23129,3),(23138,3),(23139,3),(23150,3),(23162,3),(23165,3),(23173,3),(23177,3),(23185,3),(23189,3),(23194,3),(23200,3),(23207,3),(23210,3),(23217,3),(23221,3),(23223,3),(23228,3),(23230,3),(23235,3),(23242,3),(23254,3),(23259,3),(23261,3),(23269,3),(23271,3),(23278,3),(23281,3),(23292,3),(23297,3),(23311,3),(23313,3),(23322,3),(23323,3),(23345,3),(23352,3),(23353,3),(23360,3),(23364,3),(23368,3),(23371,3),(23372,3),(23374,3),(23381,3),(23382,3),(23385,3),(23393,3),(23406,3),(23411,3),(23414,3),(23415,3),(23425,3),(23427,3),(23434,3),(23439,3),(23446,3),(23454,3),(23458,3),(23461,3),(23463,3),(23465,3),(23477,3),(23484,3),(23491,3),(23505,3),(23513,3),(23520,3),(23527,3),(23529,3),(23530,3),(23533,3),(23551,3),(23564,3),(23565,3),(23573,3),(23591,3),(23592,3),(23594,3),(23598,3),(23601,3),(23625,3),(23626,3),(23627,3),(23635,3),(23637,3),(23638,3),(23645,3),(23653,3),(23659,3),(23674,3),(23679,3),(23682,3),(23702,3),(23720,3),(23728,3),(23737,3),(23738,3),(23740,3),(23758,3),(23765,3),(23766,3),(23770,3),(23771,3),(23774,3),(23780,3),(23782,3),(23789,3),(23793,3),(23798,3),(23802,3),(23804,3),(23808,3),(23809,3),(23812,3),(23819,3),(23834,3),(23835,3),(23839,3),(23850,3),(23861,3),(23865,3),(23871,3),(23878,3),(23880,3),(23888,3),(23900,3),(23903,3),(23907,3),(23909,3),(23915,3),(23922,3),(23923,3),(23926,3),(23931,3),(23932,3),(23933,3),(23936,3),(23954,3),(23958,3),(23962,3),(23965,3),(23972,3),(23984,3),(23986,3),(23994,3),(24000,3),(24004,3),(24013,3),(24018,3),(24021,3),(24025,3),(24027,3),(24031,3),(24051,3),(24067,3),(24074,3),(24076,3),(24080,3),(24083,3),(24092,3),(24102,3),(24123,3),(24144,3),(24146,3),(24148,3),(24159,3),(24162,3),(24174,3),(24182,3),(24187,3),(24194,3),(24196,3),(24200,3),(24201,3),(24202,3),(24207,3),(24216,3),(24223,3),(24226,3),(24228,3),(24242,3),(24247,3),(24250,3),(24257,3),(24261,3),(24262,3),(24276,3),(24300,3),(24302,3),(24307,3),(24309,3),(24315,3),(24317,3),(24321,3),(24328,3),(24329,3),(24331,3),(24332,3),(24340,3),(24347,3),(24355,3),(24358,3),(24366,3),(24370,3),(24376,3),(24379,3),(24382,3),(24389,3),(24394,3),(24397,3),(24403,3),(24416,3),(24417,3),(24427,3),(24430,3),(24437,3),(24444,3),(24447,3),(24449,3),(24457,3),(24468,3),(24481,3),(24490,3),(24491,3),(24492,3),(24493,3),(24494,3),(24504,3),(24505,3),(24510,3),(24513,3),(24523,3),(24525,3),(24529,3),(24530,3),(24539,3),(24541,3),(24549,3),(24551,3),(24556,3),(24561,3),(24564,3),(24566,3),(24574,3),(24575,3),(24582,3),(24591,3),(24592,3),(24599,3),(24601,3),(24602,3),(24609,3),(24630,3),(24631,3),(24641,3),(24651,3),(24652,3),(24654,3),(24661,3),(24673,3),(24675,3),(24676,3),(24682,3),(24687,3),(24694,3),(24695,3),(24720,3),(24733,3),(24740,3),(24752,3),(24753,3),(24756,3),(24758,3),(24761,3),(24762,3),(24765,3),(24768,3),(24773,3),(24778,3),(24785,3),(24791,3),(24797,3),(24804,3),(24819,3),(24824,3),(24829,3),(24834,3),(24835,3),(24842,3),(24844,3),(24851,3),(24852,3),(24855,3),(24882,3),(24892,3),(24899,3),(24901,3),(24902,3),(24908,3),(24922,3),(24925,3),(24927,3),(24934,3),(24935,3),(24938,3),(24940,3),(24941,3),(24942,3),(24943,3),(24952,3),(24984,3),(24993,3),(24999,3),(25003,3),(25012,3),(25021,3),(25024,3),(25038,3),(25042,3),(25051,3),(25053,3),(25056,3),(25062,3),(25063,3),(25069,3),(25075,3),(25076,3),(25091,3),(25096,3),(25104,3),(25105,3),(25115,3),(25117,3),(25125,3),(25128,3),(25129,3),(25133,3),(25137,3),(25138,3),(25147,3),(25159,3),(25160,3),(25164,3),(25177,3),(25178,3),(25181,3),(25184,3),(25186,3),(25189,3),(25190,3),(25206,3),(25220,3),(25254,3),(25255,3),(25265,3),(25270,3),(25286,3),(25300,3),(25303,3),(25323,3),(25330,3),(25335,3),(25339,3),(25340,3),(25345,3),(25351,3),(25355,3),(25366,3),(25370,3),(25379,3),(25385,3),(25386,3),(25389,3),(25392,3),(25393,3),(25404,3),(25411,3),(25414,3),(25415,3),(25421,3),(25435,3),(25442,3),(25445,3),(25448,3),(25453,3),(25458,3),(25462,3),(25484,3),(25488,3),(25494,3),(25502,3),(25506,3),(25510,3),(25514,3),(25538,3),(25542,3),(25543,3),(25549,3),(25555,3),(25568,3),(25571,3),(25575,3),(25579,3),(25584,3),(25590,3),(25594,3),(25599,3),(25604,3),(25610,3),(25612,3),(25613,3),(25618,3),(25622,3),(25636,3),(25642,3),(25648,3),(25653,3),(25655,3),(25662,3),(25669,3),(25670,3),(25674,3),(25678,3),(25687,3),(25705,3),(25714,3),(25718,3),(25732,3),(25741,3),(25756,3),(25763,3),(25766,3),(25775,3),(25787,3),(25791,3),(25801,3),(25803,3),(25807,3),(25808,3),(25811,3),(25836,3),(25850,3),(25873,3),(25876,3),(25885,3),(25886,3),(25899,3),(25907,3),(25909,3),(25914,3),(25916,3),(25918,3),(25949,3),(25962,3),(25969,3),(25974,3),(25978,3),(25991,3),(25996,3),(25999,3),(26003,3),(26008,3),(26010,3),(26031,3),(26034,3),(26037,3),(26040,3),(26041,3),(26043,3),(26050,3),(26057,3),(26060,3),(26062,3),(26063,3),(26076,3),(26086,3),(26087,3),(26096,3),(26108,3),(26116,3),(26117,3),(26118,3),(26121,3),(26122,3),(26137,3),(26146,3),(26149,3),(26153,3),(26164,3),(26170,3),(26172,3),(26177,3),(26188,3),(26189,3),(26198,3),(26207,3),(26208,3),(26214,3),(26216,3),(26224,3),(26234,3),(26236,3),(26238,3),(26240,3),(26245,3),(26246,3),(26252,3),(26259,3),(26261,3),(26263,3),(26266,3),(26273,3),(26275,3),(26277,3),(26278,3),(26280,3),(26302,3),(26306,3),(26308,3),(26312,3),(26351,3),(26353,3),(26361,3),(26373,3),(26390,3),(26393,3),(26394,3),(26397,3),(26413,3),(26414,3),(26416,3),(26417,3),(26421,3),(26431,3),(26440,3),(26450,3),(26451,3),(26455,3),(26470,3),(26472,3),(26489,3),(26492,3),(26504,3),(26508,3),(26530,3),(26531,3),(26532,3),(26535,3),(26556,3),(26559,3),(26566,3),(26570,3),(26577,3),(26585,3),(26590,3),(26591,3),(26598,3),(26600,3),(26604,3),(26605,3),(26617,3),(26618,3),(26619,3),(26628,3),(26649,3),(26656,3),(26667,3),(26668,3),(26680,3),(26682,3),(26684,3),(26689,3),(26690,3),(26695,3),(26704,3),(26708,3),(26715,3),(26720,3),(26725,3),(26741,3),(26745,3),(26746,3),(26747,3),(26753,3),(26756,3),(26766,3),(26767,3),(26768,3),(26771,3),(26779,3),(26781,3),(26783,3),(26789,3),(26791,3),(26793,3),(26794,3),(26811,3),(26817,3),(26828,3),(26839,3),(26848,3),(26849,3),(26853,3),(26874,3),(26890,3),(26905,3),(26908,3),(26916,3),(26920,3),(26928,3),(26930,3),(26941,3),(26945,3),(26960,3),(26962,3),(26973,3),(26984,3),(26994,3),(26996,3),(27001,3),(27008,3),(27010,3),(27013,3),(27033,3),(27037,3),(27038,3),(27048,3),(27049,3),(27058,3),(27073,3),(27074,3),(27082,3),(27089,3),(27091,3),(27092,3),(27095,3),(27098,3),(27099,3),(27119,3),(27126,3),(27131,3),(27132,3),(27135,3),(27136,3),(27139,3),(27145,3),(27156,3),(27157,3),(27160,3),(27172,3),(27173,3),(27174,3),(27187,3),(27190,3),(27193,3),(27198,3),(27206,3),(27208,3),(27212,3),(27214,3),(27224,3),(27225,3),(27227,3),(27234,3),(27239,3),(27244,3),(27246,3),(27253,3),(27255,3),(27261,3),(27264,3),(27271,3),(27292,3),(27294,3),(27296,3),(27313,3),(27316,3),(27318,3),(27321,3),(27334,3),(27337,3),(27343,3),(27345,3),(27346,3),(27352,3),(27357,3),(27383,3),(27390,3),(27398,3),(27421,3),(27422,3),(27424,3),(27428,3),(27432,3),(27438,3),(27441,3),(27444,3),(27451,3),(27452,3),(27455,3),(27465,3),(27470,3),(27479,3),(27486,3),(27494,3),(27498,3),(27505,3),(27512,3),(27518,3),(27519,3),(27520,3),(27533,3),(27547,3),(27557,3),(27584,3),(27593,3),(27595,3),(27598,3),(27604,3),(27606,3),(27613,3),(27614,3),(27625,3),(27642,3),(27649,3),(27653,3),(27655,3),(27657,3),(27664,3),(27669,3),(27671,3),(27672,3),(27708,3),(27711,3),(27717,3),(27721,3),(27725,3),(27727,3),(27729,3),(27730,3),(27733,3),(27743,3),(27756,3),(27764,3),(27765,3),(27776,3),(27782,3),(27797,3),(27806,3),(27809,3),(27818,3),(27820,3),(27822,3),(27827,3),(27846,3),(27848,3),(27854,3),(27856,3),(27864,3),(27870,3),(27875,3),(27879,3),(27880,3),(27884,3),(27902,3),(27905,3),(27914,3),(27929,3),(27931,3),(27935,3),(27938,3),(27939,3),(27942,3),(27943,3),(27945,3),(27946,3),(27948,3),(27951,3),(27960,3),(27961,3),(27989,3),(27990,3),(27991,3),(27998,3),(27999,3),(28002,3),(28003,3),(28006,3),(28007,3),(28009,3),(28011,3),(28014,3),(28023,3),(28028,3),(28061,3),(28062,3),(28066,3),(28067,3),(28070,3),(28086,3),(28088,3),(28089,3),(28095,3),(28101,3),(28111,3),(28115,3),(28120,3),(28129,3),(28131,3),(28132,3),(28139,3),(28142,3),(28145,3),(28146,3),(28155,3),(28170,3),(28173,3),(28184,3),(28188,3),(28189,3),(28191,3),(28197,3),(28201,3),(28204,3),(28206,3),(28219,3),(28221,3),(28236,3),(28238,3),(28240,3),(28242,3),(28246,3),(28250,3),(28252,3),(28253,3),(28256,3),(28259,3),(28262,3),(28266,3),(28281,3),(28299,3),(28304,3),(28307,3),(28308,3),(28315,3),(28319,3),(28321,3),(28324,3),(28325,3),(28327,3),(28334,3),(28339,3),(28340,3),(28348,3),(28352,3),(28355,3),(28357,3),(28363,3),(28372,3),(28381,3),(28405,3),(28419,3),(28425,3),(28427,3),(28431,3),(28441,3),(28443,3),(28447,3),(28454,3),(28460,3),(28471,3),(28474,3),(28482,3),(28492,3),(28494,3),(28502,3),(28515,3),(28520,3),(28530,3),(28531,3),(28538,3),(28552,3),(28562,3),(28564,3),(28570,3),(28578,3),(28579,3),(28580,3),(28583,3),(28594,3),(28600,3),(28602,3),(28608,3),(28622,3),(28631,3),(28632,3),(28641,3),(28651,3),(28652,3),(28657,3),(28660,3),(28666,3),(28685,3),(28690,3),(28702,3),(28706,3),(28707,3),(28725,3),(28736,3),(28737,3),(28750,3),(28751,3),(28766,3),(28767,3),(28769,3),(28779,3),(28784,3),(28789,3),(28791,3),(28794,3),(28798,3),(28807,3),(28808,3),(28813,3),(28819,3),(28821,3),(28826,3),(28837,3),(28844,3),(28849,3),(28852,3),(28861,3),(28863,3),(28867,3),(28872,3),(28874,3),(28879,3),(28901,3),(28908,3),(28918,3),(28937,3),(28945,3),(28946,3),(28951,3),(28968,3),(28969,3),(28970,3),(28972,3),(28974,3),(28983,3),(28985,3),(28990,3),(28991,3),(28995,3),(29001,3),(29003,3),(29009,3),(29012,3),(29015,3),(29025,3),(29028,3),(29032,3),(29033,3),(29034,3),(29035,3),(29040,3),(29041,3),(29055,3),(29059,3),(29064,3),(29065,3),(29085,3),(29089,3),(29091,3),(29092,3),(29094,3),(29098,3),(29099,3),(29102,3),(29103,3),(29104,3),(29114,3),(29120,3),(29138,3),(29147,3),(29148,3),(29153,3),(29155,3),(29167,3),(29170,3),(29182,3),(29189,3),(29191,3),(29192,3),(29196,3),(29197,3),(29205,3),(29207,3),(29209,3),(29211,3),(29222,3),(29223,3),(29227,3),(29235,3),(29236,3),(29239,3),(29245,3),(29246,3),(29255,3),(29261,3),(29264,3),(29266,3),(29267,3),(29270,3),(29271,3),(29274,3),(29289,3),(29291,3),(29300,3),(29307,3),(29313,3),(29314,3),(29321,3),(29328,3),(29330,3),(29343,3),(29344,3),(29346,3),(29350,3),(29351,3),(29355,3),(29356,3),(29357,3),(29361,3),(29368,3),(29369,3),(29389,3),(29390,3),(29393,3),(29394,3),(29403,3),(29411,3),(29413,3),(29415,3),(29423,3),(29432,3),(29445,3),(29452,3),(29462,3),(29463,3),(29464,3),(29473,3),(29475,3),(29476,3),(29479,3),(29487,3),(29495,3),(29498,3),(29505,3),(29509,3),(29514,3),(29515,3),(29516,3),(29526,3),(29528,3),(29534,3),(29544,3),(29593,3),(29594,3),(29595,3),(29597,3),(29598,3),(29605,3),(29607,3),(29615,3),(29617,3),(29619,3),(29622,3),(29630,3),(29638,3),(29639,3),(29644,3),(29653,3),(29654,3),(29656,3),(29660,3),(29661,3),(29663,3),(29678,3),(29679,3),(29694,3),(29698,3),(29702,3),(29705,3),(29713,3),(29716,3),(29718,3),(29720,3),(29734,3),(29757,3),(29771,3),(29781,3),(29787,3),(29793,3),(29796,3),(29798,3),(29804,3),(29806,3),(29812,3),(29820,3),(29822,3),(29828,3),(29837,3),(29839,3),(29848,3),(29859,3),(29862,3),(29868,3),(29876,3),(29888,3),(29889,3),(29890,3),(29925,3),(29928,3),(29930,3),(29932,3),(29934,3),(29954,3),(29978,3),(29986,3),(30000,3),(30003,3),(30014,3),(30035,3),(30042,3),(30051,3),(30058,3),(30065,3),(30075,3),(30084,3),(30098,3),(30100,3),(30101,3),(30108,3),(30109,3),(30114,3),(30116,3),(30120,3),(30144,3),(30145,3),(30149,3),(30150,3),(30152,3),(30156,3),(30169,3),(30171,3),(30173,3),(30174,3),(30178,3),(30179,3),(30216,3),(30221,3),(30223,3),(30232,3),(30238,3),(30241,3),(30242,3),(30250,3),(30253,3),(30254,3),(30255,3),(30256,3),(30257,3),(30272,3),(30275,3),(30279,3),(30283,3),(30288,3),(30291,3),(30292,3),(30296,3),(30301,3),(30305,3),(30312,3),(30313,3),(30314,3),(30321,3),(30323,3),(30331,3),(30335,3),(30337,3),(30338,3),(30343,3),(30348,3),(30350,3),(30361,3),(30362,3),(30364,3),(30366,3),(30370,3),(30372,3),(30373,3),(30375,3),(30379,3),(30380,3),(30389,3),(30394,3),(30397,3),(30412,3),(30421,3),(30422,3),(30433,3),(30435,3),(30444,3),(30464,3),(30466,3),(30467,3),(30468,3),(30472,3),(30481,3),(30495,3),(30502,3),(30510,3),(30514,3),(30516,3),(30518,3),(30521,3),(30523,3),(30530,3),(30537,3),(30538,3),(30539,3),(30540,3),(30543,3),(30549,3),(30554,3),(30565,3),(30575,3),(30581,3),(30585,3),(30586,3),(30588,3),(30599,3),(30603,3),(30613,3),(30618,3),(30619,3),(30621,3),(30622,3),(30623,3),(30624,3),(30625,3),(30630,3),(30631,3),(30637,3),(30646,3),(30659,3),(30672,3),(30682,3),(30694,3),(30697,3),(30700,3),(30704,3),(30706,3),(30713,3),(30723,3),(30738,3),(30743,3),(30744,3),(30746,3),(30750,3),(30752,3),(30759,3),(30762,3),(30771,3),(30780,3),(30788,3),(30793,3),(30802,3),(30803,3),(30804,3),(30814,3),(30815,3),(30817,3),(30819,3),(30825,3),(30827,3),(30830,3),(30843,3),(30847,3),(30848,3),(30856,3),(30857,3),(30871,3),(30874,3),(30881,3),(30887,3),(30889,3),(30893,3),(30905,3),(30909,3),(30911,3),(30912,3),(30915,3),(30935,3),(30938,3),(30939,3),(30944,3),(30947,3),(30949,3),(30975,3),(31003,3),(31009,3),(31018,3),(31022,3),(31026,3),(31032,3),(31037,3),(31044,3),(31046,3),(31047,3),(31052,3),(31064,3),(31067,3),(31070,3),(31072,3),(31079,3),(31080,3),(31090,3),(31094,3),(31097,3),(31103,3),(31107,3),(31108,3),(31110,3),(31112,3),(31122,3),(31127,3),(31136,3),(31138,3),(31155,3),(31159,3),(31161,3),(31162,3),(31164,3),(31170,3),(31174,3),(31177,3),(31182,3),(31189,3),(31206,3),(31227,3),(31228,3),(31242,3),(31244,3),(31265,3),(31289,3),(31291,3),(31303,3),(31314,3),(31325,3),(31327,3),(31336,3),(31337,3),(31356,3),(31365,3),(31367,3),(31371,3),(31379,3),(31384,3),(31392,3),(31394,3),(31397,3),(31403,3),(31413,3),(31416,3),(31418,3),(31435,3),(31448,3),(31451,3),(31453,3),(31455,3),(31473,3),(31475,3),(31476,3),(31481,3),(31483,3),(31491,3),(31496,3),(31501,3),(31507,3),(31516,3),(31524,3),(31525,3),(31531,3),(31535,3),(31538,3),(31549,3),(31550,3),(31559,3),(31568,3),(31571,3),(31585,3),(31590,3),(31597,3),(31601,3),(31602,3),(31617,3),(31623,3),(31628,3),(31642,3),(31652,3),(31653,3),(31656,3),(31664,3),(31667,3),(31670,3),(31672,3),(31681,3),(31688,3),(31690,3),(31695,3),(31702,3),(31708,3),(31717,3),(31740,3),(31742,3),(31744,3),(31745,3),(31746,3),(31762,3),(31769,3),(31772,3),(31792,3),(31805,3),(31815,3),(31817,3),(31818,3),(31821,3),(31826,3),(31827,3),(31835,3),(31842,3),(31845,3),(31854,3),(31866,3),(31876,3),(31880,3),(31892,3),(31908,3),(31914,3),(31916,3),(31922,3),(31927,3),(31929,3),(31934,3),(31935,3),(31942,3),(31945,3),(31951,3),(31953,3),(31973,3),(31986,3),(31987,3),(32023,3),(32024,3),(32035,3),(32047,3),(32052,3),(32056,3),(32066,3),(32070,3),(32071,3),(32083,3),(32084,3),(32096,3),(32097,3),(32099,3),(32110,3),(32123,3),(32129,3),(32134,3),(32147,3),(32152,3),(32173,3),(32174,3),(32178,3),(32183,3),(32196,3),(32202,3),(32204,3),(32216,3),(32217,3),(32222,3),(32225,3),(32242,3),(32244,3),(32245,3),(32256,3),(32265,3),(32266,3),(32274,3),(32276,3),(32278,3),(32285,3),(32291,3),(32299,3),(32301,3),(32303,3),(32306,3),(32310,3),(32317,3),(32318,3),(32319,3),(32326,3),(32336,3),(32338,3),(32341,3),(32348,3),(32358,3),(32359,3),(32366,3),(32369,3),(32375,3),(32377,3),(32398,3),(32406,3),(32414,3),(32416,3),(32424,3),(32426,3),(32427,3),(32439,3),(32445,3),(32446,3),(32449,3),(32455,3),(32459,3),(32489,3),(32509,3),(32518,3),(32519,3),(32522,3),(32529,3),(32536,3),(32544,3),(32546,3),(32550,3),(32552,3),(32561,3),(32576,3),(32578,3),(32583,3),(32584,3),(32587,3),(32601,3),(32606,3),(32608,3),(32609,3),(32617,3),(32626,3),(32657,3),(32661,3),(32665,3),(32668,3),(32674,3),(32676,3),(32678,3),(32685,3),(32688,3),(32699,3),(32702,3),(32716,3),(32718,3),(32720,3),(32739,3),(32745,3),(32749,3),(32750,3),(32753,3),(32756,3),(32758,3),(32763,3),(32767,3),(32777,3),(32779,3),(32780,3),(32781,3),(32782,3),(32787,3),(32792,3),(32802,3),(32812,3),(32815,3),(32820,3),(32821,3),(32823,3),(32825,3),(32827,3),(32842,3),(32851,3),(32855,3),(32859,3),(32860,3),(32892,3),(32893,3),(32900,3),(32902,3),(32924,3),(32931,3),(32934,3),(32942,3),(32945,3),(32998,3),(33009,3),(33017,3),(33024,3),(33031,3),(33032,3),(33036,3),(33042,3),(33050,3),(33062,3),(33064,3),(33072,3),(33073,3),(33079,3),(33093,3),(33095,3),(33099,3),(33106,3),(33113,3),(33116,3),(33118,3),(33121,3),(33124,3),(33129,3),(33130,3),(33134,3),(33135,3),(33136,3),(33137,3),(33140,3),(33143,3),(33147,3),(33149,3),(33155,3),(33159,3),(33162,3),(33186,3),(33187,3),(33198,3),(33202,3),(33203,3),(33221,3),(33233,3),(33236,3),(33247,3),(33259,3),(33261,3),(33266,3),(33269,3),(33275,3),(33276,3),(33279,3),(33282,3),(33287,3),(33289,3),(33291,3),(33292,3),(33294,3),(33295,3),(33297,3),(33301,3),(33302,3),(33309,3),(33311,3),(33312,3),(33315,3),(33322,3),(33323,3),(33324,3),(33325,3),(33335,3),(33342,3),(33344,3),(33358,3),(33360,3),(33370,3),(33371,3),(33374,3),(33375,3),(33377,3),(33389,3),(33392,3),(33404,3),(33405,3),(33430,3),(33433,3),(33437,3),(33443,3),(33459,3),(33460,3),(33465,3),(33471,3),(33474,3),(33476,3),(33478,3),(33485,3),(33491,3),(33507,3),(33509,3),(33513,3),(33523,3),(33542,3),(33552,3),(33560,3),(33567,3),(33569,3),(33576,3),(33577,3),(33581,3),(33586,3),(33595,3),(33597,3),(33605,3),(33614,3),(33628,3),(33634,3),(33635,3),(33640,3),(33655,3),(33663,3),(33665,3),(33670,3),(33693,3),(33694,3),(33696,3),(33704,3),(33705,3),(33707,3),(33712,3),(33720,3),(33724,3),(33736,3),(33737,3),(33746,3),(33747,3),(33755,3),(33756,3),(33759,3),(33761,3),(33762,3),(33764,3),(33766,3),(33769,3),(33772,3),(33777,3),(33778,3),(33790,3),(33791,3),(33792,3),(33794,3),(33805,3),(33808,3),(33817,3),(33822,3),(33830,3),(33831,3),(33835,3),(33841,3),(33843,3),(33850,3),(33859,3),(33870,3),(33876,3),(33883,3),(33886,3),(33887,3),(33898,3),(33904,3),(33906,3),(33907,3),(33910,3),(33929,3),(33934,3),(33938,3),(33946,3),(33947,3),(33948,3),(33955,3),(33956,3),(33959,3),(33970,3),(33976,3),(33983,3),(33985,3),(33993,3),(33994,3),(34004,3),(34006,3),(34032,3),(34038,3),(34042,3),(34060,3),(34064,3),(34085,3),(34097,3),(34111,3),(34134,3),(34136,3),(34141,3),(34144,3),(34149,3),(34158,3),(34164,3),(34169,3),(34171,3),(34180,3),(34183,3),(34191,3),(34196,3),(34198,3),(34201,3),(34204,3),(34205,3),(34218,3),(34221,3),(34222,3),(34224,3),(34228,3),(34230,3),(34238,3),(34251,3),(34264,3),(34279,3),(34288,3),(34290,3),(34291,3),(34292,3),(34296,3),(34321,3),(34325,3),(34334,3),(34338,3),(34341,3),(34344,3),(34355,3),(34366,3),(34371,3),(34373,3),(34376,3),(34385,3),(34390,3),(34392,3),(34395,3),(34400,3),(34402,3),(34407,3),(34419,3),(34424,3),(34430,3),(34438,3),(34440,3),(34441,3),(34449,3),(34480,3),(34482,3),(34486,3),(34495,3),(34496,3),(34508,3),(34513,3),(34515,3),(34517,3),(34521,3),(34524,3),(34526,3),(34531,3),(34536,3),(34538,3),(34546,3),(34560,3),(34577,3),(34583,3),(34586,3),(34588,3),(34594,3),(34597,3),(34610,3),(34611,3),(34614,3),(34615,3),(34628,3),(34630,3),(34637,3),(34646,3),(34647,3),(34653,3),(34658,3),(34662,3),(34670,3),(34675,3),(34676,3),(34677,3),(34682,3),(34688,3),(34690,3),(34698,3),(34703,3),(34704,3),(34708,3),(34709,3),(34710,3),(34715,3),(34731,3),(34735,3),(34737,3),(34750,3),(34751,3),(34752,3),(34753,3),(34755,3),(34758,3),(34766,3),(34769,3),(34794,3),(34809,3),(34811,3),(34813,3),(34824,3),(34825,3),(34836,3),(34839,3),(34840,3),(34843,3),(34852,3),(34853,3),(34860,3),(34863,3),(34864,3),(34875,3),(34882,3),(34883,3),(34884,3),(34887,3),(34889,3),(34890,3),(34893,3),(34895,3),(34896,3),(34911,3),(34929,3),(34936,3),(34941,3),(34943,3),(34944,3),(34946,3),(34948,3),(34951,3),(34955,3),(34958,3),(34964,3),(34966,3),(34971,3),(34972,3),(34975,3),(34980,3),(34983,3),(35000,3),(35001,3),(35015,3),(35024,3),(35036,3),(35048,3),(35051,3),(35056,3),(35074,3),(35091,3),(35105,3),(35107,3),(35108,3),(35109,3),(35115,3),(35124,3),(35135,3),(35141,3),(35151,3),(35152,3),(35174,3),(35178,3),(35185,3),(35187,3),(35194,3),(35198,3),(35210,3),(35223,3),(35225,3),(35226,3),(35231,3),(35233,3),(35237,3),(35247,3),(35249,3),(35256,3),(35257,3),(35259,3),(35260,3),(35263,3),(35264,3),(35275,3),(35276,3),(35293,3),(35295,3),(35302,3),(35303,3),(35310,3),(35314,3),(35315,3),(35326,3),(35348,3),(35350,3),(35354,3),(35355,3),(35363,3),(35368,3),(35369,3),(35376,3),(35390,3),(35402,3),(35409,3),(35411,3),(35421,3),(35424,3),(35432,3),(35433,3),(35448,3),(35464,3),(35465,3),(35474,3),(35476,3),(35477,3),(35485,3),(35492,3),(35499,3),(35500,3),(35501,3),(35505,3),(35508,3),(35515,3),(35519,3),(35526,3),(35527,3),(35531,3),(35532,3),(35534,3),(35544,3),(35551,3),(35567,3),(35579,3),(35588,3),(35589,3),(35599,3),(35604,3),(35614,3),(35626,3),(35638,3),(35642,3),(35645,3),(35648,3),(35651,3),(35662,3),(35665,3),(35672,3),(35675,3),(35680,3),(35681,3),(35684,3),(35695,3),(35700,3),(35701,3),(35703,3),(35704,3),(35707,3),(35711,3),(35714,3),(35719,3),(35723,3),(35724,3),(35726,3),(35727,3),(35733,3),(35734,3),(35741,3),(35744,3),(35749,3),(35750,3),(35755,3),(35779,3),(35787,3),(35791,3),(35797,3),(35816,3),(35831,3),(35833,3),(35837,3),(35846,3),(35847,3),(35850,3),(35851,3),(35856,3),(35859,3),(35860,3),(35869,3),(35873,3),(35874,3),(35884,3),(35890,3),(35894,3),(35896,3),(35904,3),(35915,3),(35920,3),(35925,3),(35926,3),(35928,3),(35935,3),(35938,3),(35940,3),(35944,3),(35945,3),(35953,3),(35959,3),(35961,3),(35963,3),(35972,3),(35982,3),(35986,3),(35991,3),(35992,3),(35993,3),(35995,3),(35999,3),(36004,3),(36007,3),(36008,3),(36012,3),(36023,3),(36039,3),(36040,3),(36043,3),(36047,3),(36048,3),(36066,3),(36070,3),(36097,3),(36099,3),(36101,3),(36104,3),(36107,3),(36149,3),(36155,3),(36158,3),(36167,3),(36168,3),(36169,3),(36170,3),(36175,3),(36179,3),(36191,3),(36193,3),(36194,3),(36196,3),(36200,3),(36209,3),(36213,3),(36217,3),(36223,3),(36241,3),(36250,3),(36260,3),(36261,3),(36270,3),(36273,3),(36278,3),(36289,3),(36293,3),(36305,3),(36310,3),(36338,3),(36343,3),(36350,3),(36351,3),(36365,3),(36369,3),(36372,3),(36414,3),(36428,3),(36431,3),(36446,3),(36458,3),(36460,3),(36462,3),(36466,3),(36469,3),(36473,3),(36481,3),(36485,3),(36486,3),(36495,3),(36498,3),(36504,3),(36513,3),(36516,3),(36517,3),(36524,3),(36545,3),(36551,3),(36553,3),(36555,3),(36565,3),(36568,3),(36578,3),(36593,3),(36599,3),(36606,3),(36615,3),(36616,3),(36620,3),(36625,3),(36626,3),(36634,3),(36637,3),(36640,3),(36643,3),(36653,3),(36672,3),(36678,3),(36680,3),(36682,3),(36690,3),(36692,3),(36699,3),(36718,3),(36720,3),(36723,3),(36724,3),(36725,3),(36727,3),(36728,3),(36741,3),(36743,3),(36749,3),(36752,3),(36763,3),(36764,3),(36768,3),(36802,3),(36807,3),(36809,3),(36811,3),(36812,3),(36826,3),(36836,3),(36837,3),(36852,3),(36854,3),(36858,3),(36871,3),(36872,3),(36893,3),(36896,3),(36905,3),(36907,3),(36908,3),(36910,3),(36916,3),(36919,3),(36926,3),(36929,3),(36930,3),(36932,3),(36938,3),(36939,3),(36964,3),(36969,3),(36974,3),(36975,3),(36978,3),(36985,3),(36990,3),(36995,3),(36996,3),(37003,3),(37008,3),(37009,3),(37011,3),(37021,3),(37030,3),(37033,3),(37034,3),(37039,3),(37040,3),(37050,3),(37054,3),(37072,3),(37074,3),(37076,3),(37082,3),(37084,3),(37091,3),(37108,3),(37114,3),(37118,3),(37119,3),(37128,3),(37130,3),(37133,3),(37138,3),(37140,3),(37144,3),(37160,3),(37171,3),(37183,3),(37214,3),(37223,3),(37232,3),(37243,3),(37244,3),(37251,3),(37267,3),(37274,3),(37290,3),(37294,3),(37296,3),(37299,3),(37300,3),(37301,3),(37305,3),(37313,3),(37322,3),(37330,3),(37340,3),(37352,3),(37375,3),(37378,3),(37382,3),(37393,3),(37396,3),(37399,3),(37401,3),(37409,3),(37421,3),(37423,3),(37425,3),(37435,3),(37448,3),(37449,3),(37451,3),(37460,3),(37465,3),(37468,3),(37471,3),(37473,3),(37481,3),(37492,3),(37505,3),(37509,3),(37515,3),(37516,3),(37524,3),(37539,3),(37542,3),(37543,3),(37558,3),(37567,3),(37570,3),(37572,3),(37575,3),(37582,3),(37585,3),(37594,3),(37600,3),(37605,3),(37606,3),(37611,3),(37616,3),(37617,3),(37627,3),(37632,3),(37641,3),(37644,3),(37647,3),(37652,3),(37654,3),(37657,3),(37667,3),(37672,3),(37677,3),(37688,3),(37692,3),(37728,3),(37730,3),(37735,3),(37747,3),(37748,3),(37752,3),(37780,3),(37785,3),(37805,3),(37810,3),(37811,3),(37812,3),(37815,3),(37816,3),(37818,3),(37819,3),(37823,3),(37843,3),(37851,3),(37852,3),(37866,3),(37871,3),(37873,3),(37875,3),(37884,3),(37890,3),(37895,3),(37897,3),(37900,3),(37912,3),(37916,3),(37923,3),(37924,3),(37932,3),(37942,3),(37967,3),(37970,3),(37979,3),(37980,3),(37983,3),(37988,3),(37995,3),(37997,3),(38007,3),(38012,3),(38014,3),(38015,3),(38017,3),(38018,3),(38019,3),(38026,3),(38030,3),(38044,3),(38054,3),(38058,3),(38069,3),(38077,3),(38078,3),(38081,3),(38083,3),(38101,3),(38104,3),(38109,3),(38115,3),(38116,3),(38118,3),(38119,3),(38121,3),(38124,3),(38127,3),(38133,3),(38140,3),(38144,3),(38146,3),(38158,3),(38164,3),(38166,3),(38175,3),(38182,3),(38188,3),(38192,3),(38203,3),(38210,3),(38213,3),(38214,3),(38216,3),(38233,3),(38236,3),(38242,3),(38245,3),(38247,3),(38249,3),(38257,3),(38258,3),(38262,3),(38264,3),(38275,3),(38279,3),(38289,3),(38294,3),(38298,3),(38302,3),(38307,3),(38310,3),(38315,3),(38316,3),(38321,3),(38323,3),(38327,3),(38346,3),(38359,3),(38360,3),(38369,3),(38371,3),(38375,3),(38392,3),(38397,3),(38398,3),(38410,3),(38418,3),(38419,3),(38443,3),(38452,3),(38454,3),(38466,3),(38469,3),(38481,3),(38494,3),(38526,3),(38534,3),(38540,3),(38542,3),(38546,3),(38556,3),(38561,3),(38575,3),(38576,3),(38580,3),(38581,3),(38587,3),(38596,3),(38603,3),(38605,3),(38609,3),(38616,3),(38618,3),(38629,3),(38645,3),(38650,3),(38663,3),(38666,3),(38671,3),(38675,3),(38682,3),(38719,3),(38722,3),(38723,3),(38729,3),(38736,3),(38739,3),(38743,3),(38745,3),(38750,3),(38758,3),(38760,3),(38772,3),(38778,3),(38781,3),(38784,3),(38786,3),(38790,3),(38802,3),(38809,3),(38816,3),(38818,3),(38819,3),(38834,3),(38840,3),(38844,3),(38846,3),(38854,3),(38862,3),(38870,3),(38871,3),(38873,3),(38881,3),(38893,3),(38901,3),(38907,3),(38917,3),(38935,3),(38943,3),(38944,3),(38948,3),(38950,3),(38952,3),(38961,3),(38986,3),(38994,3),(38995,3),(38997,3),(39000,3),(39003,3),(39021,3),(39028,3),(39033,3),(39037,3),(39053,3),(39056,3),(39060,3),(39061,3),(39072,3),(39074,3),(39079,3),(39085,3),(39091,3),(39093,3),(39095,3),(39107,3),(39110,3),(39111,3),(39118,3),(39119,3),(39131,3),(39132,3),(39133,3),(39137,3),(39139,3),(39146,3),(39183,3),(39184,3),(39185,3),(39190,3),(39200,3),(39202,3),(39218,3),(39229,3),(39248,3),(39253,3),(39254,3),(39266,3),(39267,3),(39268,3),(39283,3),(39295,3),(39300,3),(39320,3),(39325,3),(39333,3),(39335,3),(39339,3),(39346,3),(39347,3),(39350,3),(39370,3),(39378,3),(39380,3),(39388,3),(39393,3),(39403,3),(39405,3),(39415,3),(39422,3),(39427,3),(39438,3),(39441,3),(39445,3),(39451,3),(39456,3),(39458,3),(39466,3),(39467,3),(39474,3),(39480,3),(39481,3),(39492,3),(39495,3),(39503,3),(39510,3),(39511,3),(39513,3),(39522,3),(39526,3),(39528,3),(39542,3),(39551,3),(39552,3),(39559,3),(39568,3),(39578,3),(39585,3),(39594,3),(39597,3),(39603,3),(39609,3),(39611,3),(39614,3),(39619,3),(39623,3),(39627,3),(39632,3),(39633,3),(39634,3),(39637,3),(39642,3),(39664,3),(39666,3),(39692,3),(39694,3),(39695,3),(39697,3),(39701,3),(39703,3),(39715,3),(39719,3),(39723,3),(39724,3),(39727,3),(39732,3),(39733,3),(39737,3),(39751,3),(39755,3),(39766,3),(39776,3),(39784,3),(39788,3),(39789,3),(39791,3),(39793,3),(39794,3),(39803,3),(39813,3),(39831,3),(39842,3),(39862,3),(39866,3),(39869,3),(39871,3),(39874,3),(39880,3),(39884,3),(39886,3),(39889,3),(39898,3),(39905,3),(39922,3),(39927,3),(39928,3),(39930,3),(39936,3),(39941,3),(39945,3),(39965,3),(39968,3),(39971,3),(39972,3),(39979,3),(39980,3),(39988,3),(39992,3),(40003,3),(40007,3),(40018,3),(40023,3),(40024,3),(40031,3),(40034,3),(40038,3),(40041,3),(40043,3),(40050,3),(40058,3),(40059,3),(40068,3),(40071,3),(40076,3),(40081,3),(40086,3),(40092,3),(40094,3),(40096,3),(40099,3),(40111,3),(40116,3),(40119,3),(40125,3),(40127,3),(40133,3),(40138,3),(40142,3),(40149,3),(40154,3),(40155,3),(40166,3),(40168,3),(40171,3),(40181,3),(40185,3),(40187,3),(40188,3),(40192,3),(40193,3),(40206,3),(40220,3),(40234,3),(40236,3),(40239,3),(40244,3),(40259,3),(40262,3),(40270,3),(40280,3),(40285,3),(40287,3),(40302,3),(40304,3),(40308,3),(40321,3),(40330,3),(40334,3),(40336,3),(40342,3),(40344,3),(40345,3),(40358,3),(40368,3),(40369,3),(40370,3),(40372,3),(40386,3),(40396,3),(40403,3),(40416,3),(40417,3),(40423,3),(40426,3),(40429,3),(40431,3),(40438,3),(40439,3),(40444,3),(40447,3),(40467,3),(40478,3),(40502,3),(40506,3),(40531,3),(40536,3),(40547,3),(40549,3),(40560,3),(40578,3),(40581,3),(40582,3),(40595,3),(40598,3),(40607,3),(40609,3),(40632,3),(40633,3),(40641,3),(40649,3),(40660,3),(40673,3),(40685,3),(40697,3),(40701,3),(40708,3),(40716,3),(40723,3),(40732,3),(40746,3),(40767,3),(40768,3),(40771,3),(40785,3),(40793,3),(40807,3),(40808,3),(40815,3),(40826,3),(40829,3),(40840,3),(40845,3),(40847,3),(40849,3),(40859,3),(40862,3),(40865,3),(40871,3),(40872,3),(40898,3),(40902,3),(40907,3),(40911,3),(40917,3),(40926,3),(40930,3),(40932,3),(40973,3),(40978,3),(40980,3),(40981,3),(40990,3),(41005,3),(41008,3),(41013,3),(41017,3),(41022,3),(41030,3),(41064,3),(41065,3),(41066,3),(41086,3),(41091,3),(41093,3),(41095,3),(41096,3),(41099,3),(41103,3),(41109,3),(41111,3),(41122,3),(41132,3),(41136,3),(41142,3),(41147,3),(41150,3),(41156,3),(41165,3),(41169,3),(41173,3),(41224,3),(41231,3),(41257,3),(41266,3),(41274,3),(41278,3),(41288,3),(41296,3),(41310,3),(41313,3),(41314,3),(41319,3),(41320,3),(41335,3),(41343,3),(41350,3),(41356,3),(41357,3),(41360,3),(41373,3),(41381,3),(41389,3),(41396,3),(41400,3),(41407,3),(41419,3),(41427,3),(41432,3),(41441,3),(41448,3),(41454,3),(41466,3),(41468,3),(41473,3),(41477,3),(41478,3),(41485,3),(41494,3),(41505,3),(41506,3),(41508,3),(41513,3),(41518,3),(41533,3),(41539,3),(41542,3),(41544,3),(41555,3),(41556,3),(41557,3),(41558,3),(41561,3),(41573,3),(41577,3),(41592,3),(41594,3),(41606,3),(41608,3),(41620,3),(41624,3),(41628,3),(41637,3),(41639,3),(41643,3),(41644,3),(41648,3),(41650,3),(41651,3),(41665,3),(41669,3),(41699,3),(41702,3),(41706,3),(41708,3),(41718,3),(41728,3),(41729,3),(41732,3),(41733,3),(41741,3),(41745,3),(41765,3),(41769,3),(41773,3),(41774,3),(41775,3),(41776,3),(41795,3),(41797,3),(41799,3),(41810,3),(41811,3),(41813,3),(41815,3),(41818,3),(41830,3),(41833,3),(41834,3),(41838,3),(41845,3),(41858,3),(41865,3),(41866,3),(41867,3),(41873,3),(41875,3),(41876,3),(41883,3),(41893,3),(41895,3),(41900,3),(41904,3),(41934,3),(41940,3),(41942,3),(41954,3),(41956,3),(41959,3),(41962,3),(41967,3),(41971,3),(41973,3),(41983,3),(41993,3),(41999,3),(42002,3),(42004,3),(42009,3),(42013,3),(42023,3),(42024,3),(42026,3),(42035,3),(42037,3),(42040,3),(42042,3),(42052,3),(42060,3),(42064,3),(42065,3),(42067,3),(42070,3),(42075,3),(42077,3),(42084,3),(42085,3),(42089,3),(42094,3),(42102,3),(42116,3),(42118,3),(42124,3),(42160,3),(42168,3),(42169,3),(42181,3),(42184,3),(42189,3),(42194,3),(42196,3),(42197,3),(42205,3),(42206,3),(42216,3),(42220,3),(42230,3),(42231,3),(42237,3),(42238,3),(42242,3),(42246,3),(42254,3),(42273,3),(42282,3),(42289,3),(42320,3),(42323,3),(42339,3),(42341,3),(42342,3),(42345,3),(42347,3),(42360,3),(42370,3),(42371,3),(42376,3),(42378,3),(42383,3),(42387,3),(42388,3),(42389,3),(42390,3),(42391,3),(42397,3),(42417,3),(42423,3),(42428,3),(42429,3),(42435,3),(42436,3),(42440,3),(42446,3),(42449,3),(42452,3),(42461,3),(42465,3),(42468,3),(42474,3),(42485,3),(42486,3),(42518,3),(42529,3),(42537,3),(42539,3),(42541,3),(42551,3),(42552,3),(42560,3),(42562,3),(42569,3),(42576,3),(42578,3),(42579,3),(42591,3),(42595,3),(42607,3),(42612,3),(42617,3),(42619,3),(42630,3),(42639,3),(42650,3),(42651,3),(42654,3),(42657,3),(42662,3),(42670,3),(42688,3),(42694,3),(42702,3),(42704,3),(42706,3),(42708,3),(42712,3),(42722,3),(42726,3),(42736,3),(42742,3),(42754,3),(42755,3),(42759,3),(42766,3),(42767,3),(42770,3),(42774,3),(42775,3),(42776,3),(42783,3),(42784,3),(42790,3),(42791,3),(42792,3),(42793,3),(42795,3),(42802,3),(42807,3),(42810,3),(42820,3),(42825,3),(42827,3),(42835,3),(42836,3),(42839,3),(42850,3),(42857,3),(42861,3),(42862,3),(42863,3),(42868,3),(42887,3),(42890,3),(42897,3),(42900,3),(42903,3),(42907,3),(42919,3),(42920,3),(42922,3),(42929,3),(42942,3),(42956,3),(42958,3),(42960,3),(42961,3),(42964,3),(42967,3),(42973,3),(42978,3),(42984,3),(43004,3),(43012,3),(43014,3),(43016,3),(43017,3),(43022,3),(43024,3),(43030,3),(43031,3),(43036,3),(43037,3),(43038,3),(43042,3),(43045,3),(43047,3),(43053,3),(43054,3),(43064,3),(43071,3),(43074,3),(43075,3),(43076,3),(43080,3),(43086,3),(43105,3),(43115,3),(43124,3),(43125,3),(43127,3),(43130,3),(43139,3),(43145,3),(43152,3),(43160,3),(43164,3),(43168,3),(43179,3),(43181,3),(43194,3),(43195,3),(43196,3),(43198,3),(43205,3),(43212,3),(43213,3),(43224,3),(43226,3),(43232,3),(43235,3),(43239,3),(43243,3),(43245,3),(43259,3),(43267,3),(43273,3),(43278,3),(43298,3),(43299,3),(43303,3),(43308,3),(43316,3),(43327,3),(43336,3),(43370,3),(43371,3),(43374,3),(43379,3),(43385,3),(43398,3),(43401,3),(43412,3),(43415,3),(43422,3),(43426,3),(43427,3),(43435,3),(43439,3),(43441,3),(43453,3),(43466,3),(43468,3),(43474,3),(43479,3),(43482,3),(43487,3),(43493,3),(43494,3),(43496,3),(43504,3),(43505,3),(43508,3),(43511,3),(43512,3),(43517,3),(43519,3),(43523,3),(43528,3),(43537,3),(43540,3),(43544,3),(43545,3),(43547,3),(43561,3),(43562,3),(43570,3),(43572,3),(43575,3),(43584,3),(43586,3),(43587,3),(43591,3),(43592,3),(43594,3),(43595,3),(43597,3),(43598,3),(43606,3),(43608,3),(43617,3),(43619,3),(43620,3),(43622,3),(43635,3),(43639,3),(43643,3),(43644,3),(43645,3),(43667,3),(43675,3),(43678,3),(43679,3),(43681,3),(43687,3),(43692,3),(43697,3),(43701,3),(43704,3),(43707,3),(43712,3),(43713,3),(43728,3),(43731,3),(43733,3),(43735,3),(43748,3),(43758,3),(43760,3),(43762,3),(43764,3),(43770,3),(43771,3),(43774,3),(43775,3),(43779,3),(43787,3),(43791,3),(43793,3),(43794,3),(43800,3),(43803,3),(43829,3),(43831,3),(43837,3),(43841,3),(43861,3),(43863,3),(43864,3),(43865,3),(43872,3),(43880,3),(43882,3),(43885,3),(43889,3),(43890,3),(43898,3),(43917,3),(43923,3),(43943,3),(43947,3),(43950,3),(43952,3),(43953,3),(43955,3),(43961,3),(43963,3),(43966,3),(43967,3),(43970,3),(43979,3),(43987,3),(43997,3),(44001,3),(44010,3),(44026,3),(44041,3),(44043,3),(44045,3),(44046,3),(44047,3),(44051,3),(44052,3),(44075,3),(44077,3),(44079,3),(44080,3),(44083,3),(44084,3),(44099,3),(44103,3),(44106,3),(44109,3),(44110,3),(44115,3),(44122,3),(44125,3),(44126,3),(44131,3),(44133,3),(44141,3),(44155,3),(44157,3),(44161,3),(44174,3),(44177,3),(44178,3),(44179,3),(44187,3),(44189,3),(44190,3),(44196,3),(44198,3),(44199,3),(44209,3),(44211,3),(44219,3),(44224,3),(44228,3),(44229,3),(44236,3),(44238,3),(44249,3),(44254,3),(44260,3),(44261,3),(44262,3),(44267,3),(44270,3),(44282,3),(44283,3),(44297,3),(44299,3),(44301,3),(44302,3),(44308,3),(44309,3),(44314,3),(44320,3),(44327,3),(44332,3),(44335,3),(44341,3),(44344,3),(44355,3),(44386,3),(44389,3),(44396,3),(44397,3),(44402,3),(44408,3),(44414,3),(44416,3),(44424,3),(44427,3),(44430,3),(44448,3),(44453,3),(44454,3),(44462,3),(44467,3),(44475,3),(44477,3),(44480,3),(44483,3),(44493,3),(44499,3),(44507,3),(44519,3),(44528,3),(44530,3),(44537,3),(44543,3),(44553,3),(44558,3),(44567,3),(44568,3),(44570,3),(44574,3),(44580,3),(44600,3),(44606,3),(44610,3),(44621,3),(44626,3),(44633,3),(44634,3),(44638,3),(44650,3),(44658,3),(44664,3),(44678,3),(44680,3),(44681,3),(44689,3),(44690,3),(44695,3),(44696,3),(44698,3),(44707,3),(44709,3),(44710,3),(44715,3),(44719,3),(44722,3),(44731,3),(44734,3),(44736,3),(44748,3),(44762,3),(44766,3),(44768,3),(44774,3),(44782,3),(44795,3),(44797,3),(44798,3),(44799,3),(44804,3),(44805,3),(44807,3),(44809,3),(44815,3),(44817,3),(44828,3),(44833,3),(44834,3),(44837,3),(44841,3),(44852,3),(44859,3),(44869,3),(44873,3),(44878,3),(44881,3),(44882,3),(44884,3),(44915,3),(44918,3),(44919,3),(44921,3),(44938,3),(44956,3),(44959,3),(44966,3),(44986,3),(45003,3),(45005,3),(45013,3),(45014,3),(45036,3),(45040,3),(45041,3),(45046,3),(45056,3),(45062,3),(45063,3),(45069,3),(45080,3),(45085,3),(45086,3),(45088,3),(45096,3),(45100,3),(45101,3),(45111,3),(45125,3),(45126,3),(45137,3),(45141,3),(45142,3),(45143,3),(45151,3),(45153,3),(45154,3),(45162,3),(45167,3),(45171,3),(45176,3),(45185,3),(45186,3),(45211,3),(45215,3),(45225,3),(45229,3),(45232,3),(45236,3),(45241,3),(45249,3),(45256,3),(45258,3),(45259,3),(45269,3),(45271,3),(45275,3),(45280,3),(45281,3),(45287,3),(45290,3),(45301,3),(45310,3),(45311,3),(45317,3),(45332,3),(45341,3),(45355,3),(45373,3),(45376,3),(45379,3),(45380,3),(45406,3),(45416,3),(45418,3),(45423,3),(45424,3),(45427,3),(45432,3),(45435,3),(45437,3),(45448,3),(45455,3),(45458,3),(45464,3),(45475,3),(45478,3),(45481,3),(45489,3),(45492,3),(45501,3),(45515,3),(45548,3),(45554,3),(45557,3),(45562,3),(45563,3),(45568,3),(45576,3),(45577,3),(45578,3),(45581,3),(45585,3),(45588,3),(45607,3),(45613,3),(45614,3),(45622,3),(45635,3),(45637,3),(45641,3),(45644,3),(45646,3),(45670,3),(45671,3),(45673,3),(45675,3),(45683,3),(45684,3),(45689,3),(45694,3),(45695,3),(45696,3),(45697,3),(45698,3),(45703,3),(45705,3),(45737,3),(45747,3),(45748,3),(45759,3),(45789,3),(45801,3),(45805,3),(45806,3),(45808,3),(45816,3),(45818,3),(45823,3),(45826,3),(45829,3),(45830,3),(45832,3),(45839,3),(45853,3),(45864,3),(45878,3),(45881,3),(45886,3),(45893,3),(45895,3),(45897,3),(45901,3),(45905,3),(45913,3),(45914,3),(45917,3),(45924,3),(45925,3),(45928,3),(45933,3),(45941,3),(45957,3),(45962,3),(45975,3),(45984,3),(45991,3),(45996,3),(46003,3),(46009,3),(46013,3),(46016,3),(46020,3),(46035,3),(46039,3),(46063,3),(46075,3),(46084,3),(46086,3),(46090,3),(46097,3),(46100,3),(46101,3),(46114,3),(46121,3),(46129,3),(46137,3),(46139,3),(46147,3),(46151,3),(46157,3),(46159,3),(46161,3),(46164,3),(46167,3),(46173,3),(46178,3),(46179,3),(46191,3),(46197,3),(46207,3),(46216,3),(46226,3),(46240,3),(46245,3),(46247,3),(46256,3),(46277,3),(46284,3),(46294,3),(46295,3),(46305,3),(46313,3),(46317,3),(46318,3),(46321,3),(46340,3),(46341,3),(46344,3),(46351,3),(46374,3),(46376,3),(46386,3),(46387,3),(46396,3),(46398,3),(46412,3),(46414,3),(46419,3),(46424,3),(46431,3),(46438,3),(46447,3),(46448,3),(46456,3),(46461,3),(46462,3),(46464,3),(46466,3),(46494,3),(46495,3),(46497,3),(46498,3),(46503,3),(46506,3),(46511,3),(46512,3),(46526,3),(46528,3),(46530,3),(46538,3),(46539,3),(46540,3),(46550,3),(46556,3),(46557,3),(46558,3),(46560,3),(46564,3),(46569,3),(46574,3),(46576,3),(46581,3),(46585,3),(46593,3),(46605,3),(46613,3),(46616,3),(46623,3),(46629,3),(46641,3),(46644,3),(46650,3),(46666,3),(46669,3),(46674,3),(46681,3),(46685,3),(46686,3),(46687,3),(46700,3),(46701,3),(46703,3),(46706,3),(46709,3),(46710,3),(46717,3),(46722,3),(46726,3),(46728,3),(46734,3),(46736,3),(46740,3),(46752,3),(46756,3),(46763,3),(46775,3),(46779,3),(46780,3),(46781,3),(46782,3),(46790,3),(46797,3),(46800,3),(46803,3),(46809,3),(46813,3),(46817,3),(46835,3),(46836,3),(46838,3),(46840,3),(46853,3),(46854,3),(46860,3),(46863,3),(46864,3),(46865,3),(46880,3),(46882,3),(46884,3),(46885,3),(46886,3),(46889,3),(46901,3),(46907,3),(46921,3),(46922,3),(46924,3),(46928,3),(46932,3),(46939,3),(46940,3),(46946,3),(46959,3),(46967,3),(46968,3),(46973,3),(46979,3),(46980,3),(46981,3),(46985,3),(46996,3),(46997,3),(46999,3),(47001,3),(47014,3),(47019,3),(47047,3),(47059,3),(47063,3),(47064,3),(47066,3),(47078,3),(47081,3),(47082,3),(47083,3),(47099,3),(47108,3),(47115,3),(47116,3),(47124,3),(47128,3),(47132,3),(47139,3),(47145,3),(47146,3),(47150,3),(47151,3),(47160,3),(47163,3),(47164,3),(47171,3),(47179,3),(47181,3),(47182,3),(47195,3),(47198,3),(47200,3),(47207,3),(47209,3),(47214,3),(47223,3),(47230,3),(47241,3),(47252,3),(47254,3),(47265,3),(47266,3),(47273,3),(47284,3),(47294,3),(47308,3),(47312,3),(47316,3),(47326,3),(47327,3),(47329,3),(47330,3),(47332,3),(47338,3),(47346,3),(47354,3),(47359,3),(47360,3),(47385,3),(47390,3),(47397,3),(47411,3),(47412,3),(47413,3),(47414,3),(47429,3),(47435,3),(47446,3),(47448,3),(47450,3),(47456,3),(47460,3),(47463,3),(47464,3),(47466,3),(47467,3),(47473,3),(47484,3),(47489,3),(47495,3),(47502,3),(47503,3),(47509,3),(47510,3),(47512,3),(47516,3),(47522,3),(47526,3),(47530,3),(47533,3),(47534,3),(47535,3),(47537,3),(47552,3),(47559,3),(47571,3),(47573,3),(47577,3),(47580,3),(47583,3),(47592,3),(47596,3),(47597,3),(47616,3),(47617,3),(47618,3),(47624,3),(47631,3),(47644,3),(47649,3),(47650,3),(47655,3),(47656,3),(47657,3),(47660,3),(47661,3),(47666,3),(47672,3),(47673,3),(47675,3),(47678,3),(47695,3),(47707,3),(47709,3),(47720,3),(47732,3),(47733,3),(47750,3),(47757,3),(47758,3),(47760,3),(47765,3),(47768,3),(47777,3),(47780,3),(47781,3),(47784,3),(47793,3),(47799,3),(47801,3),(47805,3),(47806,3),(47808,3),(47811,3),(47816,3),(47820,3),(47827,3),(47833,3),(47835,3),(47836,3),(47838,3),(47841,3),(47851,3),(47853,3),(47863,3),(47864,3),(47865,3),(47874,3),(47883,3),(47886,3),(47887,3),(47896,3),(47901,3),(47908,3),(47920,3),(47922,3),(47927,3),(47929,3),(47931,3),(47941,3),(47943,3),(47949,3),(47952,3),(47966,3),(47969,3),(47970,3),(47982,3),(47990,3),(47991,3),(47995,3),(48026,3),(48028,3),(48044,3),(48045,3),(48053,3),(48062,3),(48074,3),(48075,3),(48076,3),(48088,3),(48091,3),(48095,3),(48099,3),(48105,3),(48113,3),(48114,3),(48119,3),(48127,3),(48130,3),(48131,3),(48133,3),(48144,3),(48146,3),(48149,3),(48152,3),(48156,3),(48158,3),(48173,3),(48193,3),(48199,3),(48210,3),(48212,3),(48214,3),(48217,3),(48226,3),(48227,3),(48234,3),(48238,3),(48242,3),(48244,3),(48249,3),(48253,3),(48258,3),(48259,3),(48263,3),(48266,3),(48276,3),(48283,3),(48285,3),(48291,3),(48292,3),(48300,3),(48313,3),(48325,3),(48333,3),(48337,3),(48339,3),(48340,3),(48346,3),(48349,3),(48351,3),(48352,3),(48359,3),(48360,3),(48362,3),(48371,3),(48374,3),(48376,3),(48380,3),(48387,3),(48390,3),(48413,3),(48415,3),(48418,3),(48420,3),(48421,3),(48423,3),(48425,3),(48433,3),(48438,3),(48440,3),(48448,3),(48456,3),(48466,3),(48467,3),(48470,3),(48479,3),(48480,3),(48481,3),(48492,3),(48494,3),(48502,3),(48504,3),(48510,3),(48519,3),(48524,3),(48528,3),(48530,3),(48533,3),(48538,3),(48544,3),(48546,3),(48562,3),(48563,3),(48570,3),(48571,3),(48575,3),(48578,3),(48585,3),(48587,3),(48590,3),(48591,3),(48595,3),(48597,3),(48601,3),(48610,3),(48629,3),(48633,3),(48635,3),(48637,3),(48644,3),(48650,3),(48656,3),(48658,3),(48659,3),(48660,3),(48668,3),(48674,3),(48675,3),(48680,3),(48682,3),(48694,3),(48695,3),(48700,3),(48705,3),(48710,3),(48714,3),(48715,3),(48716,3),(48737,3),(48754,3),(48769,3),(48770,3),(48772,3),(48774,3),(48779,3),(48782,3),(48783,3),(48785,3),(48791,3),(48792,3),(48795,3),(48799,3),(48800,3),(48803,3),(48809,3),(48817,3),(48818,3),(48825,3),(48826,3),(48832,3),(48835,3),(48836,3),(48839,3),(48840,3),(48845,3),(48851,3),(48852,3),(48856,3),(48858,3),(48866,3),(48872,3),(48878,3),(48879,3),(48894,3),(48895,3),(48905,3),(48908,3),(48920,3),(48923,3),(48927,3),(48928,3),(48930,3),(48932,3),(48943,3),(48947,3),(48964,3),(48972,3),(48976,3),(48983,3),(48995,3),(48996,3),(49005,3),(49010,3),(49014,3),(49020,3),(49021,3),(49025,3),(49041,3),(49071,3),(49076,3),(49087,3),(49089,3),(49093,3),(49099,3),(49103,3),(49110,3),(49129,3),(49131,3),(49153,3),(49154,3),(49161,3),(49163,3),(49167,3),(49172,3),(49187,3),(49193,3),(49195,3),(49203,3),(49205,3),(49211,3),(49214,3),(49217,3),(49222,3),(49228,3),(49230,3),(49235,3),(49239,3),(49240,3),(49242,3),(49243,3),(49262,3),(49269,3),(49270,3),(49277,3),(49289,3),(49320,3),(49321,3),(49326,3),(49340,3),(49344,3),(49347,3),(49350,3),(49351,3),(49362,3),(49366,3),(49367,3),(49372,3),(49380,3),(49384,3),(49386,3),(49398,3),(49400,3),(49408,3),(49428,3),(49437,3),(49438,3),(49442,3),(49450,3),(49457,3),(49470,3),(49490,3),(49498,3),(49509,3),(49514,3),(49517,3),(49521,3),(49525,3),(49545,3),(49548,3),(49551,3),(49566,3),(49568,3),(49570,3),(49572,3),(49594,3),(49597,3),(49601,3),(49606,3),(49609,3),(49611,3),(49613,3),(49615,3),(49622,3),(49631,3),(49632,3),(49642,3),(49645,3),(49650,3),(49651,3),(49654,3),(49660,3),(49661,3),(49662,3),(49667,3),(49669,3),(49670,3),(49671,3),(49690,3),(49698,3),(49703,3),(49704,3),(49715,3),(49719,3),(49720,3),(49738,3),(49744,3),(49748,3),(49758,3),(49774,3),(49781,3),(49791,3),(49792,3),(49799,3),(49803,3),(49804,3),(49814,3),(49822,3),(49828,3),(49829,3),(49831,3),(49835,3),(49836,3),(49838,3),(49841,3),(49843,3),(49849,3),(49860,3),(49864,3),(49871,3),(49893,3),(49897,3),(49901,3),(49911,3),(49912,3),(49935,3),(49941,3),(49942,3),(49945,3),(49952,3),(49958,3),(49961,3),(49968,3),(49972,3),(49982,3),(49994,3),(50007,3),(50013,3),(50015,3),(50017,3),(50019,3),(50020,3),(50024,3),(50026,3),(50030,3),(50037,3),(50044,3),(50045,3),(50046,3),(50053,3),(50060,3),(50066,3),(50068,3),(50073,3),(50074,3),(50077,3),(50081,3),(50086,3),(50088,3),(50094,3),(50096,3),(50102,3),(50120,3),(50122,3),(50130,3),(50131,3),(50140,3),(50143,3),(50148,3),(50150,3),(50153,3),(50154,3),(50158,3),(50166,3),(50172,3),(50173,3),(50177,3),(50180,3),(50184,3),(50187,3),(50200,3),(50205,3),(50211,3),(50232,3),(50234,3),(50238,3),(50252,3),(50256,3),(50260,3),(50265,3),(50289,3),(50291,3),(50292,3),(50299,3),(50308,3),(50319,3),(50324,3),(50330,3),(50344,3),(50365,3),(50366,3),(50367,3),(50371,3),(50376,3),(50378,3),(50380,3),(50381,3),(50385,3),(50392,3),(50399,3),(50403,3),(50431,3),(50433,3),(50439,3),(50440,3),(50446,3),(50451,3),(50462,3),(50468,3),(50474,3),(50476,3),(50477,3),(50478,3),(50484,3),(50485,3),(50499,3),(50503,3),(50513,3),(50541,3),(50546,3),(50555,3),(50558,3),(50572,3),(50574,3),(50580,3),(50583,3),(50584,3),(50590,3),(50599,3),(50603,3),(50604,3),(50607,3),(50609,3),(50610,3),(50613,3),(50624,3),(50626,3),(50628,3),(50630,3),(50642,3),(50643,3),(50649,3),(50657,3),(50658,3),(50667,3),(50668,3),(50672,3),(50674,3),(50678,3),(50681,3),(50685,3),(50687,3),(50696,3),(50697,3),(50711,3),(50713,3),(50724,3),(50733,3),(50736,3),(50740,3),(50743,3),(50747,3),(50753,3),(50756,3),(50757,3),(50758,3),(50766,3),(50773,3),(50779,3),(50780,3),(50784,3),(50796,3),(50798,3),(50800,3),(50805,3),(50808,3),(50812,3),(50815,3),(50822,3),(50834,3),(50839,3),(50843,3),(50854,3),(50859,3),(50860,3),(50875,3),(50880,3),(50883,3),(50896,3),(50899,3),(50907,3),(50913,3),(50914,3),(50915,3),(50917,3),(50921,3),(50934,3),(50939,3),(50940,3),(50942,3),(50949,3),(50953,3),(50954,3),(50955,3),(50960,3),(50971,3),(50973,3),(50978,3),(50993,3),(50994,3),(50998,3),(50999,3),(51002,3),(51011,3),(51016,3),(51022,3),(51026,3),(51027,3),(51036,3),(51039,3),(51048,3),(51052,3),(51062,3),(51068,3),(51069,3),(51071,3),(51077,3),(51080,3),(51081,3),(51085,3),(51087,3),(51089,3),(51091,3),(51093,3),(51114,3),(51121,3),(51142,3),(51147,3),(51151,3),(51153,3),(51156,3),(51162,3),(51163,3),(51169,3),(51185,3),(51189,3),(51202,3),(51205,3),(51213,3),(51221,3),(51224,3),(51249,3),(51250,3),(51263,3),(51266,3),(51268,3),(51293,3),(51298,3),(51299,3),(51304,3),(51314,3),(51319,3),(51321,3),(51322,3),(51325,3),(51326,3),(51344,3),(51346,3),(51348,3),(51350,3),(51354,3),(51355,3),(51365,3),(51371,3),(51372,3),(51380,3),(51381,3),(51393,3),(51398,3),(51415,3),(51418,3),(51420,3),(51432,3),(51433,3),(51441,3),(51457,3),(51470,3),(51475,3),(51479,3),(51480,3),(51483,3),(51496,3),(51511,3),(51516,3),(51518,3),(51520,3),(51526,3),(51528,3),(51534,3),(51538,3),(51547,3),(51551,3),(51562,3),(51569,3),(51570,3),(51571,3),(51573,3),(51578,3),(51579,3),(51584,3),(51585,3),(51586,3),(51587,3),(51588,3),(51609,3),(51612,3),(51619,3),(51620,3),(51623,3),(51634,3),(51637,3),(51645,3),(51648,3),(51656,3),(51665,3),(51666,3),(51668,3),(51676,3),(51680,3),(51687,3),(51692,3),(51695,3),(51699,3),(51704,3),(51717,3),(51720,3),(51725,3),(51727,3),(51749,3),(51755,3),(51806,3),(51807,3),(51815,3),(51832,3),(51844,3),(51855,3),(51861,3),(51868,3),(51878,3),(51891,3),(51899,3),(51902,3),(51904,3),(51906,3),(51913,3),(51923,3),(51933,3),(51940,3),(51947,3),(51954,3),(51957,3),(51964,3),(51967,3),(51993,3),(52001,3),(52014,3),(52017,3),(52032,3),(52033,3),(52035,3),(52043,3),(52051,3),(52052,3),(52064,3),(52067,3),(52080,3),(52083,3),(52086,3),(52088,3),(52117,3),(52118,3),(52123,3),(52137,3),(52148,3),(52161,3),(52168,3),(52187,3),(52189,3),(52199,3),(52206,3),(52209,3),(52216,3),(52234,3),(52244,3),(52247,3),(52265,3),(52268,3),(52276,3),(52281,3),(52288,3),(52294,3),(52296,3),(52301,3),(52302,3),(52306,3),(52312,3),(52318,3),(52319,3),(52331,3),(52332,3),(52334,3),(52347,3),(52357,3),(52360,3),(52361,3),(52370,3),(52383,3),(52384,3),(52386,3),(52390,3),(52394,3),(52401,3),(52418,3),(52419,3),(52428,3),(52432,3),(52433,3),(52441,3),(52444,3),(52449,3),(52450,3),(52453,3),(52456,3),(52464,3),(52468,3),(52478,3),(52483,3),(52486,3),(52491,3),(52492,3),(52493,3),(52494,3),(52495,3),(52504,3),(52506,3),(52512,3),(52513,3),(52521,3),(52522,3),(52530,3),(52543,3),(52552,3),(52565,3),(52584,3),(52585,3),(52601,3),(52603,3),(52606,3),(52613,3),(52615,3),(52616,3),(52617,3),(52622,3),(52624,3),(52625,3),(52660,3),(52662,3),(52666,3),(52667,3),(52675,3),(52677,3),(52687,3),(52690,3),(52691,3),(52701,3),(52726,3),(52746,3),(52750,3),(52765,3),(52777,3),(52779,3),(52780,3),(52794,3),(52806,3),(52811,3),(52812,3),(52821,3),(52823,3),(52831,3),(52841,3),(52843,3),(52851,3),(52860,3),(52862,3),(52863,3),(52874,3),(52895,3),(52896,3),(52906,3),(52909,3),(52915,3),(52920,3),(52921,3),(52927,3),(52928,3),(52931,3),(52935,3),(52941,3),(52952,3),(52956,3),(52961,3),(52974,3),(52976,3),(52981,3),(52985,3),(52987,3),(52989,3),(52994,3),(52996,3),(52999,3),(53000,3),(53008,3),(53014,3),(53016,3),(53023,3),(53025,3),(53031,3),(53051,3),(53076,3),(53078,3),(53080,3),(53081,3),(53083,3),(53086,3),(53087,3),(53091,3),(53094,3),(53098,3),(53101,3),(53102,3),(53109,3),(53114,3),(53121,3),(53124,3),(53129,3),(53139,3),(53141,3),(53143,3),(53145,3),(53150,3),(53151,3),(53153,3),(53154,3),(53155,3),(53156,3),(53157,3),(53178,3),(53191,3),(53202,3),(53218,3),(53219,3),(53221,3),(53227,3),(53234,3),(53242,3),(53248,3),(53249,3),(53256,3),(53259,3),(53261,3),(53262,3),(53267,3),(53271,3),(53286,3),(53287,3),(53298,3),(53300,3),(53302,3),(53307,3),(53311,3),(53314,3),(53318,3),(53321,3),(53323,3),(53340,3),(53348,3),(53364,3),(53365,3),(53367,3),(53371,3),(53375,3),(53376,3),(53381,3),(53385,3),(53386,3),(53396,3),(53409,3),(53411,3),(53419,3),(53421,3),(53424,3),(53438,3),(53440,3),(53441,3),(53454,3),(53455,3),(53461,3),(53466,3),(53471,3),(53473,3),(53479,3),(53482,3),(53493,3),(53497,3),(53502,3),(53505,3),(53513,3),(53528,3),(53532,3),(53538,3),(53539,3),(53543,3),(53548,3),(53560,3),(53578,3),(53583,3),(53584,3),(53594,3),(53595,3),(53596,3),(53600,3),(53607,3),(53612,3),(53617,3),(53618,3),(53620,3),(53622,3),(53627,3),(53639,3),(53655,3),(53673,3),(53674,3),(53683,3),(53684,3),(53692,3),(53699,3),(53706,3),(53707,3),(53710,3),(53724,3),(53726,3),(53735,3),(53736,3),(53739,3),(53740,3),(53741,3),(53743,3),(53747,3),(53751,3),(53752,3),(53756,3),(53759,3),(53767,3),(53780,3),(53783,3),(53786,3),(53788,3),(53804,3),(53814,3),(53821,3),(53822,3),(53823,3),(53828,3),(53832,3),(53869,3),(53883,3),(53894,3),(53898,3),(53899,3),(53908,3),(53912,3),(53914,3),(53926,3),(53935,3),(53939,3),(53940,3),(53941,3),(53947,3),(53948,3),(53949,3),(53952,3),(53954,3),(53955,3),(53964,3),(53972,3),(53973,3),(53986,3),(53993,3),(54004,3),(54007,3),(54010,3),(54012,3),(54014,3),(54016,3),(54018,3),(54021,3),(54028,3),(54038,3),(54065,3),(54066,3),(54068,3),(54073,3),(54082,3),(54086,3),(54087,3),(54092,3),(54104,3),(54107,3),(54113,3),(54118,3),(54120,3),(54126,3),(54128,3),(54132,3),(54134,3),(54137,3),(54154,3),(54166,3),(54168,3),(54170,3),(54173,3),(54188,3),(54194,3),(54196,3),(54200,3),(54204,3),(54207,3),(54225,3),(54231,3),(54232,3),(54235,3),(54237,3),(54245,3),(54248,3),(54251,3),(54261,3),(54265,3),(54266,3),(54269,3),(54270,3),(54272,3),(54287,3),(54289,3),(54294,3),(54295,3),(54304,3),(54309,3),(54316,3),(54328,3),(54337,3),(54338,3),(54341,3),(54348,3),(54361,3),(54363,3),(54403,3),(54406,3),(54407,3),(54410,3),(54415,3),(54419,3),(54430,3),(54436,3),(54443,3),(54444,3),(54452,3),(54453,3),(54456,3),(54457,3),(54473,3),(54474,3),(54483,3),(54484,3),(54489,3),(54490,3),(54491,3),(54505,3),(54513,3),(54524,3),(54543,3),(54544,3),(54562,3),(54564,3),(54579,3),(54581,3),(54583,3),(54600,3),(54624,3),(54626,3),(54633,3),(54637,3),(54646,3),(54654,3),(54655,3),(54661,3),(54665,3),(54676,3),(54680,3),(54685,3),(54693,3),(54695,3),(54700,3),(54702,3),(54716,3),(54722,3),(54726,3),(54741,3),(54748,3),(54754,3),(54763,3),(54774,3),(54775,3),(54786,3),(54791,3),(54797,3),(54809,3),(54820,3),(54821,3),(54823,3),(54826,3),(54829,3),(54833,3),(54835,3),(54840,3),(54853,3),(54863,3),(54866,3),(54867,3),(54895,3),(54900,3),(54904,3),(54915,3),(54918,3),(54923,3),(54943,3),(54945,3),(54949,3),(54956,3),(54958,3),(54959,3),(54960,3),(54961,3),(54969,3),(54971,3),(54975,3),(54978,3),(54989,3),(54990,3),(54992,3),(54994,3),(55002,3),(55003,3),(55005,3),(55011,3),(55017,3),(55022,3),(55034,3),(55035,3),(55044,3),(55056,3),(55058,3),(55062,3),(55066,3),(55074,3),(55075,3),(55083,3),(55084,3),(55091,3),(55099,3),(55118,3),(55120,3),(55122,3),(55132,3),(55133,3),(55140,3),(55142,3),(55145,3),(55148,3),(55149,3),(55172,3),(55176,3),(55182,3),(55190,3),(55194,3),(55202,3),(55209,3),(55214,3),(55224,3),(55245,3),(55249,3),(55256,3),(55280,3),(55281,3),(55284,3),(55286,3),(55293,3),(55294,3),(55295,3),(55299,3),(55301,3),(55302,3),(55307,3),(55310,3),(55312,3),(55314,3),(55317,3),(55338,3),(55339,3),(55345,3),(55346,3),(55355,3),(55358,3),(55360,3),(55366,3),(55368,3),(55370,3),(55373,3),(55379,3),(55414,3),(55417,3),(55423,3),(55427,3),(55431,3),(55436,3),(55442,3),(55452,3),(55457,3),(55458,3),(55459,3),(55460,3),(55463,3),(55467,3),(55469,3),(55471,3),(55485,3),(55493,3),(55499,3),(55502,3),(55503,3),(55505,3),(55506,3),(55509,3),(55513,3),(55520,3),(55532,3),(55533,3),(55537,3),(55538,3),(55540,3),(55550,3),(55553,3),(55555,3),(55556,3),(55570,3),(55587,3),(55589,3),(55592,3),(55593,3),(55596,3),(55599,3),(55600,3),(55602,3),(55605,3),(55609,3),(55612,3),(55615,3),(55619,3),(55623,3),(55638,3),(55639,3),(55650,3),(55660,3),(55664,3),(55666,3),(55675,3),(55676,3),(55679,3),(55680,3),(55683,3),(55686,3),(55697,3),(55708,3),(55711,3),(55714,3),(55715,3),(55724,3),(55736,3),(55738,3),(55739,3),(55742,3),(55746,3),(55749,3),(55759,3),(55771,3),(55772,3),(55777,3),(55779,3),(55792,3),(55795,3),(55808,3),(55809,3),(55813,3),(55817,3),(55820,3),(55821,3),(55824,3),(55831,3),(55833,3),(55835,3),(55840,3),(55848,3),(55849,3),(55858,3),(55862,3),(55870,3),(55879,3),(55891,3),(55892,3),(55907,3),(55908,3),(55914,3),(55920,3),(55922,3),(55951,3),(55954,3),(55977,3),(55988,3),(55989,3),(55997,3),(55998,3),(56009,3),(56013,3),(56024,3),(56045,3),(56058,3),(56061,3),(56064,3),(56072,3),(56073,3),(56088,3),(56100,3),(56105,3),(56109,3),(56112,3),(56116,3),(56127,3),(56128,3),(56129,3),(56130,3),(56135,3),(56137,3),(56141,3),(56144,3),(56152,3),(56153,3),(56160,3),(56161,3),(56167,3),(56169,3),(56175,3),(56179,3),(56184,3),(56190,3),(56191,3),(56196,3),(56197,3),(56198,3),(56201,3),(56207,3),(56210,3),(56223,3),(56224,3),(56225,3),(56227,3),(56233,3),(56234,3),(56237,3),(56238,3),(56239,3),(56245,3),(56247,3),(56248,3),(56249,3),(56250,3),(56252,3),(56262,3),(56267,3),(56287,3),(56291,3),(56299,3),(56305,3),(56317,3),(56319,3),(56321,3),(56322,3),(56324,3),(56339,3),(56342,3),(56348,3),(56349,3),(56362,3),(56367,3),(56374,3),(56390,3),(56397,3),(56405,3),(56409,3),(56417,3),(56422,3),(56428,3),(56434,3),(56435,3),(56437,3),(56438,3),(56442,3),(56453,3),(56472,3),(56503,3),(56508,3),(56509,3),(56532,3),(56535,3),(56537,3),(56538,3),(56563,3),(56564,3),(56569,3),(56579,3),(56584,3),(56586,3),(56590,3),(56597,3),(56609,3),(56625,3),(56627,3),(56629,3),(56630,3),(56633,3),(56634,3),(56636,3),(56641,3),(56643,3),(56649,3),(56663,3),(56668,3),(56685,3),(56692,3),(56694,3),(56697,3),(56698,3),(56706,3),(56707,3),(56710,3),(56715,3),(56719,3),(56726,3),(56749,3),(56750,3),(56753,3),(56757,3),(56763,3),(56768,3),(56769,3),(56772,3),(56774,3),(56775,3),(56777,3),(56789,3),(56791,3),(56797,3),(56804,3),(56805,3),(56811,3),(56818,3),(56820,3),(56821,3),(56831,3),(56836,3),(56838,3),(56839,3),(56840,3),(56841,3),(56845,3),(56851,3),(56853,3),(56855,3),(56858,3),(56860,3),(56863,3),(56866,3),(56867,3),(56872,3),(56877,3),(56890,3),(56900,3),(56901,3),(56906,3),(56937,3),(56939,3),(56940,3),(56959,3),(56972,3),(56977,3),(56989,3),(56990,3),(57005,3),(57008,3),(57009,3),(57016,3),(57019,3),(57022,3),(57023,3),(57031,3),(57050,3),(57056,3),(57064,3),(57067,3),(57073,3),(57079,3),(57083,3),(57091,3),(57099,3),(57115,3),(57116,3),(57118,3),(57119,3),(57121,3),(57123,3),(57130,3),(57154,3),(57171,3),(57173,3),(57178,3),(57187,3),(57195,3),(57197,3),(57198,3),(57203,3),(57213,3),(57218,3),(57219,3),(57223,3),(57227,3),(57228,3),(57230,3),(57236,3),(57237,3),(57241,3),(57242,3),(57245,3),(57258,3),(57259,3),(57264,3),(57269,3),(57276,3),(57279,3),(57296,3),(57327,3),(57333,3),(57340,3),(57344,3),(57348,3),(57351,3),(57352,3),(57357,3),(57358,3),(57366,3),(57382,3),(57393,3),(57398,3),(57410,3),(57412,3),(57420,3),(57422,3),(57424,3),(57430,3),(57435,3),(57443,3),(57444,3),(57451,3),(57453,3),(57469,3),(57471,3),(57479,3),(57483,3),(57485,3),(57488,3),(57493,3),(57499,3),(57501,3),(57509,3),(57510,3),(57511,3),(57515,3),(57533,3),(57540,3),(57551,3),(57569,3),(57572,3),(57575,3),(57579,3),(57587,3),(57591,3),(57598,3),(57600,3),(57602,3),(57605,3),(57607,3),(57608,3),(57609,3),(57617,3),(57621,3),(57624,3),(57629,3),(57639,3),(57640,3),(57650,3),(57652,3),(57653,3),(57654,3),(57661,3),(57671,3),(57686,3),(57689,3),(57691,3),(57700,3),(57709,3),(57718,3),(57724,3),(57729,3),(57741,3),(57743,3),(57745,3),(57746,3),(57749,3),(57755,3),(57756,3),(57758,3),(57764,3),(57765,3),(57767,3),(57782,3),(57783,3),(57784,3),(57800,3),(57804,3),(57807,3),(57823,3),(57850,3),(57853,3),(57858,3),(57861,3),(57865,3),(57877,3),(57884,3),(57891,3),(57894,3),(57895,3),(57907,3),(57909,3),(57915,3),(57916,3),(57921,3),(57932,3),(57935,3),(57941,3),(57944,3),(57947,3),(57969,3),(57970,3),(57971,3),(57972,3),(57977,3),(57978,3),(57980,3),(57986,3),(57999,3),(58002,3),(58010,3),(58011,3),(58015,3),(58019,3),(58022,3),(58026,3),(58029,3),(58034,3),(58047,3),(58058,3),(58061,3),(58081,3),(58082,3),(58084,3),(58087,3),(58110,3),(58113,3),(58120,3),(58123,3),(58132,3),(58138,3),(58154,3),(58156,3),(58162,3),(58165,3),(58171,3),(58179,3),(58181,3),(58183,3),(58185,3),(58194,3),(58197,3),(58205,3),(58209,3),(58210,3),(58212,3),(58216,3),(58218,3),(58219,3),(58222,3),(58253,3),(58255,3),(58256,3),(58257,3),(58264,3),(58267,3),(58275,3),(58285,3),(58294,3),(58301,3),(58302,3),(58310,3),(58311,3),(58312,3),(58315,3),(58331,3),(58335,3),(58336,3),(58339,3),(58341,3),(58347,3),(58349,3),(58351,3),(58352,3),(58357,3),(58358,3),(58370,3),(58371,3),(58384,3),(58385,3),(58387,3),(58388,3),(58392,3),(58398,3),(58405,3),(58410,3),(58418,3),(58422,3),(58424,3),(58431,3),(58436,3),(58450,3),(58453,3),(58455,3),(58463,3),(58469,3),(58490,3),(58491,3),(58497,3),(58503,3),(58512,3),(58514,3),(58520,3),(58525,3),(58530,3),(58536,3),(58537,3),(58562,3),(58565,3),(58567,3),(58568,3),(58571,3),(58572,3),(58576,3),(58580,3),(58593,3),(58610,3),(58615,3),(58616,3),(58619,3),(58620,3),(58632,3),(58636,3),(58648,3),(58653,3),(58655,3),(58658,3),(58661,3),(58664,3),(58669,3),(58671,3),(58676,3),(58679,3),(58680,3),(58689,3),(58708,3),(58730,3),(58732,3),(58734,3),(58735,3),(58737,3),(58738,3),(58741,3),(58743,3),(58744,3),(58759,3),(58762,3),(58766,3),(58767,3),(58769,3),(58770,3),(58773,3),(58774,3),(58785,3),(58802,3),(58805,3),(58810,3),(58814,3),(58822,3),(58823,3),(58825,3),(58827,3),(58833,3),(58854,3),(58862,3),(58863,3),(58864,3),(58866,3),(58872,3),(58873,3),(58877,3),(58883,3),(58891,3),(58894,3),(58895,3),(58899,3),(58900,3),(58901,3),(58902,3),(58905,3),(58906,3),(58907,3),(58912,3),(58916,3),(58920,3),(58926,3),(58933,3),(58942,3),(58951,3),(58953,3),(58966,3),(58967,3),(58970,3),(58973,3),(58980,3),(58988,3),(58991,3),(59004,3),(59007,3),(59009,3),(59014,3),(59026,3),(59029,3),(59032,3),(59034,3),(59040,3),(59046,3),(59056,3),(59061,3),(59063,3),(59076,3),(59078,3),(59080,3),(59082,3),(59086,3),(59091,3),(59097,3),(59099,3),(59105,3),(59114,3),(59115,3),(59126,3),(59131,3),(59132,3),(59140,3),(59142,3),(59144,3),(59164,3),(59165,3),(59178,3),(59184,3),(59202,3),(59211,3),(59221,3),(59227,3),(59230,3),(59235,3),(59247,3),(59248,3),(59255,3),(59256,3),(59268,3),(59280,3),(59282,3),(59287,3),(59291,3),(59303,3),(59306,3),(59310,3),(59311,3),(59316,3),(59318,3),(59326,3),(59330,3),(59331,3),(59345,3),(59354,3),(59355,3),(59366,3),(59368,3),(59370,3),(59372,3),(59393,3),(59399,3),(59400,3),(59406,3),(59410,3),(59413,3),(59422,3),(59427,3),(59434,3),(59436,3),(59447,3),(59450,3),(59461,3),(59462,3),(59464,3),(59467,3),(59474,3),(59477,3),(59492,3),(59497,3),(59499,3),(59503,3),(59504,3),(59514,3),(59518,3),(59522,3),(59523,3),(59528,3),(59538,3),(59541,3),(59544,3),(59546,3),(59548,3),(59564,3),(59566,3),(59567,3),(59580,3),(59582,3),(59591,3),(59593,3),(59596,3),(59598,3),(59600,3),(59602,3),(59604,3),(59610,3),(59617,3),(59619,3),(59620,3),(59622,3),(59624,3),(59627,3),(59634,3),(59644,3),(59649,3),(59653,3),(59668,3),(59676,3),(59679,3),(59686,3),(59690,3),(59691,3),(59693,3),(59704,3),(59705,3),(59707,3),(59725,3),(59739,3),(59747,3),(59753,3),(59755,3),(59757,3),(59759,3),(59760,3),(59764,3),(59770,3),(59773,3),(59776,3),(59779,3),(59781,3),(59783,3),(59793,3),(59798,3),(59806,3),(59811,3),(59814,3),(59825,3),(59828,3),(59829,3),(59832,3),(59865,3),(59871,3),(59874,3),(59890,3),(59896,3),(59897,3),(59903,3),(59905,3),(59911,3),(59912,3),(59918,3),(59924,3),(59937,3),(59939,3),(59943,3),(59946,3),(59951,3),(59953,3),(59955,3),(59965,3),(59966,3),(59992,3),(59994,3),(59996,3),(60001,3),(60003,3),(60016,3),(60034,3),(60040,3),(60047,3),(60055,3),(60057,3),(60059,3),(60064,3),(60072,3),(60078,3),(60086,3),(60087,3),(60091,3),(60094,3),(60104,3),(60110,3),(60119,3),(60129,3),(60139,3),(60147,3),(60156,3),(60159,3),(60168,3),(60169,3),(60171,3),(60172,3),(60173,3),(60182,3),(60185,3),(60191,3),(60211,3),(60214,3),(60224,3),(60228,3),(60232,3),(60236,3),(60237,3),(60252,3),(60271,3),(60272,3),(60274,3),(60283,3),(60286,3),(60287,3),(60296,3),(60320,3),(60321,3),(60322,3),(60325,3),(60326,3),(60330,3),(60332,3),(60335,3),(60340,3),(60345,3),(60346,3),(60348,3),(60349,3),(60357,3),(60362,3),(60363,3),(60369,3),(60381,3),(60386,3),(60389,3),(60390,3),(60413,3),(60422,3),(60428,3),(60437,3),(60454,3),(60455,3),(60457,3),(60468,3),(60474,3),(60477,3),(60479,3),(60481,3),(60483,3),(60485,3),(60497,3),(60499,3),(60500,3),(60509,3),(60519,3),(60542,3),(60544,3),(60547,3),(60551,3),(60554,3),(60571,3),(60593,3),(60605,3),(60617,3),(60621,3),(60622,3),(60631,3),(60641,3),(60667,3),(60678,3),(60682,3),(60683,3),(60693,3),(60694,3),(60735,3),(60739,3),(60741,3),(60746,3),(60751,3),(60753,3),(60755,3),(60758,3),(60760,3),(60775,3),(60776,3),(60780,3),(60787,3),(60799,3),(60801,3),(60804,3),(60807,3),(60813,3),(60828,3),(60849,3),(60857,3),(60858,3),(60866,3),(60869,3),(60871,3),(60885,3),(60892,3),(60899,3),(60912,3),(60924,3),(60930,3),(60932,3),(60933,3),(60934,3),(60939,3),(60941,3),(60944,3),(60947,3),(60979,3),(60985,3),(60992,3),(60999,3),(61000,3),(61003,3),(61004,3),(61007,3),(61009,3),(61026,3),(61027,3),(61029,3),(61030,3),(61031,3),(61032,3),(61034,3),(61039,3),(61041,3),(61043,3),(61048,3),(61058,3),(61068,3),(61069,3),(61071,3),(61077,3),(61087,3),(61093,3),(61095,3),(61101,3),(61105,3),(61113,3),(61115,3),(61124,3),(61125,3),(61128,3),(61133,3),(61142,3),(61146,3),(61152,3),(61155,3),(61157,3),(61160,3),(61161,3),(61162,3),(61163,3),(61164,3),(61174,3),(61180,3),(61190,3),(61196,3),(61199,3),(61201,3),(61203,3),(61214,3),(61216,3),(61221,3),(61224,3),(61230,3),(61232,3),(61234,3),(61239,3),(61244,3),(61260,3),(61272,3),(61274,3),(61285,3),(61292,3),(61299,3),(61323,3),(61332,3),(61334,3),(61353,3),(61354,3),(61360,3),(61362,3),(61376,3),(61379,3),(61383,3),(61392,3),(61394,3),(61395,3),(61398,3),(61407,3),(61419,3),(61421,3),(61426,3),(61427,3),(61429,3),(61430,3),(61450,3),(61460,3),(61462,3),(61464,3),(61466,3),(61468,3),(61473,3),(61485,3),(61486,3),(61493,3),(61498,3),(61501,3),(61504,3),(61510,3),(61515,3),(61516,3),(61517,3),(61524,3),(61531,3),(61535,3),(61540,3),(61549,3),(61567,3),(61568,3),(61574,3),(61575,3),(61580,3),(61584,3),(61591,3),(61596,3),(61599,3),(61600,3),(61601,3),(61607,3),(61610,3),(61611,3),(61614,3),(61629,3),(61635,3),(61640,3),(61641,3),(61653,3),(61657,3),(61663,3),(61672,3),(61675,3),(61678,3),(61683,3),(61692,3),(61696,3),(61697,3),(61711,3),(61712,3),(61731,3),(61737,3),(61738,3),(61740,3),(61743,3),(61744,3),(61754,3),(61755,3),(61761,3),(61769,3),(61772,3),(61776,3),(61782,3),(61786,3),(61795,3),(61804,3),(61812,3),(61814,3),(61816,3),(61817,3),(61830,3),(61832,3),(61835,3),(61836,3),(61841,3),(61844,3),(61847,3),(61848,3),(61849,3),(61850,3),(61854,3),(61855,3),(61861,3),(61862,3),(61863,3),(61865,3),(61878,3),(61892,3),(61905,3),(61909,3),(61914,3),(61919,3),(61922,3),(61927,3),(61928,3),(61933,3),(61934,3),(61935,3),(61943,3),(61944,3),(61950,3),(61952,3),(61954,3),(61955,3),(61956,3),(61960,3),(61968,3),(61971,3),(61988,3),(61996,3),(62010,3),(62017,3),(62021,3),(62032,3),(62044,3),(62045,3),(62064,3),(62067,3),(62069,3),(62074,3),(62078,3),(62085,3),(62092,3),(62095,3),(62099,3),(62101,3),(62102,3),(62104,3),(62109,3),(62113,3),(62115,3),(62116,3),(62122,3),(62126,3),(62130,3),(62132,3),(62136,3),(62137,3),(62146,3),(62150,3),(62154,3),(62155,3),(62159,3),(62160,3),(62162,3),(62173,3),(62179,3),(62187,3),(62188,3),(62189,3),(62195,3),(62198,3),(62200,3),(62225,3),(62232,3),(62238,3),(62240,3),(62250,3),(62257,3),(62258,3),(62267,3),(62275,3),(62279,3),(62283,3),(62285,3),(62291,3),(62295,3),(62304,3),(62307,3),(62309,3),(62312,3),(62316,3),(62324,3),(62341,3),(62342,3),(62350,3),(62357,3),(62422,3),(62427,3),(62434,3),(62436,3),(62447,3),(62449,3),(62455,3),(62458,3),(62459,3),(62462,3),(62465,3),(62474,3),(62481,3),(62492,3),(62494,3),(62495,3),(62499,3),(62500,3),(62501,3),(62502,3),(62511,3),(62515,3),(62517,3),(62519,3),(62521,3),(62528,3),(62529,3),(62535,3),(62536,3),(62540,3),(62543,3),(62549,3),(62553,3),(62563,3),(62566,3),(62583,3),(62590,3),(62594,3),(62595,3),(62608,3),(62611,3),(62628,3),(62644,3),(62655,3),(62662,3),(62667,3),(62669,3),(62670,3),(62683,3),(62684,3),(62686,3),(62687,3),(62690,3),(62693,3),(62698,3),(62700,3),(62705,3),(62714,3),(62718,3),(62719,3),(62725,3),(62730,3),(62736,3),(62737,3),(62749,3),(62750,3),(62754,3),(62758,3),(62765,3),(62779,3),(62787,3),(62789,3),(62797,3),(62805,3),(62813,3),(62815,3),(62816,3),(62819,3),(62822,3),(62829,3),(62835,3),(62839,3),(62843,3),(62845,3),(62853,3),(62867,3),(62874,3),(62883,3),(62885,3),(62895,3),(62912,3),(62914,3),(62919,3),(62922,3),(62929,3),(62932,3),(62933,3),(62937,3),(62949,3),(62962,3),(62967,3),(62969,3),(62972,3),(62973,3),(63003,3),(63007,3),(63010,3),(63016,3),(63017,3),(63019,3),(63031,3),(63034,3),(63041,3),(63044,3),(63046,3),(63050,3),(63051,3),(63056,3),(63057,3),(63062,3),(63070,3),(63080,3),(63084,3),(63098,3),(63099,3),(63115,3),(63117,3),(63121,3),(63124,3),(63125,3),(63141,3),(63149,3),(63153,3),(63155,3),(63156,3),(63160,3),(63164,3),(63165,3),(63166,3),(63169,3),(63171,3),(63198,3),(63201,3),(63210,3),(63217,3),(63221,3),(63241,3),(63243,3),(63244,3),(63251,3),(63252,3),(63258,3),(63259,3),(63264,3),(63271,3),(63273,3),(63276,3),(63277,3),(63287,3),(63291,3),(63296,3),(63298,3),(63300,3),(63302,3),(63308,3),(63309,3),(63315,3),(63317,3),(63319,3),(63322,3),(63323,3),(63325,3),(63339,3),(63347,3),(63363,3),(63366,3),(63389,3),(63394,3),(63400,3),(63408,3),(63420,3),(63425,3),(63436,3),(63441,3),(63449,3),(63479,3),(63484,3),(63485,3),(63488,3),(63498,3),(63504,3),(63510,3),(63523,3),(63527,3),(63537,3),(63570,3),(63577,3),(63600,3),(63615,3),(63629,3),(63636,3),(63637,3),(63638,3),(63651,3),(63654,3),(63661,3),(63675,3),(63680,3),(63682,3),(63687,3),(63692,3),(63693,3),(63695,3),(63696,3),(63700,3),(63710,3),(63716,3),(63719,3),(63724,3),(63730,3),(63731,3),(63735,3),(63745,3),(63754,3),(63757,3),(63764,3),(63771,3),(63776,3),(63777,3),(63780,3),(63784,3),(63788,3),(63790,3),(63795,3),(63796,3),(63803,3),(63805,3),(63810,3),(63826,3),(63831,3),(63834,3),(63841,3),(63846,3),(63861,3),(63864,3),(63867,3),(63879,3),(63882,3),(63885,3),(63888,3),(63902,3),(63908,3),(63915,3),(63931,3),(63934,3),(63942,3),(63943,3),(63955,3),(63961,3),(63967,3),(63968,3),(63981,3),(63996,3),(63997,3),(63998,3),(64008,3),(64011,3),(64013,3),(64032,3),(64034,3),(64035,3),(64047,3),(64048,3),(64050,3),(64054,3),(64056,3),(64062,3),(64064,3),(64066,3),(64067,3),(64068,3),(64070,3),(64071,3),(64074,3),(64084,3),(64092,3),(64094,3),(64096,3),(64099,3),(64111,3),(64122,3),(64132,3),(64139,3),(64147,3),(64148,3),(64149,3),(64151,3),(64154,3),(64167,3),(64170,3),(64173,3),(64176,3),(64186,3),(64205,3),(64210,3),(64212,3),(64214,3),(64237,3),(64242,3),(64245,3),(64250,3),(64252,3),(64263,3),(64270,3),(64275,3),(64295,3),(64297,3),(64315,3),(64317,3),(64320,3),(64329,3),(64331,3),(64343,3),(64347,3),(64350,3),(64363,3),(64375,3),(64388,3),(64397,3),(64405,3),(64406,3),(64408,3),(64434,3),(64435,3),(64442,3),(64449,3),(64453,3),(64457,3),(64459,3),(64467,3),(64487,3),(64495,3),(64499,3),(64501,3),(64507,3),(64516,3),(64519,3),(64540,3),(64543,3),(64546,3),(64554,3),(64555,3),(64558,3),(64561,3),(64565,3),(64570,3),(64581,3),(64584,3),(64593,3),(64606,3),(64608,3),(64611,3),(64613,3),(64614,3),(64618,3),(64619,3),(64639,3),(64654,3),(64657,3),(64658,3),(64661,3),(64667,3),(64669,3),(64671,3),(64679,3),(64686,3),(64689,3),(64705,3),(64708,3),(64713,3),(64714,3),(64716,3),(64719,3),(64720,3),(64733,3),(64739,3),(64750,3),(64757,3),(64760,3),(64764,3),(64771,3),(64785,3),(64787,3),(64792,3),(64795,3),(64840,3),(64843,3),(64852,3),(64853,3),(64863,3),(64883,3),(64904,3),(64908,3),(64909,3),(64919,3),(64922,3),(64923,3),(64931,3),(64947,3),(64949,3),(64952,3),(64955,3),(64957,3),(64958,3),(64968,3),(64971,3),(64972,3),(64983,3),(64986,3),(64992,3),(65004,3),(65021,3),(65028,3),(65039,3),(65050,3),(65054,3),(65057,3),(65058,3),(65060,3),(65063,3),(65069,3),(65070,3),(65079,3),(65083,3),(65086,3),(65090,3),(65098,3),(65101,3),(65107,3),(65108,3),(65109,3),(65111,3),(65122,3),(65128,3),(65129,3),(65136,3),(65141,3),(65144,3),(65159,3),(65162,3),(65164,3),(65167,3),(65169,3),(65173,3),(65174,3),(65175,3),(65178,3),(65183,3),(65187,3),(65204,3),(65206,3),(65224,3),(65225,3),(65230,3),(65249,3),(65256,3),(65259,3),(65262,3),(65264,3),(65270,3),(65278,3),(65291,3),(65296,3),(65305,3),(65309,3),(65322,3),(65325,3),(65337,3),(65339,3),(65349,3),(65352,3),(65353,3),(65354,3),(65358,3),(65360,3),(65365,3),(65366,3),(65367,3),(65376,3),(65378,3),(65380,3),(65397,3),(65398,3),(65420,3),(65421,3),(65428,3),(65435,3),(65436,3),(65448,3),(65452,3),(65455,3),(65462,3),(65468,3),(65474,3),(65481,3),(65486,3),(65489,3),(65498,3),(65499,3),(65500,3),(65510,3),(65523,3),(65528,3),(65541,3),(65546,3),(65553,3),(65557,3),(65581,3),(65588,3),(65594,3),(65596,3),(65601,3),(65603,3),(65608,3),(65615,3),(65617,3),(65618,3),(65621,3),(65623,3),(65632,3),(65634,3),(65635,3),(65644,3),(65647,3),(65653,3),(65654,3),(65657,3),(65662,3),(65670,3),(65676,3),(65699,3),(65703,3),(65724,3),(65725,3),(65741,3),(65744,3),(65752,3),(65753,3),(65756,3),(65761,3),(65764,3),(65790,3),(65792,3),(65799,3),(65801,3),(65814,3),(65824,3),(65862,3),(65870,3),(65879,3),(65884,3),(65885,3),(65897,3),(65903,3),(65911,3),(65914,3),(65919,3),(65933,3),(65937,3),(65941,3),(65945,3),(65948,3),(65957,3),(65964,3),(65965,3),(65969,3),(65988,3),(65990,3),(65993,3),(66018,3),(66021,3),(66027,3),(66037,3),(66038,3),(66040,3),(66047,3),(66056,3),(66057,3),(66061,3),(66067,3),(66075,3),(66089,3),(66090,3),(66091,3),(66092,3),(66094,3),(66095,3),(66128,3),(66142,3),(66143,3),(66161,3),(66168,3),(66169,3),(66178,3),(66198,3),(66200,3),(66207,3),(66211,3),(66222,3),(66223,3),(66226,3),(66231,3),(66233,3),(66247,3),(66261,3),(66263,3),(66277,3),(66280,3),(66286,3),(66287,3),(66289,3),(66304,3),(66319,3),(66324,3),(66331,3),(66332,3),(66335,3),(66339,3),(66343,3),(66347,3),(66349,3),(66350,3),(66354,3),(66356,3),(66358,3),(66365,3),(66373,3),(66379,3),(66387,3),(66388,3),(66390,3),(66397,3),(66398,3),(66405,3),(66419,3),(66420,3),(66426,3),(66434,3),(66439,3),(66451,3),(66454,3),(66456,3),(66457,3),(66458,3),(66459,3),(66461,3),(66473,3),(66475,3),(66481,3),(66487,3),(66513,3),(66515,3),(66518,3),(66519,3),(66524,3),(66532,3),(66537,3),(66543,3),(66547,3),(66550,3),(66553,3),(66561,3),(66563,3),(66568,3),(66571,3),(66581,3),(66590,3),(66591,3),(66594,3),(66595,3),(66599,3),(66601,3),(66603,3),(66606,3),(66608,3),(66610,3),(66613,3),(66614,3),(66616,3),(66622,3),(66623,3),(66626,3),(66627,3),(66628,3),(66632,3),(66634,3),(66643,3),(66645,3),(66652,3),(66660,3),(66662,3),(66663,3),(66666,3),(66696,3),(66708,3),(66709,3),(66714,3),(66715,3),(66732,3),(66737,3),(66739,3),(66744,3),(66745,3),(66749,3),(66754,3),(66758,3),(66759,3),(66765,3),(66769,3),(66775,3),(66778,3),(66779,3),(66781,3),(66784,3),(66788,3),(66798,3),(66802,3),(66819,3),(66829,3),(66843,3),(66856,3),(66865,3),(66871,3),(66881,3),(66887,3),(66891,3),(66894,3),(66899,3),(66907,3),(66915,3),(66918,3),(66923,3),(66931,3),(66934,3),(66937,3),(66944,3),(66952,3),(66956,3),(66959,3),(66961,3),(66962,3),(66969,3),(66970,3),(66985,3),(66989,3),(66990,3),(66994,3),(67007,3),(67008,3),(67011,3),(67016,3),(67034,3),(67036,3),(67038,3),(67041,3),(67042,3),(67046,3),(67048,3),(67054,3),(67056,3),(67062,3),(67063,3),(67068,3),(67071,3),(67078,3),(67080,3),(67085,3),(67094,3),(67097,3),(67102,3),(67104,3),(67105,3),(67107,3),(67110,3),(67119,3),(67132,3),(67134,3),(67136,3),(67142,3),(67148,3),(67158,3),(67162,3),(67170,3),(67178,3),(67179,3),(67184,3),(67192,3),(67195,3),(67202,3),(67211,3),(67221,3),(67227,3),(67228,3),(67235,3),(67241,3),(67245,3),(67249,3),(67263,3),(67269,3),(67273,3),(67285,3),(67289,3),(67295,3),(67296,3),(67316,3),(67317,3),(67319,3),(67320,3),(67330,3),(67332,3),(67339,3),(67342,3),(67343,3),(67353,3),(67358,3),(67359,3),(67380,3),(67392,3),(67395,3),(67397,3),(67401,3),(67412,3),(67414,3),(67416,3),(67419,3),(67431,3),(67435,3),(67438,3),(67440,3),(67442,3),(67467,3),(67470,3),(67471,3),(67475,3),(67478,3),(67481,3),(67484,3),(67491,3),(67496,3),(67498,3),(67502,3),(67508,3),(67519,3),(67525,3),(67526,3),(67529,3),(67538,3),(67539,3),(67556,3),(67561,3),(67568,3),(67571,3),(67573,3),(67578,3),(67582,3),(67583,3),(67592,3),(67597,3),(67610,3),(67618,3),(67636,3),(67642,3),(67644,3),(67650,3),(67660,3),(67691,3),(67696,3),(67701,3),(67705,3),(67711,3),(67717,3),(67723,3),(67724,3),(67729,3),(67739,3),(67741,3),(67749,3),(67757,3),(67765,3),(67783,3),(67786,3),(67788,3),(67791,3),(67797,3),(67799,3),(67804,3),(67818,3),(67820,3),(67822,3),(67823,3),(67828,3),(67829,3),(67830,3),(67832,3),(67834,3),(67841,3),(67845,3),(67846,3),(67847,3),(67849,3),(67851,3),(67855,3),(67871,3),(67881,3),(67887,3),(67888,3),(67893,3),(67904,3),(67905,3),(67906,3),(67908,3),(67909,3),(67917,3),(67922,3),(67930,3),(67940,3),(67943,3),(67949,3),(67951,3),(67953,3),(67954,3),(67968,3),(67972,3),(67973,3),(67977,3),(67991,3),(68010,3),(68013,3),(68031,3),(68036,3),(68037,3),(68039,3),(68043,3),(68053,3),(68057,3),(68064,3),(68071,3),(68075,3),(68076,3),(68082,3),(68083,3),(68084,3),(68086,3),(68091,3),(68099,3),(68105,3),(68106,3),(68107,3),(68113,3),(68115,3),(68116,3),(68118,3),(68125,3),(68129,3),(68148,3),(68153,3),(68155,3),(68156,3),(68163,3),(68167,3),(68171,3),(68172,3),(68177,3),(68181,3),(68190,3),(68193,3),(68208,3),(68209,3),(68212,3),(68223,3),(68232,3),(68233,3),(68234,3),(68239,3),(68245,3),(68246,3),(68249,3),(68250,3),(68252,3),(68255,3),(68274,3),(68275,3),(68280,3),(68287,3),(68290,3),(68304,3),(68306,3),(68317,3),(68322,3),(68328,3),(68332,3),(68335,3),(68341,3),(68353,3),(68357,3),(68364,3),(68367,3),(68369,3),(68373,3),(68380,3),(68389,3),(68393,3),(68397,3),(68414,3),(68416,3),(68426,3),(68434,3),(68437,3),(68447,3),(68450,3),(68472,3),(68473,3),(68484,3),(68486,3),(68492,3),(68497,3),(68506,3),(68517,3),(68521,3),(68526,3),(68531,3),(68534,3),(68536,3),(68545,3),(68549,3),(68556,3),(68558,3),(68576,3),(68578,3),(68580,3),(68584,3),(68589,3),(68601,3),(68609,3),(68610,3),(68614,3),(68619,3),(68630,3),(68632,3),(68635,3),(68645,3),(68646,3),(68650,3),(68652,3),(68655,3),(68659,3),(68667,3),(68676,3),(68684,3),(68685,3),(68702,3),(68714,3),(68737,3),(68747,3),(68751,3),(68766,3),(68767,3),(68774,3),(68781,3),(68814,3),(68819,3),(68826,3),(68827,3),(68841,3),(68842,3),(68844,3),(68849,3),(68852,3),(68856,3),(68858,3),(68869,3),(68876,3),(68895,3),(68901,3),(68905,3),(68910,3),(68914,3),(68922,3),(68925,3),(68930,3),(68931,3),(68934,3),(68935,3),(68937,3),(68946,3),(68958,3),(68967,3),(68976,3),(68992,3),(68996,3),(69003,3),(69013,3),(69018,3),(69019,3),(69026,3),(69027,3),(69030,3),(69052,3),(69058,3),(69060,3),(69064,3),(69073,3),(69076,3),(69080,3),(69085,3),(69089,3),(69092,3),(69093,3),(69106,3),(69109,3),(69115,3),(69117,3),(69122,3),(69131,3),(69137,3),(69141,3),(69142,3),(69158,3),(69159,3),(69164,3),(69166,3),(69172,3),(69189,3),(69196,3),(69200,3),(69212,3),(69213,3),(69220,3),(69221,3),(69252,3),(69256,3),(69259,3),(69262,3),(69270,3),(69272,3),(69275,3),(69281,3),(69282,3),(69291,3),(69309,3),(69323,3),(69348,3),(69353,3),(69356,3),(69369,3),(69373,3),(69381,3),(69392,3),(69395,3),(69407,3),(69417,3),(69419,3),(69426,3),(69427,3),(69428,3),(69434,3),(69441,3),(69446,3),(69450,3),(69456,3),(69477,3),(69481,3),(69492,3),(69505,3),(69506,3),(69525,3),(69535,3),(69548,3),(69552,3),(69554,3),(69559,3),(69593,3),(69599,3),(69604,3),(69609,3),(69611,3),(69628,3),(69631,3),(69638,3),(69642,3),(69644,3),(69646,3),(69647,3),(69649,3),(69651,3),(69662,3),(69666,3),(69669,3),(69674,3),(69678,3),(69679,3),(69695,3),(69696,3),(69705,3),(69712,3),(69714,3),(69718,3),(69727,3),(69732,3),(69738,3),(69739,3),(69741,3),(69742,3),(69770,3),(69773,3),(69777,3),(69779,3),(69790,3),(69798,3),(69800,3),(69809,3),(69810,3),(69819,3),(69831,3),(69836,3),(69841,3),(69844,3),(69846,3),(69849,3),(69855,3),(69862,3),(69868,3),(69875,3),(69891,3),(69897,3),(69899,3),(69904,3),(69908,3),(69912,3),(69922,3),(69924,3),(69931,3),(69935,3),(69938,3),(69939,3),(69944,3),(69950,3),(69952,3),(69955,3),(69957,3),(69959,3),(69961,3),(69962,3),(69963,3),(69964,3),(69970,3),(69976,3),(69982,3),(69988,3),(69995,3),(70014,3),(70017,3),(70027,3),(70031,3),(70034,3),(70035,3),(70037,3),(70040,3),(70046,3),(70057,3),(70063,3),(70064,3),(70065,3),(70072,3),(70078,3),(70080,3),(70091,3),(70099,3),(70104,3),(70114,3),(70130,3),(70132,3),(70134,3),(70137,3),(70145,3),(70149,3),(70152,3),(70155,3),(70163,3),(70169,3),(70171,3),(70178,3),(70180,3),(70187,3),(70191,3),(70196,3),(70197,3),(70201,3),(70209,3),(70223,3),(70224,3),(70228,3),(70231,3),(70240,3),(70243,3),(70248,3),(70259,3),(70262,3),(70267,3),(70276,3),(70278,3),(70288,3),(70298,3),(70309,3),(70312,3),(70319,3),(70324,3),(70330,3),(70331,3),(70337,3),(70342,3),(70346,3),(70354,3),(70358,3),(70364,3),(70367,3),(70371,3),(70372,3),(70380,3),(70391,3),(70394,3),(70398,3),(70413,3),(70419,3),(70431,3),(70432,3),(70436,3),(70446,3),(70455,3),(70459,3),(70480,3),(70482,3),(70486,3),(70492,3),(70493,3),(70506,3),(70518,3),(70520,3),(70536,3),(70537,3),(70543,3),(70548,3),(70560,3),(70562,3),(70566,3),(70569,3),(70577,3),(70579,3),(70582,3),(70589,3),(70590,3),(70609,3),(70611,3),(70614,3),(70615,3),(70618,3),(70630,3),(70631,3),(70638,3),(70639,3),(70646,3),(70651,3),(70661,3),(70671,3),(70673,3),(70678,3),(70681,3),(70683,3),(70693,3),(70696,3),(70697,3),(70701,3),(70707,3),(70714,3),(70721,3),(70723,3),(70730,3),(70731,3),(70738,3),(70743,3),(70747,3),(70750,3),(70760,3),(70773,3),(70785,3),(70786,3),(70797,3),(70799,3),(70800,3),(70805,3),(70807,3),(70814,3),(70815,3),(70819,3),(70820,3),(70829,3),(70835,3),(70837,3),(70875,3),(70888,3),(70893,3),(70896,3),(70899,3),(70900,3),(70903,3),(70908,3),(70915,3),(70917,3),(70921,3),(70923,3),(70930,3),(70932,3),(70935,3),(70937,3),(70938,3),(70942,3),(70947,3),(70951,3),(70952,3),(70954,3),(70971,3),(70974,3),(70977,3),(70992,3),(70993,3),(70996,3),(70998,3),(71016,3),(71022,3),(71027,3),(71031,3),(71032,3),(71038,3),(71045,3),(71049,3),(71051,3),(71055,3),(71059,3),(71072,3),(71076,3),(71086,3),(71088,3),(71089,3),(71096,3),(71098,3),(71118,3),(71119,3),(71126,3),(71128,3),(71129,3),(71150,3),(71163,3),(71165,3),(71168,3),(71169,3),(71172,3),(71175,3),(71181,3),(71200,3),(71201,3),(71206,3),(71207,3),(71208,3),(71212,3),(71216,3),(71218,3),(71229,3),(71237,3),(71245,3),(71254,3),(71258,3),(71259,3),(71262,3),(71264,3),(71265,3),(71269,3),(71292,3),(71300,3),(71311,3),(71312,3),(71323,3),(71324,3),(71329,3),(71338,3),(71352,3),(71354,3),(71392,3),(71394,3),(71398,3),(71399,3),(71402,3),(71425,3),(71428,3),(71429,3),(71434,3),(71438,3),(71449,3),(71460,3),(71464,3),(71465,3),(71468,3),(71474,3),(71509,3),(71511,3),(71513,3),(71518,3),(71524,3),(71528,3),(71531,3),(71541,3),(71544,3),(71547,3),(71552,3),(71554,3),(71563,3),(71567,3),(71569,3),(71570,3),(71571,3),(71572,3),(71580,3),(71581,3),(71586,3),(71593,3),(71597,3),(71598,3),(71617,3),(71618,3),(71621,3),(71628,3),(71630,3),(71639,3),(71642,3),(71651,3),(71653,3),(71654,3),(71655,3),(71682,3),(71693,3),(71702,3),(71713,3),(71715,3),(71716,3),(71729,3),(71737,3),(71753,3),(71757,3),(71765,3),(71771,3),(71775,3),(71778,3),(71780,3),(71781,3),(71782,3),(71797,3),(71801,3),(71806,3),(71810,3),(71816,3),(71826,3),(71831,3),(71836,3),(71837,3),(71838,3),(71845,3),(71854,3),(71856,3),(71863,3),(71879,3),(71891,3),(71902,3),(71905,3),(71907,3),(71925,3),(71930,3),(71933,3),(71935,3),(71936,3),(71944,3),(71946,3),(71947,3),(71948,3),(71950,3),(71952,3),(71954,3),(71956,3),(71957,3),(71964,3),(71965,3),(71967,3),(71968,3),(71971,3),(71973,3),(71979,3),(71987,3),(71990,3),(72002,3),(72015,3),(72017,3),(72041,3),(72042,3),(72046,3),(72050,3),(72052,3),(72057,3),(72065,3),(72076,3),(72080,3),(72097,3),(72098,3),(72107,3),(72116,3),(72127,3),(72138,3),(72143,3),(72150,3),(72169,3),(72171,3),(72178,3),(72183,3),(72184,3),(72199,3),(72202,3),(72203,3),(72206,3),(72210,3),(72211,3),(72215,3),(72217,3),(72227,3),(72231,3),(72234,3),(72238,3),(72239,3),(72244,3),(72245,3),(72248,3),(72253,3),(72255,3),(72260,3),(72261,3),(72263,3),(72265,3),(72275,3),(72277,3),(72279,3),(72284,3),(72286,3),(72287,3),(72304,3),(72317,3),(72323,3),(72331,3),(72336,3),(72338,3),(72339,3),(72340,3),(72345,3),(72349,3),(72354,3),(72363,3),(72369,3),(72375,3),(72377,3),(72384,3),(72392,3),(72394,3),(72401,3),(72409,3),(72410,3),(72411,3),(72413,3),(72418,3),(72420,3),(72431,3),(72437,3),(72442,3),(72444,3),(72449,3),(72461,3),(72463,3),(72470,3),(72473,3),(72475,3),(72476,3),(72480,3),(72483,3),(72485,3),(72486,3),(72487,3),(72489,3),(72490,3),(72493,3),(72495,3),(72505,3),(72537,3),(72542,3),(72549,3),(72557,3),(72560,3),(72563,3),(72564,3),(72578,3),(72581,3),(72583,3),(72584,3),(72586,3),(72587,3),(72591,3),(72595,3),(72596,3),(72604,3),(72617,3),(72627,3),(72644,3),(72646,3),(72660,3),(72661,3),(72662,3),(72666,3),(72669,3),(72670,3),(72675,3),(72677,3),(72680,3),(72691,3),(72698,3),(72699,3),(72709,3),(72711,3),(72712,3),(72717,3),(72725,3),(72727,3),(72729,3),(72732,3),(72739,3),(72740,3),(72741,3),(72747,3),(72751,3),(72776,3),(72778,3),(72782,3),(72784,3),(72801,3),(72814,3),(72822,3),(72832,3),(72841,3),(72845,3),(72847,3),(72848,3),(72854,3),(72856,3),(72860,3),(72863,3),(72866,3),(72872,3),(72873,3),(72876,3),(72877,3),(72890,3),(72892,3),(72904,3),(72909,3),(72916,3),(72919,3),(72930,3),(72932,3),(72949,3),(72958,3),(72966,3),(72980,3),(72981,3),(72987,3),(72993,3),(72995,3),(73014,3),(73025,3),(73026,3),(73036,3),(73038,3),(73042,3),(73046,3),(73047,3),(73053,3),(73055,3),(73056,3),(73059,3),(73065,3),(73066,3),(73077,3),(73090,3),(73104,3),(73113,3),(73115,3),(73121,3),(73122,3),(73126,3),(73129,3),(73130,3),(73133,3),(73134,3),(73136,3),(73141,3),(73158,3),(73164,3),(73169,3),(73172,3),(73181,3),(73182,3),(73188,3),(73192,3),(73198,3),(73200,3),(73204,3),(73210,3),(73216,3),(73226,3),(73228,3),(73230,3),(73234,3),(73236,3),(73238,3),(73247,3),(73253,3),(73254,3),(73258,3),(73262,3),(73265,3),(73280,3),(73284,3),(73292,3),(73293,3),(73295,3),(73297,3),(73298,3),(73304,3),(73306,3),(73317,3),(73325,3),(73327,3),(73340,3),(73358,3),(73362,3),(73368,3),(73370,3),(73377,3),(73382,3),(73386,3),(73390,3),(73393,3),(73404,3),(73412,3),(73427,3),(73431,3),(73446,3),(73447,3),(73449,3),(73458,3),(73460,3),(73461,3),(73463,3),(73475,3),(73476,3),(73478,3),(73488,3),(73501,3),(73505,3),(73506,3),(73508,3),(73512,3),(73521,3),(73522,3),(73526,3),(73540,3),(73545,3),(73558,3),(73559,3),(73569,3),(73573,3),(73576,3),(73577,3),(73591,3),(73598,3),(73611,3),(73612,3),(73614,3),(73628,3),(73637,3),(73638,3),(73660,3),(73661,3),(73665,3),(73666,3),(73667,3),(73670,3),(73677,3),(73679,3),(73683,3),(73686,3),(73691,3),(73692,3),(73697,3),(73707,3),(73711,3),(73725,3),(73734,3),(73736,3),(73737,3),(73738,3),(73740,3),(73750,3),(73752,3),(73761,3),(73762,3),(73766,3),(73768,3),(73771,3),(73778,3),(73779,3),(73785,3),(73789,3),(73798,3),(73804,3),(73806,3),(73810,3),(73816,3),(73819,3),(73820,3),(73825,3),(73834,3),(73842,3),(73849,3),(73859,3),(73878,3),(73880,3),(73894,3),(73895,3),(73905,3),(73909,3),(73910,3),(73917,3),(73932,3),(73936,3),(73940,3),(73941,3),(73954,3),(73960,3),(73967,3),(73971,3),(73972,3),(73979,3),(73992,3),(73995,3),(73999,3),(74012,3),(74013,3),(74018,3),(74032,3),(74035,3),(74040,3),(74042,3),(74045,3),(74047,3),(74049,3),(74050,3),(74064,3),(74073,3),(74074,3),(74084,3),(74089,3),(74108,3),(74121,3),(74122,3),(74139,3),(74141,3),(74142,3),(74145,3),(74153,3),(74158,3),(74161,3),(74167,3),(74172,3),(74176,3),(74191,3),(74192,3),(74194,3),(74196,3),(74202,3),(74204,3),(74214,3),(74215,3),(74220,3),(74225,3),(74227,3),(74230,3),(74232,3),(74235,3),(74241,3),(74242,3),(74250,3),(74257,3),(74260,3),(74263,3),(74275,3),(74280,3),(74287,3),(74294,3),(74308,3),(74311,3),(74315,3),(74319,3),(74322,3),(74324,3),(74337,3),(74339,3),(74340,3),(74347,3),(74351,3),(74354,3),(74365,3),(74372,3),(74373,3),(74374,3),(74381,3),(74389,3),(74392,3),(74395,3),(74398,3),(74401,3),(74404,3),(74406,3),(74407,3),(74410,3),(74411,3),(74417,3),(74430,3),(74439,3),(74453,3),(74458,3),(74459,3),(74471,3),(74473,3),(74477,3),(74489,3),(74494,3),(74498,3),(74507,3),(74508,3),(74514,3),(74523,3),(74524,3),(74535,3),(74536,3),(74541,3),(74542,3),(74543,3),(74545,3),(74546,3),(74548,3),(74553,3),(74559,3),(74561,3),(74566,3),(74588,3),(74589,3),(74613,3),(74621,3),(74634,3),(74642,3),(74647,3),(74648,3),(74652,3),(74668,3),(74671,3),(74677,3),(74678,3),(74680,3),(74699,3),(74700,3),(74713,3),(74716,3),(74717,3),(74721,3),(74722,3),(74728,3),(74734,3),(74736,3),(74744,3),(74746,3),(74758,3),(74759,3),(74761,3),(74774,3),(74775,3),(74778,3),(74788,3),(74802,3),(74803,3),(74804,3),(74807,3),(74809,3),(74815,3),(74817,3),(74819,3),(74824,3),(74827,3),(74829,3),(74835,3),(74844,3),(74848,3),(74861,3),(74873,3),(74880,3),(74884,3),(74889,3),(74893,3),(74894,3),(74895,3),(74898,3),(74899,3),(74903,3),(74908,3),(74912,3),(74914,3),(74916,3),(74925,3),(74929,3),(74944,3),(74949,3),(74957,3),(74958,3),(74964,3),(74969,3),(74971,3),(74980,3),(74984,3),(74999,3),(75003,3),(75013,3),(75018,3),(75025,3),(75034,3),(75065,3),(75066,3),(75068,3),(75075,3),(75079,3),(75082,3),(75083,3),(75087,3),(75090,3),(75097,3),(75100,3),(75102,3),(75114,3),(75121,3),(75122,3),(75129,3),(75139,3),(75141,3),(75144,3),(75150,3),(75155,3),(75157,3),(75166,3),(75173,3),(75174,3),(75177,3),(75190,3),(75194,3),(75195,3),(75196,3),(75197,3),(75200,3),(75218,3),(75223,3),(75227,3),(75232,3),(75238,3),(75243,3),(75251,3),(75261,3),(75263,3),(75268,3),(75272,3),(75273,3),(75274,3),(75285,3),(75286,3),(75289,3),(75292,3),(75306,3),(75309,3),(75317,3),(75319,3),(75327,3),(75330,3),(75331,3),(75332,3),(75338,3),(75352,3),(75361,3),(75362,3),(75374,3),(75380,3),(75384,3),(75385,3),(75386,3),(75387,3),(75388,3),(75394,3),(75398,3),(75405,3),(75413,3),(75420,3),(75427,3),(75430,3),(75433,3),(75439,3),(75450,3),(75452,3),(75475,3),(75486,3),(75488,3),(75513,3),(75522,3),(75525,3),(75526,3),(75545,3),(75554,3),(75559,3),(75575,3),(75578,3),(75583,3),(75584,3),(75585,3),(75587,3),(75593,3),(75595,3),(75599,3),(75601,3),(75607,3),(75622,3),(75623,3),(75624,3),(75628,3),(75633,3),(75636,3),(75640,3),(75642,3),(75650,3),(75651,3),(75678,3),(75694,3),(75696,3),(75702,3),(75705,3),(75714,3),(75715,3),(75719,3),(75732,3),(75734,3),(75738,3),(75744,3),(75748,3),(75756,3),(75767,3),(75775,3),(75776,3),(75784,3),(75786,3),(75794,3),(75797,3),(75800,3),(75814,3),(75830,3),(75834,3),(75843,3),(75849,3),(75851,3),(75852,3),(75854,3),(75861,3),(75862,3),(75871,3),(75872,3),(75873,3),(75881,3),(75895,3),(75905,3),(75907,3),(75910,3),(75911,3),(75919,3),(75921,3),(75922,3),(75923,3),(75924,3),(75927,3),(75931,3),(75932,3),(75934,3),(75938,3),(75939,3),(75944,3),(75953,3),(75954,3),(75963,3),(75969,3),(75971,3),(75975,3),(75976,3),(75978,3),(75985,3),(76010,3),(76015,3),(76021,3),(76023,3),(76028,3),(76032,3),(76034,3),(76037,3),(76040,3),(76051,3),(76059,3),(76070,3),(76073,3),(76088,3),(76103,3),(76104,3),(76123,3),(76126,3),(76129,3),(76130,3),(76141,3),(76146,3),(76149,3),(76151,3),(76153,3),(76154,3),(76167,3),(76171,3),(76181,3),(76189,3),(76192,3),(76194,3),(76195,3),(76200,3),(76210,3),(76219,3),(76223,3),(76225,3),(76233,3),(76247,3),(76250,3),(76254,3),(76257,3),(76261,3),(76271,3),(76272,3),(76282,3),(76287,3),(76288,3),(76289,3),(76292,3),(76301,3),(76309,3),(76314,3),(76341,3),(76343,3),(76344,3),(76347,3),(76351,3),(76353,3),(76355,3),(76358,3),(76360,3),(76362,3),(76373,3),(76379,3),(76381,3),(76383,3),(76393,3),(76403,3),(76405,3),(76406,3),(76413,3),(76434,3),(76443,3),(76447,3),(76451,3),(76453,3),(76454,3),(76471,3),(76475,3),(76476,3),(76477,3),(76478,3),(76482,3),(76485,3),(76492,3),(76504,3),(76507,3),(76511,3),(76515,3),(76519,3),(76520,3),(76525,3),(76526,3),(76545,3),(76558,3),(76559,3),(76568,3),(76572,3),(76576,3),(76582,3),(76584,3),(76587,3),(76588,3),(76589,3),(76599,3),(76600,3),(76602,3),(76603,3),(76605,3),(76613,3),(76619,3),(76620,3),(76626,3),(76632,3),(76638,3),(76640,3),(76641,3),(76642,3),(76644,3),(76667,3),(76675,3),(76681,3),(76686,3),(76688,3),(76697,3),(76701,3),(76703,3),(76709,3),(76710,3),(76716,3),(76720,3),(76721,3),(76733,3),(76734,3),(76744,3),(76746,3),(76757,3),(76758,3),(76759,3),(76763,3),(76765,3),(76772,3),(76785,3),(76787,3),(76797,3),(76798,3),(76809,3),(76812,3),(76815,3),(76818,3),(76821,3),(76822,3),(76829,3),(76846,3),(76850,3),(76854,3),(76856,3),(76861,3),(76870,3),(76871,3),(76880,3),(76888,3),(76898,3),(76899,3),(76906,3),(76930,3),(76931,3),(76940,3),(76942,3),(76951,3),(76953,3),(76958,3),(76959,3),(76976,3),(76978,3),(76981,3),(76987,3),(76990,3),(76992,3),(76998,3),(77000,3),(77001,3),(77007,3),(77014,3),(77016,3),(77024,3),(77026,3),(77028,3),(77033,3),(77037,3),(77038,3),(77048,3),(77054,3),(77059,3),(77061,3),(77062,3),(77075,3),(77076,3),(77077,3),(77085,3),(77086,3),(77096,3),(77099,3),(77107,3),(77110,3),(77126,3),(77133,3),(77149,3),(77150,3),(77157,3),(77161,3),(77164,3),(77166,3),(77180,3),(77192,3),(77200,3),(77201,3),(77206,3),(77217,3),(77220,3),(77223,3),(77230,3),(77235,3),(77241,3),(77244,3),(77247,3),(77254,3),(77256,3),(77270,3),(77281,3),(77288,3),(77289,3),(77294,3),(77295,3),(77299,3),(77301,3),(77325,3),(77326,3),(77338,3),(77341,3),(77344,3),(77355,3),(77361,3),(77365,3),(77367,3),(77382,3),(77386,3),(77387,3),(77390,3),(77391,3),(77394,3),(77403,3),(77413,3),(77428,3),(77431,3),(77433,3),(77434,3),(77435,3),(77436,3),(77438,3),(77442,3),(77449,3),(77450,3),(77465,3),(77466,3),(77507,3),(77516,3),(77517,3),(77521,3),(77522,3),(77542,3),(77549,3),(77550,3),(77551,3),(77552,3),(77553,3),(77564,3),(77565,3),(77567,3),(77569,3),(77571,3),(77578,3),(77585,3),(77593,3),(77596,3),(77601,3),(77603,3),(77618,3),(77621,3),(77628,3),(77629,3),(77631,3),(77633,3),(77641,3),(77646,3),(77647,3),(77649,3),(77655,3),(77656,3),(77658,3),(77660,3),(77664,3),(77667,3),(77670,3),(77671,3),(77672,3),(77677,3),(77694,3),(77696,3),(77700,3),(77715,3),(77723,3),(77727,3),(77731,3),(77733,3),(77742,3),(77744,3),(77750,3),(77754,3),(77767,3),(77769,3),(77771,3),(77779,3),(77783,3),(77784,3),(77785,3),(77789,3),(77791,3),(77802,3),(77806,3),(77819,3),(77827,3),(77835,3),(77842,3),(77854,3),(77855,3),(77860,3),(77864,3),(77879,3),(77881,3),(77883,3),(77891,3),(77901,3),(77904,3),(77905,3),(77918,3),(77928,3),(77942,3),(77946,3),(77948,3),(77959,3),(77960,3),(77965,3),(77968,3),(77969,3),(77972,3),(77973,3),(77984,3),(77995,3),(77997,3),(77999,3),(78002,3),(78003,3),(78005,3),(78007,3),(78008,3),(78013,3),(78021,3),(78033,3),(78034,3),(78036,3),(78040,3),(78048,3),(78055,3),(78056,3),(78058,3),(78071,3),(78074,3),(78081,3),(78084,3),(78089,3),(78096,3),(78103,3),(78105,3),(78107,3),(78112,3),(78119,3),(78120,3),(78127,3),(78131,3),(78139,3),(78144,3),(78145,3),(78146,3),(78166,3),(78171,3),(78174,3),(78176,3),(78179,3),(78180,3),(78185,3),(78192,3),(78195,3),(78197,3),(78223,3),(78234,3),(78239,3),(78241,3),(78248,3),(78257,3),(78261,3),(78264,3),(78267,3),(78269,3),(78270,3),(78273,3),(78277,3),(78283,3),(78284,3),(78291,3),(78292,3),(78297,3),(78298,3),(78299,3),(78300,3),(78302,3),(78305,3),(78336,3),(78341,3),(78343,3),(78345,3),(78351,3),(78363,3),(78365,3),(78366,3),(78369,3),(78371,3),(78374,3),(78378,3),(78390,3),(78393,3),(78394,3),(78400,3),(78401,3),(78409,3),(78421,3),(78422,3),(78429,3),(78453,3),(78474,3),(78477,3),(78478,3),(78485,3),(78493,3),(78497,3),(78513,3),(78523,3),(78525,3),(78533,3),(78534,3),(78556,3),(78562,3),(78564,3),(78574,3),(78575,3),(78576,3),(78577,3),(78585,3),(78588,3),(78590,3),(78598,3),(78599,3),(78607,3),(78613,3),(78623,3),(78634,3),(78644,3),(78652,3),(78654,3),(78662,3),(78672,3),(78692,3),(78703,3),(78709,3),(78752,3),(78755,3),(78759,3),(78766,3),(78768,3),(78771,3),(78772,3),(78774,3),(78778,3),(78781,3),(78783,3),(78785,3),(78786,3),(78795,3),(78798,3),(78807,3),(78810,3),(78823,3),(78842,3),(78848,3),(78850,3),(78862,3),(78883,3),(78889,3),(78891,3),(78893,3),(78894,3),(78896,3),(78898,3),(78901,3),(78902,3),(78909,3),(78913,3),(78917,3),(78918,3),(78928,3),(78939,3),(78946,3),(78947,3),(78957,3),(78964,3),(78978,3),(78988,3),(78993,3),(78997,3),(79004,3),(79008,3),(79014,3),(79030,3),(79036,3),(79044,3),(79051,3),(79064,3),(79065,3),(79071,3),(79072,3),(79078,3),(79079,3),(79093,3),(79102,3),(79106,3),(79111,3),(79113,3),(79116,3),(79133,3),(79135,3),(79141,3),(79144,3),(79149,3),(79152,3),(79155,3),(79160,3),(79175,3),(79191,3),(79192,3),(79200,3),(79203,3),(79209,3),(79211,3),(79218,3),(79222,3),(79228,3),(79231,3),(79232,3),(79237,3),(79243,3),(79245,3),(79246,3),(79249,3),(79251,3),(79258,3),(79283,3),(79284,3),(79285,3),(79287,3),(79293,3),(79298,3),(79303,3),(79304,3),(79305,3),(79307,3),(79310,3),(79311,3),(79313,3),(79319,3),(79327,3),(79332,3),(79337,3),(79338,3),(79339,3),(79341,3),(79356,3),(79364,3),(79365,3),(79367,3),(79376,3),(79379,3),(79381,3),(79382,3),(79385,3),(79391,3),(79410,3),(79415,3),(79448,3),(79453,3),(79456,3),(79457,3),(79465,3),(79475,3),(79478,3),(79482,3),(79487,3),(79490,3),(79495,3),(79496,3),(79507,3),(79526,3),(79536,3),(79537,3),(79543,3),(79559,3),(79563,3),(79576,3),(79590,3),(79598,3),(79600,3),(79604,3),(79609,3),(79631,3),(79640,3),(79644,3),(79672,3),(79678,3),(79679,3),(79692,3),(79697,3),(79700,3),(79701,3),(79708,3),(79713,3),(79716,3),(79722,3),(79723,3),(79727,3),(79735,3),(79736,3),(79738,3),(79741,3),(79753,3),(79755,3),(79764,3),(79778,3),(79783,3),(79788,3),(79797,3),(79814,3),(79816,3),(79817,3),(79827,3),(79846,3),(79851,3),(79854,3),(79858,3),(79870,3),(79894,3),(79897,3),(79905,3),(79908,3),(79911,3),(79912,3),(79921,3),(79935,3),(79944,3),(79947,3),(79949,3),(79950,3),(79952,3),(79954,3),(79956,3),(79957,3),(79970,3),(79972,3),(79978,3),(79983,3),(79988,3),(80008,3),(80010,3),(80012,3),(80019,3),(80020,3),(80028,3),(80035,3),(80043,3),(80056,3),(80060,3),(80064,3),(80065,3),(80066,3),(80068,3),(80073,3),(80077,3),(80083,3),(80084,3),(80086,3),(80089,3),(80106,3),(80108,3),(80109,3),(80113,3),(80125,3),(80134,3),(80135,3),(80137,3),(80146,3),(80147,3),(80149,3),(80151,3),(80152,3),(80168,3),(80178,3),(80179,3),(80186,3),(80193,3),(80199,3),(80209,3),(80210,3),(80215,3),(80218,3),(80219,3),(80223,3),(80229,3),(80246,3),(80248,3),(80252,3),(80257,3),(80258,3),(80265,3),(80267,3),(80269,3),(80279,3),(80288,3),(80289,3),(80290,3),(80293,3),(80298,3),(80301,3),(80306,3),(80307,3),(80313,3),(80317,3),(80319,3),(80321,3),(80322,3),(80327,3),(80342,3),(80349,3),(80356,3),(80362,3),(80363,3),(80365,3),(80366,3),(80370,3),(80378,3),(80381,3),(80393,3),(80403,3),(80407,3),(80408,3),(80414,3),(80422,3),(80426,3),(80432,3),(80441,3),(80444,3),(80445,3),(80447,3),(80451,3),(80468,3),(80469,3),(80478,3),(80480,3),(80481,3),(80482,3),(80484,3),(80485,3),(80492,3),(80496,3),(80504,3),(80508,3),(80513,3),(80518,3),(80519,3),(80530,3),(80532,3),(80539,3),(80540,3),(80551,3),(80558,3),(80570,3),(80572,3),(80581,3),(80585,3),(80588,3),(80589,3),(80590,3),(80594,3),(80599,3),(80601,3),(80604,3),(80609,3),(80621,3),(80631,3),(80632,3),(80636,3),(80645,3),(80646,3),(80648,3),(80650,3),(80654,3),(80659,3),(80666,3),(80668,3),(80681,3),(80687,3),(80689,3),(80702,3),(80706,3),(80707,3),(80720,3),(80721,3),(80744,3),(80752,3),(80753,3),(80760,3),(80766,3),(80773,3),(80776,3),(80780,3),(80784,3),(80785,3),(80787,3),(80799,3),(80803,3),(80818,3),(80831,3),(80838,3),(80853,3),(80855,3),(80879,3),(80893,3),(80906,3),(80907,3),(80919,3),(80939,3),(80945,3),(80951,3),(80953,3),(80954,3),(80956,3),(80957,3),(80961,3),(80962,3),(80964,3),(80968,3),(80970,3),(80972,3),(80987,3),(80993,3),(80994,3),(81000,3),(81003,3),(81014,3),(81020,3),(81024,3),(81058,3),(81063,3),(81064,3),(81074,3),(81090,3),(81092,3),(81094,3),(81098,3),(81102,3),(81113,3),(81127,3),(81132,3),(81136,3),(81146,3),(81147,3),(81149,3),(81150,3),(81151,3),(81152,3),(81161,3),(81170,3),(81171,3),(81175,3),(81177,3),(81181,3),(81183,3),(81190,3),(81192,3),(81199,3),(81220,3),(81225,3),(81230,3),(81232,3),(81236,3),(81241,3),(81251,3),(81262,3),(81266,3),(81281,3),(81286,3),(81288,3),(81289,3),(81299,3),(81303,3),(81317,3),(81322,3),(81341,3),(81347,3),(81351,3),(81354,3),(81358,3),(81359,3),(81368,3),(81372,3),(81374,3),(81375,3),(81376,3),(81384,3),(81387,3),(81406,3),(81408,3),(81427,3),(81439,3),(81442,3),(81450,3),(81455,3),(81456,3),(81463,3),(81466,3),(81467,3),(81471,3),(81473,3),(81479,3),(81485,3),(81486,3),(81502,3),(81509,3),(81510,3),(81511,3),(81539,3),(81542,3),(81553,3),(81571,3),(81576,3),(81610,3),(81611,3),(81613,3),(81620,3),(81627,3),(81630,3),(81631,3),(81636,3),(81639,3),(81640,3),(81645,3),(81650,3),(81659,3),(81665,3),(81666,3),(81671,3),(81673,3),(81681,3),(81692,3),(81702,3),(81709,3),(81717,3),(81722,3),(81728,3),(81729,3),(81731,3),(81732,3),(81734,3),(81737,3),(81738,3),(81739,3),(81746,3),(81747,3),(81750,3),(81752,3),(81755,3),(81762,3),(81770,3),(81775,3),(81777,3),(81780,3),(81796,3),(81797,3),(81800,3),(81808,3),(81825,3),(81827,3),(81830,3),(81834,3),(81835,3),(81841,3),(81842,3),(81844,3),(81857,3),(81862,3),(81863,3),(81870,3),(81872,3),(81879,3),(81889,3),(81897,3),(81899,3),(81901,3),(81919,3),(81921,3),(81927,3),(81929,3),(81946,3),(81950,3),(81955,3),(81958,3),(81973,3),(81976,3),(81982,3),(81991,3),(81992,3),(81995,3),(82000,3),(82002,3),(82005,3),(82010,3),(82011,3),(82015,3),(82019,3),(82020,3),(82025,3),(82031,3),(82044,3),(82052,3),(82063,3),(82066,3),(82070,3),(82077,3),(82078,3),(82084,3),(82090,3),(82096,3),(82103,3),(82106,3),(82107,3),(82108,3),(82110,3),(82114,3),(82115,3),(82119,3),(82135,3),(82138,3),(82147,3),(82149,3),(82151,3),(82152,3),(82168,3),(82174,3),(82182,3),(82199,3),(82200,3),(82204,3),(82205,3),(82216,3),(82221,3),(82230,3),(82239,3),(82240,3),(82249,3),(82257,3),(82293,3),(82316,3),(82326,3),(82347,3),(82350,3),(82352,3),(82357,3),(82358,3),(82360,3),(82362,3),(82369,3),(82379,3),(82390,3),(82391,3),(82393,3),(82402,3),(82403,3),(82421,3),(82430,3),(82440,3),(82469,3),(82471,3),(82473,3),(82484,3),(82487,3),(82492,3),(82498,3),(82499,3),(82505,3),(82514,3),(82517,3),(82520,3),(82525,3),(82527,3),(82528,3),(82531,3),(82533,3),(82535,3),(82543,3),(82544,3),(82546,3),(82554,3),(82555,3),(82572,3),(82587,3),(82595,3),(82596,3),(82600,3),(82606,3),(82611,3),(82618,3),(82622,3),(82624,3),(82626,3),(82633,3),(82639,3),(82640,3),(82642,3),(82648,3),(82652,3),(82654,3),(82659,3),(82668,3),(82671,3),(82687,3),(82693,3),(82697,3),(82699,3),(82703,3),(82719,3),(82721,3),(82723,3),(82728,3),(82753,3),(82755,3),(82766,3),(82771,3),(82774,3),(82775,3),(82776,3),(82778,3),(82785,3),(82789,3),(82792,3),(82797,3),(82810,3),(82816,3),(82820,3),(82830,3),(82833,3),(82836,3),(82849,3),(82850,3),(82855,3),(82858,3),(82863,3),(82865,3),(82876,3),(82880,3),(82882,3),(82894,3),(82909,3),(82910,3),(82919,3),(82921,3),(82924,3),(82925,3),(82926,3),(82928,3),(82935,3),(82938,3),(82950,3),(82953,3),(82971,3),(82986,3),(82989,3),(82997,3),(83004,3),(83007,3),(83012,3),(83013,3),(83020,3),(83031,3),(83033,3),(83034,3),(83037,3),(83038,3),(83042,3),(83050,3),(83052,3),(83071,3),(83072,3),(83076,3),(83079,3),(83082,3),(83085,3),(83095,3),(83104,3),(83105,3),(83126,3),(83127,3),(83129,3),(83134,3),(83148,3),(83149,3),(83155,3),(83158,3),(83160,3),(83163,3),(83164,3),(83178,3),(83187,3),(83193,3),(83194,3),(83199,3),(83203,3),(83205,3),(83207,3),(83219,3),(83232,3),(83236,3),(83247,3),(83250,3),(83262,3),(83265,3),(83266,3),(83267,3),(83270,3),(83283,3),(83286,3),(83291,3),(83292,3),(83300,3),(83304,3),(83305,3),(83323,3),(83329,3),(83332,3),(83343,3),(83347,3),(83358,3),(83376,3),(83381,3),(83393,3),(83401,3),(83407,3),(83416,3),(83418,3),(83419,3),(83427,3),(83448,3),(83449,3),(83465,3),(83469,3),(83470,3),(83476,3),(83482,3),(83488,3),(83502,3),(83503,3),(83509,3),(83514,3),(83519,3),(83525,3),(83527,3),(83534,3),(83545,3),(83550,3),(83564,3),(83567,3),(83576,3),(83577,3),(83581,3),(83607,3),(83614,3),(83621,3),(83622,3),(83631,3),(83641,3),(83642,3),(83643,3),(83644,3),(83668,3),(83669,3),(83675,3),(83682,3),(83685,3),(83698,3),(83703,3),(83709,3),(83720,3),(83725,3),(83738,3),(83752,3),(83754,3),(83756,3),(83761,3),(83765,3),(83768,3),(83776,3),(83777,3),(83779,3),(83780,3),(83801,3),(83807,3),(83817,3),(83821,3),(83824,3),(83832,3),(83833,3),(83840,3),(83860,3),(83861,3),(83864,3),(83868,3),(83873,3),(83878,3),(83881,3),(83884,3),(83889,3),(83896,3),(83902,3),(83903,3),(83905,3),(83918,3),(83922,3),(83927,3),(83932,3),(83936,3),(83943,3),(83947,3),(83954,3),(83955,3),(83960,3),(83969,3),(83973,3),(83976,3),(83979,3),(83986,3),(83990,3),(84001,3),(84002,3),(84013,3),(84020,3),(84034,3),(84042,3),(84046,3),(84048,3),(84055,3),(84056,3),(84064,3),(84065,3),(84070,3),(84071,3),(84078,3),(84081,3),(84096,3),(84097,3),(84108,3),(84110,3),(84119,3),(84124,3),(84126,3),(84137,3),(84147,3),(84150,3),(84157,3),(84158,3),(84159,3),(84163,3),(84166,3),(84168,3),(84170,3),(84171,3),(84182,3),(84195,3),(84197,3),(84203,3),(84206,3),(84209,3),(84217,3),(84222,3),(84224,3),(84225,3),(84228,3),(84230,3),(84232,3),(84260,3),(84262,3),(84264,3),(84265,3),(84269,3),(84270,3),(84273,3),(84275,3),(84279,3),(84293,3),(84299,3),(84304,3),(84307,3),(84309,3),(84314,3),(84322,3),(84329,3),(84330,3),(84336,3),(84337,3),(84340,3),(84345,3),(84348,3),(84349,3),(84354,3),(84372,3),(84384,3),(84385,3),(84388,3),(84390,3),(84393,3),(84404,3),(84406,3),(84415,3),(84427,3),(84430,3),(84448,3),(84450,3),(84452,3),(84465,3),(84468,3),(84477,3),(84479,3),(84480,3),(84485,3),(84505,3),(84507,3),(84527,3),(84531,3),(84536,3),(84546,3),(84548,3),(84551,3),(84560,3),(84563,3),(84564,3),(84571,3),(84579,3),(84582,3),(84596,3),(84634,3),(84635,3),(84647,3),(84652,3),(84658,3),(84665,3),(84668,3),(84669,3),(84674,3),(84679,3),(84680,3),(84721,3),(84739,3),(84742,3),(84761,3),(84765,3),(84770,3),(84794,3),(84799,3),(84811,3),(84812,3),(84818,3),(84824,3),(84828,3),(84840,3),(84841,3),(84847,3),(84848,3),(84853,3),(84862,3),(84869,3),(84873,3),(84874,3),(84877,3),(84879,3),(84882,3),(84889,3),(84907,3),(84915,3),(84923,3),(84933,3),(84946,3),(84957,3),(84958,3),(84965,3),(84966,3),(84967,3),(84968,3),(84969,3),(84977,3),(84985,3),(85000,3),(85014,3),(85016,3),(85026,3),(85028,3),(85029,3),(85035,3),(85054,3),(85055,3),(85060,3),(85063,3),(85065,3),(85067,3),(85070,3),(85078,3),(85080,3),(85098,3),(85103,3),(85112,3),(85115,3),(85117,3),(85118,3),(85126,3),(85134,3),(85138,3),(85145,3),(85146,3),(85154,3),(85158,3),(85162,3),(85173,3),(85183,3),(85191,3),(85193,3),(85195,3),(85197,3),(85198,3),(85203,3),(85211,3),(85213,3),(85224,3),(85231,3),(85248,3),(85268,3),(85269,3),(85285,3),(85314,3),(85328,3),(85329,3),(85336,3),(85340,3),(85345,3),(85349,3),(85350,3),(85353,3),(85383,3),(85396,3),(85403,3),(85410,3),(85414,3),(85416,3),(85417,3),(85427,3),(85430,3),(85446,3),(85447,3),(85449,3),(85459,3),(85463,3),(85467,3),(85468,3),(85469,3),(85470,3),(85473,3),(85495,3),(85502,3),(85510,3),(85513,3),(85515,3),(85520,3),(85522,3),(85524,3),(85535,3),(85538,3),(85545,3),(85549,3),(85560,3),(85563,3),(85584,3),(85585,3),(85590,3),(85591,3),(85607,3),(85630,3),(85631,3),(85637,3),(85649,3),(85653,3),(85656,3),(85662,3),(85664,3),(85667,3),(85675,3),(85680,3),(85684,3),(85696,3),(85699,3),(85704,3),(85710,3),(85717,3),(85718,3),(85725,3),(85727,3),(85729,3),(85751,3),(85752,3),(85758,3),(85764,3),(85765,3),(85775,3),(85777,3),(85781,3),(85782,3),(85811,3),(85817,3),(85827,3),(85831,3),(85835,3),(85839,3),(85841,3),(85848,3),(85856,3),(85860,3),(85865,3),(85869,3),(85880,3),(85898,3),(85906,3),(85907,3),(85916,3),(85925,3),(85927,3),(85931,3),(85940,3),(85944,3),(85955,3),(85959,3),(85962,3),(85964,3),(85976,3),(85980,3),(85984,3),(85985,3),(85990,3),(85992,3),(85998,3),(86003,3),(86008,3),(86011,3),(86016,3),(86023,3),(86036,3),(86039,3),(86055,3),(86062,3),(86068,3),(86071,3),(86081,3),(86095,3),(86099,3),(86107,3),(86109,3),(86110,3),(86114,3),(86117,3),(86119,3),(86120,3),(86123,3),(86129,3),(86133,3),(86137,3),(86142,3),(86145,3),(86150,3),(86151,3),(86161,3),(86173,3),(86177,3),(86203,3),(86206,3),(86207,3),(86212,3),(86214,3),(86216,3),(86218,3),(86224,3),(86238,3),(86240,3),(86254,3),(86261,3),(86265,3),(86267,3),(86269,3),(86271,3),(86273,3),(86274,3),(86276,3),(86279,3),(86282,3),(86284,3),(86285,3),(86306,3),(86307,3),(86309,3),(86312,3),(86321,3),(86325,3),(86326,3),(86331,3),(86333,3),(86386,3),(86392,3),(86394,3),(86396,3),(86397,3),(86404,3),(86405,3),(86407,3),(86412,3),(86417,3),(86438,3),(86445,3),(86448,3),(86467,3),(86497,3),(86498,3),(86513,3),(86516,3),(86536,3),(86539,3),(86540,3),(86548,3),(86549,3),(86555,3),(86561,3),(86567,3),(86569,3),(86582,3),(86600,3),(86610,3),(86618,3),(86626,3),(86629,3),(86641,3),(86645,3),(86648,3),(86650,3),(86651,3),(86658,3),(86663,3),(86666,3),(86670,3),(86671,3),(86674,3),(86677,3),(86678,3),(86679,3),(86680,3),(86683,3),(86688,3),(86694,3),(86703,3),(86709,3),(86710,3),(86712,3),(86713,3),(86720,3),(86721,3),(86733,3),(86775,3),(86779,3),(86795,3),(86797,3),(86800,3),(86804,3),(86810,3),(86812,3),(86814,3),(86818,3),(86825,3),(86828,3),(86831,3),(86833,3),(86836,3),(86838,3),(86851,3),(86854,3),(86855,3),(86858,3),(86871,3),(86884,3),(86885,3),(86887,3),(86906,3),(86912,3),(86916,3),(86919,3),(86923,3),(86927,3),(86928,3),(86929,3),(86930,3),(86933,3),(86936,3),(86938,3),(86940,3),(86954,3),(86960,3),(86979,3),(86986,3),(86992,3),(86995,3),(87000,3),(87023,3),(87028,3),(87029,3),(87034,3),(87040,3),(87041,3),(87044,3),(87051,3),(87053,3),(87060,3),(87065,3),(87067,3),(87070,3),(87075,3),(87079,3),(87083,3),(87090,3),(87099,3),(87104,3),(87119,3),(87120,3),(87122,3),(87126,3),(87139,3),(87142,3),(87145,3),(87150,3),(87154,3),(87157,3),(87173,3),(87175,3),(87193,3),(87198,3),(87203,3),(87211,3),(87214,3),(87215,3),(87220,3),(87225,3),(87226,3),(87231,3),(87233,3),(87235,3),(87237,3),(87242,3),(87246,3),(87247,3),(87255,3),(87256,3),(87260,3),(87271,3),(87281,3),(87284,3),(87288,3),(87291,3),(87295,3),(87300,3),(87313,3),(87315,3),(87320,3),(87321,3),(87328,3),(87343,3),(87363,3),(87364,3),(87367,3),(87372,3),(87378,3),(87383,3),(87394,3),(87401,3),(87407,3),(87409,3),(87412,3),(87413,3),(87434,3),(87437,3),(87442,3),(87444,3),(87445,3),(87448,3),(87449,3),(87451,3),(87454,3),(87455,3),(87459,3),(87460,3),(87467,3),(87495,3),(87496,3),(87499,3),(87503,3),(87509,3),(87542,3),(87547,3),(87556,3),(87558,3),(87559,3),(87576,3),(87577,3),(87585,3),(87592,3),(87596,3),(87603,3),(87607,3),(87613,3),(87615,3),(87616,3),(87625,3),(87627,3),(87628,3),(87645,3),(87646,3),(87648,3),(87650,3),(87653,3),(87656,3),(87662,3),(87672,3),(87678,3),(87693,3),(87706,3),(87708,3),(87713,3),(87716,3),(87717,3),(87718,3),(87724,3),(87734,3),(87735,3),(87743,3),(87750,3),(87758,3),(87759,3),(87764,3),(87769,3),(87788,3),(87790,3),(87796,3),(87797,3),(87798,3),(87803,3),(87809,3),(87810,3),(87811,3),(87822,3),(87823,3),(87832,3),(87833,3),(87835,3),(87836,3),(87839,3),(87840,3),(87846,3),(87849,3),(87852,3),(87862,3),(87875,3),(87876,3),(87878,3),(87889,3),(87893,3),(87900,3),(87913,3),(87917,3),(87920,3),(87934,3),(87942,3),(87949,3),(87953,3),(87965,3),(87968,3),(87979,3),(88007,3),(88009,3),(88012,3),(88014,3),(88017,3),(88019,3),(88027,3),(88038,3),(88040,3),(88041,3),(88051,3),(88052,3),(88054,3),(88056,3),(88061,3),(88066,3),(88068,3),(88076,3),(88078,3),(88081,3),(88095,3),(88098,3),(88102,3),(88110,3),(88114,3),(88118,3),(88121,3),(88126,3),(88129,3),(88133,3),(88136,3),(88141,3),(88154,3),(88162,3),(88173,3),(88179,3),(88180,3),(88188,3),(88194,3),(88196,3),(88197,3),(88206,3),(88207,3),(88212,3),(88218,3),(88225,3),(88227,3),(88228,3),(88230,3),(88232,3),(88233,3),(88237,3),(88242,3),(88250,3),(88252,3),(88266,3),(88267,3),(88270,3),(88272,3),(88276,3),(88279,3),(88280,3),(88299,3),(88301,3),(88305,3),(88311,3),(88313,3),(88316,3),(88325,3),(88326,3),(88329,3),(88332,3),(88351,3),(88354,3),(88358,3),(88384,3),(88392,3),(88394,3),(88424,3),(88426,3),(88432,3),(88439,3),(88449,3),(88457,3),(88458,3),(88463,3),(88483,3),(88488,3),(88511,3),(88516,3),(88518,3),(88520,3),(88529,3),(88531,3),(88533,3),(88534,3),(88546,3),(88554,3),(88556,3),(88566,3),(88570,3),(88572,3),(88573,3),(88577,3),(88580,3),(88603,3),(88604,3),(88612,3),(88615,3),(88637,3),(88638,3),(88684,3),(88701,3),(88702,3),(88704,3),(88709,3),(88712,3),(88714,3),(88715,3),(88721,3),(88725,3),(88731,3),(88745,3),(88753,3),(88755,3),(88756,3),(88759,3),(88762,3),(88764,3),(88771,3),(88778,3),(88780,3),(88783,3),(88794,3),(88796,3),(88797,3),(88798,3),(88808,3),(88818,3),(88821,3),(88835,3),(88842,3),(88845,3),(88847,3),(88849,3),(88851,3),(88852,3),(88858,3),(88861,3),(88863,3),(88875,3),(88876,3),(88878,3),(88882,3),(88891,3),(88904,3),(88905,3),(88909,3),(88928,3),(88930,3),(88935,3),(88958,3),(88960,3),(88979,3),(88980,3),(88983,3),(88984,3),(88994,3),(88995,3),(89005,3),(89011,3),(89013,3),(89017,3),(89025,3),(89029,3),(89031,3),(89034,3),(89049,3),(89062,3),(89083,3),(89091,3),(89096,3),(89102,3),(89109,3),(89114,3),(89137,3),(89144,3),(89148,3),(89162,3),(89167,3),(89180,3),(89185,3),(89193,3),(89196,3),(89201,3),(89210,3),(89211,3),(89218,3),(89220,3),(89228,3),(89247,3),(89249,3),(89267,3),(89270,3),(89271,3),(89277,3),(89285,3),(89286,3),(89302,3),(89303,3),(89308,3),(89312,3),(89314,3),(89318,3),(89320,3),(89322,3),(89332,3),(89340,3),(89345,3),(89348,3),(89352,3),(89355,3),(89365,3),(89370,3),(89372,3),(89373,3),(89384,3),(89386,3),(89393,3),(89399,3),(89403,3),(89407,3),(89411,3),(89415,3),(89418,3),(89419,3),(89420,3),(89427,3),(89429,3),(89437,3),(89440,3),(89448,3),(89460,3),(89467,3),(89470,3),(89481,3),(89494,3),(89496,3),(89518,3),(89525,3),(89537,3),(89538,3),(89546,3),(89554,3),(89556,3),(89567,3),(89570,3),(89573,3),(89576,3),(89581,3),(89590,3),(89603,3),(89604,3),(89607,3),(89612,3),(89614,3),(89624,3),(89637,3),(89640,3),(89643,3),(89645,3),(89654,3),(89673,3),(89680,3),(89704,3),(89706,3),(89708,3),(89718,3),(89722,3),(89723,3),(89734,3),(89740,3),(89744,3),(89748,3),(89755,3),(89759,3),(89766,3),(89768,3),(89769,3),(89771,3),(89781,3),(89782,3),(89796,3),(89803,3),(89804,3),(89808,3),(89816,3),(89825,3),(89827,3),(89829,3),(89836,3),(89837,3),(89839,3),(89841,3),(89858,3),(89861,3),(89872,3),(89888,3),(89899,3),(89900,3),(89915,3),(89916,3),(89937,3),(89947,3),(89948,3),(89960,3),(89964,3),(89967,3),(89983,3),(89986,3),(89989,3),(89991,3),(89992,3),(90003,3),(90020,3),(90022,3),(90024,3),(90030,3),(90036,3),(90045,3),(90055,3),(90059,3),(90060,3),(90061,3),(90069,3),(90071,3),(90077,3),(90083,3),(90086,3),(90089,3),(90092,3),(90095,3),(90120,3),(90126,3),(90135,3),(90141,3),(90148,3),(90149,3),(90159,3),(90161,3),(90170,3),(90203,3),(90207,3),(90208,3),(90220,3),(90223,3),(90225,3),(90228,3),(90237,3),(90249,3),(90258,3),(90281,3),(90288,3),(90289,3),(90291,3),(90296,3),(90299,3),(90315,3),(90325,3),(90330,3),(90336,3),(90343,3),(90349,3),(90356,3),(90360,3),(90364,3),(90371,3),(90380,3),(90383,3),(90385,3),(90387,3),(90390,3),(90394,3),(90404,3),(90406,3),(90415,3),(90423,3),(90424,3),(90431,3),(90438,3),(90439,3),(90441,3),(90449,3),(90456,3),(90457,3),(90461,3),(90462,3),(90464,3),(90465,3),(90476,3),(90479,3),(90480,3),(90483,3),(90487,3),(90497,3),(90500,3),(90505,3),(90507,3),(90515,3),(90524,3),(90526,3),(90540,3),(90541,3),(90542,3),(90544,3),(90547,3),(90553,3),(90555,3),(90565,3),(90569,3),(90578,3),(90585,3),(90586,3),(90590,3),(90591,3),(90599,3),(90603,3),(90613,3),(90618,3),(90626,3),(90627,3),(90651,3),(90653,3),(90664,3),(90671,3),(90683,3),(90690,3),(90691,3),(90699,3),(90700,3),(90701,3),(90702,3),(90703,3),(90706,3),(90709,3),(90715,3),(90721,3),(90727,3),(90728,3),(90734,3),(90737,3),(90743,3),(90749,3),(90750,3),(90753,3),(90758,3),(90765,3),(90780,3),(90784,3),(90785,3),(90792,3),(90798,3),(90807,3),(90811,3),(90817,3),(90821,3),(90822,3),(90834,3),(90836,3),(90840,3),(90842,3),(90856,3),(90859,3),(90861,3),(90866,3),(90873,3),(90874,3),(90876,3),(90877,3),(90885,3),(90890,3),(90898,3),(90901,3),(90916,3),(90926,3),(90937,3),(90942,3),(90944,3),(90951,3),(90954,3),(90956,3),(90960,3),(90965,3),(90967,3),(90969,3),(90987,3),(90992,3),(90995,3),(90997,3),(90999,3),(91020,3),(91025,3),(91029,3),(91032,3),(91034,3),(91040,3),(91041,3),(91045,3),(91056,3),(91060,3),(91061,3),(91069,3),(91073,3),(91080,3),(91085,3),(91088,3),(91089,3),(91099,3),(91103,3),(91107,3),(91109,3),(91114,3),(91133,3),(91154,3),(91168,3),(91215,3),(91230,3),(91231,3),(91236,3),(91239,3),(91270,3),(91282,3),(91292,3),(91305,3),(91318,3),(91330,3),(91335,3),(91348,3),(91352,3),(91367,3),(91379,3),(91400,3),(91405,3),(91408,3),(91410,3),(91413,3),(91422,3),(91440,3),(91446,3),(91454,3),(91458,3),(91464,3),(91466,3),(91487,3),(91490,3),(91494,3),(91501,3),(91503,3),(91504,3),(91505,3),(91511,3),(91512,3),(91514,3),(91520,3),(91523,3),(91535,3),(91537,3),(91539,3),(91540,3),(91545,3),(91554,3),(91564,3),(91570,3),(91573,3),(91574,3),(91584,3),(91587,3),(91592,3),(91601,3),(91603,3),(91605,3),(91613,3),(91617,3),(91618,3),(91634,3),(91640,3),(91648,3),(91657,3),(91658,3),(91660,3),(91667,3),(91669,3),(91672,3),(91684,3),(91691,3),(91701,3),(91703,3),(91706,3),(91708,3),(91711,3),(91715,3),(91716,3),(91717,3),(91720,3),(91721,3),(91722,3),(91729,3),(91737,3),(91746,3),(91747,3),(91749,3),(91754,3),(91757,3),(91762,3),(91770,3),(91775,3),(91779,3),(91785,3),(91800,3),(91809,3),(91813,3),(91825,3),(91827,3),(91832,3),(91834,3),(91850,3),(91851,3),(91855,3),(91872,3),(91873,3),(91878,3),(91881,3),(91892,3),(91896,3),(91902,3),(91914,3),(91915,3),(91918,3),(91919,3),(91927,3),(91929,3),(91950,3),(91953,3),(91954,3),(91955,3),(91956,3),(91969,3),(91973,3),(91983,3),(91989,3),(91990,3),(92005,3),(92006,3),(92008,3),(92014,3),(92018,3),(92021,3),(92022,3),(92029,3),(92040,3),(92054,3),(92059,3),(92060,3),(92065,3),(92067,3),(92068,3),(92069,3),(92071,3),(92072,3),(92074,3),(92075,3),(92077,3),(92078,3),(92080,3),(92092,3),(92100,3),(92104,3),(92107,3),(92109,3),(92118,3),(92131,3),(92132,3),(92136,3),(92142,3),(92159,3),(92160,3),(92166,3),(92167,3),(92171,3),(92172,3),(92175,3),(92182,3),(92199,3),(92205,3),(92207,3),(92208,3),(92209,3),(92210,3),(92211,3),(92222,3),(92223,3),(92229,3),(92231,3),(92233,3),(92236,3),(92239,3),(92242,3),(92254,3),(92255,3),(92270,3),(92274,3),(92275,3),(92277,3),(92290,3),(92293,3),(92296,3),(92305,3),(92309,3),(92312,3),(92318,3),(92321,3),(92324,3),(92331,3),(92333,3),(92336,3),(92339,3),(92340,3),(92351,3),(92352,3),(92354,3),(92355,3),(92367,3),(92373,3),(92375,3),(92378,3),(92383,3),(92387,3),(92389,3),(92392,3),(92397,3),(92413,3),(92414,3),(92416,3),(92417,3),(92419,3),(92426,3),(92433,3),(92436,3),(92450,3),(92457,3),(92466,3),(92474,3),(92476,3),(92486,3),(92487,3),(92496,3),(92497,3),(92507,3),(92508,3),(92519,3),(92529,3),(92531,3),(92532,3),(92543,3),(92546,3),(92553,3),(92559,3),(92573,3),(92578,3),(92584,3),(92588,3),(92590,3),(92596,3),(92601,3),(92604,3),(92610,3),(92613,3),(92615,3),(92617,3),(92619,3),(92632,3),(92636,3),(92641,3),(92648,3),(92655,3),(92657,3),(92658,3),(92662,3),(92665,3),(92667,3),(92670,3),(92673,3),(92679,3),(92681,3),(92685,3),(92688,3),(92693,3),(92695,3),(92698,3),(92700,3),(92714,3),(92716,3),(92717,3),(92720,3),(92721,3),(92722,3),(92727,3),(92729,3),(92730,3),(92732,3),(92735,3),(92743,3),(92747,3),(92757,3),(92758,3),(92760,3),(92762,3),(92764,3),(92769,3),(92771,3),(92773,3),(92775,3),(92776,3),(92779,3),(92780,3),(92788,3),(92790,3),(92804,3),(92810,3),(92811,3),(92813,3),(92820,3),(92824,3),(92827,3),(92832,3),(92834,3),(92839,3),(92852,3),(92853,3),(92855,3),(92856,3),(92860,3),(92861,3),(92862,3),(92871,3),(92879,3),(92892,3),(92893,3),(92894,3),(92906,3),(92908,3),(92921,3),(92927,3),(92931,3),(92934,3),(92935,3),(92978,3),(93006,3),(93029,3),(93035,3),(93044,3),(93045,3),(93049,3),(93053,3),(93061,3),(93082,3),(93086,3),(93089,3),(93105,3),(93109,3),(93116,3),(93119,3),(93126,3),(93135,3),(93144,3),(93146,3),(93171,3),(93175,3),(93176,3),(93180,3),(93194,3),(93196,3),(93205,3),(93206,3),(93210,3),(93211,3),(93221,3),(93222,3),(93225,3),(93244,3),(93247,3),(93249,3),(93252,3),(93254,3),(93259,3),(93260,3),(93272,3),(93283,3),(93284,3),(93285,3),(93286,3),(93293,3),(93300,3),(93323,3),(93330,3),(93331,3),(93338,3),(93346,3),(93354,3),(93356,3),(93361,3),(93365,3),(93367,3),(93378,3),(93382,3),(93391,3),(93397,3),(93409,3),(93412,3),(93421,3),(93427,3),(93430,3),(93431,3),(93432,3),(93438,3),(93460,3),(93462,3),(93469,3),(93475,3),(93477,3),(93483,3),(93484,3),(93492,3),(93493,3),(93494,3),(93497,3),(93502,3),(93515,3),(93516,3),(93523,3),(93537,3),(93542,3),(93546,3),(93550,3),(93555,3),(93560,3),(93562,3),(93567,3),(93568,3),(93572,3),(93573,3),(93575,3),(93587,3),(93588,3),(93594,3),(93597,3),(93599,3),(93602,3),(93605,3),(93611,3),(93632,3),(93638,3),(93641,3),(93643,3),(93647,3),(93652,3),(93655,3),(93656,3),(93666,3),(93675,3),(93679,3),(93682,3),(93696,3),(93697,3),(93699,3),(93700,3),(93701,3),(93708,3),(93720,3),(93732,3),(93734,3),(93738,3),(93742,3),(93744,3),(93745,3),(93748,3),(93758,3),(93762,3),(93764,3),(93767,3),(93768,3),(93772,3),(93775,3),(93777,3),(93784,3),(93790,3),(93791,3),(93819,3),(93821,3),(93839,3),(93842,3),(93844,3),(93852,3),(93862,3),(93878,3),(93884,3),(93885,3),(93887,3),(93895,3),(93900,3),(93901,3),(93915,3),(93921,3),(93924,3),(93933,3),(93947,3),(93948,3),(93954,3),(93961,3),(93966,3),(93975,3),(93986,3),(93988,3),(93994,3),(94002,3),(94004,3),(94006,3),(94008,3),(94017,3),(94018,3),(94028,3),(94030,3),(94033,3),(94050,3),(94052,3),(94053,3),(94057,3),(94058,3),(94062,3),(94064,3),(94068,3),(94069,3),(94072,3),(94088,3),(94091,3),(94100,3),(94102,3),(94110,3),(94113,3),(94117,3),(94119,3),(94122,3),(94130,3),(94136,3),(94138,3),(94148,3),(94160,3),(94161,3),(94165,3),(94166,3),(94172,3),(94177,3),(94182,3),(94184,3),(94187,3),(94190,3),(94207,3),(94214,3),(94217,3),(94218,3),(94221,3),(94223,3),(94227,3),(94229,3),(94232,3),(94235,3),(94240,3),(94249,3),(94251,3),(94255,3),(94257,3),(94263,3),(94269,3),(94282,3),(94284,3),(94290,3),(94294,3),(94300,3),(94320,3),(94322,3),(94324,3),(94330,3),(94345,3),(94357,3),(94359,3),(94363,3),(94378,3),(94385,3),(94405,3),(94411,3),(94414,3),(94424,3),(94425,3),(94433,3),(94451,3),(94456,3),(94463,3),(94467,3),(94469,3),(94475,3),(94487,3),(94492,3),(94494,3),(94501,3),(94503,3),(94507,3),(94520,3),(94523,3),(94530,3),(94535,3),(94540,3),(94546,3),(94549,3),(94553,3),(94569,3),(94588,3),(94591,3),(94595,3),(94596,3),(94599,3),(94601,3),(94602,3),(94604,3),(94605,3),(94607,3),(94611,3),(94616,3),(94619,3),(94622,3),(94627,3),(94632,3),(94634,3),(94636,3),(94640,3),(94641,3),(94648,3),(94650,3),(94656,3),(94661,3),(94669,3),(94673,3),(94674,3),(94676,3),(94683,3),(94688,3),(94695,3),(94698,3),(94699,3),(94704,3),(94714,3),(94720,3),(94738,3),(94747,3),(94758,3),(94766,3),(94770,3),(94783,3),(94785,3),(94788,3),(94792,3),(94796,3),(94797,3),(94819,3),(94825,3),(94827,3),(94836,3),(94837,3),(94840,3),(94846,3),(94854,3),(94855,3),(94860,3),(94867,3),(94871,3),(94872,3),(94873,3),(94879,3),(94884,3),(94899,3),(94902,3),(94903,3),(94908,3),(94916,3),(94918,3),(94919,3),(94923,3),(94932,3),(94934,3),(94940,3),(94941,3),(94956,3),(94959,3),(94960,3),(94968,3),(94970,3),(94973,3),(94978,3),(94980,3),(94984,3),(94988,3),(94995,3),(95004,3),(95005,3),(95015,3),(95017,3),(95023,3),(95028,3),(95029,3),(95031,3),(95032,3),(95038,3),(95049,3),(95054,3),(95055,3),(95058,3),(95067,3),(95075,3),(95076,3),(95078,3),(95081,3),(95086,3),(95097,3),(95106,3),(95107,3),(95115,3),(95118,3),(95121,3),(95129,3),(95132,3),(95135,3),(95136,3),(95144,3),(95150,3),(95156,3),(95171,3),(95173,3),(95187,3),(95204,3),(95221,3),(95222,3),(95230,3),(95232,3),(95234,3),(95238,3),(95239,3),(95244,3),(95251,3),(95254,3),(95282,3),(95288,3),(95290,3),(95305,3),(95315,3),(95324,3),(95328,3),(95330,3),(95333,3),(95359,3),(95364,3),(95368,3),(95374,3),(95377,3),(95378,3),(95382,3),(95384,3),(95390,3),(95394,3),(95406,3),(95410,3),(95413,3),(95424,3),(95425,3),(95431,3),(95435,3),(95441,3),(95445,3),(95457,3),(95458,3),(95465,3),(95469,3),(95482,3),(95489,3),(95491,3),(95501,3),(95508,3),(95515,3),(95517,3),(95523,3),(95530,3),(95540,3),(95542,3),(95547,3),(95563,3),(95567,3),(95583,3),(95590,3),(95591,3),(95598,3),(95609,3),(95613,3),(95616,3),(95623,3),(95625,3),(95626,3),(95631,3),(95650,3),(95657,3),(95666,3),(95669,3),(95674,3),(95689,3),(95698,3),(95701,3),(95703,3),(95717,3),(95722,3),(95727,3),(95730,3),(95731,3),(95737,3),(95742,3),(95744,3),(95745,3),(95748,3),(95752,3),(95755,3),(95758,3),(95767,3),(95777,3),(95782,3),(95785,3),(95790,3),(95793,3),(95801,3),(95806,3),(95810,3),(95811,3),(95829,3),(95831,3),(95832,3),(95836,3),(95843,3),(95871,3),(95875,3),(95880,3),(95884,3),(95893,3),(95894,3),(95898,3),(95907,3),(95914,3),(95925,3),(95932,3),(95933,3),(95936,3),(95948,3),(95959,3),(95971,3),(95980,3),(95982,3),(95986,3),(95997,3),(95999,3),(96009,3),(96011,3),(96019,3),(96032,3),(96034,3),(96043,3),(96047,3),(96049,3),(96056,3),(96058,3),(96068,3),(96070,3),(96071,3),(96078,3),(96079,3),(96081,3),(96091,3),(96093,3),(96098,3),(96108,3),(96110,3),(96119,3),(96121,3),(96124,3),(96128,3),(96132,3),(96141,3),(96145,3),(96156,3),(96157,3),(96158,3),(96164,3),(96167,3),(96175,3),(96180,3),(96187,3),(96188,3),(96226,3),(96229,3),(96230,3),(96234,3),(96235,3),(96239,3),(96241,3),(96244,3),(96245,3),(96249,3),(96259,3),(96264,3),(96281,3),(96282,3),(96285,3),(96288,3),(96290,3),(96296,3),(96308,3),(96316,3),(96319,3),(96331,3),(96334,3),(96347,3),(96351,3),(96356,3),(96362,3),(96365,3),(96369,3),(96383,3),(96387,3),(96403,3),(96411,3),(96421,3),(96422,3),(96431,3),(96432,3),(96433,3),(96437,3),(96440,3),(96443,3),(96444,3),(96445,3),(96448,3),(96450,3),(96454,3),(96456,3),(96463,3),(96468,3),(96478,3),(96482,3),(96484,3),(96487,3),(96488,3),(96491,3),(96500,3),(96503,3),(96523,3),(96525,3),(96527,3),(96530,3),(96532,3),(96535,3),(96538,3),(96543,3),(96546,3),(96548,3),(96552,3),(96553,3),(96557,3),(96567,3),(96573,3),(96574,3),(96577,3),(96578,3),(96580,3),(96589,3),(96590,3),(96601,3),(96604,3),(96613,3),(96617,3),(96618,3),(96619,3),(96626,3),(96629,3),(96632,3),(96643,3),(96648,3),(96649,3),(96653,3),(96664,3),(96666,3),(96673,3),(96688,3),(96689,3),(96692,3),(96694,3),(96697,3),(96703,3),(96705,3),(96711,3),(96714,3),(96717,3),(96727,3),(96732,3),(96743,3),(96748,3),(96757,3),(96761,3),(96779,3),(96781,3),(96782,3),(96789,3),(96807,3),(96817,3),(96838,3),(96841,3),(96847,3),(96857,3),(96858,3),(96861,3),(96866,3),(96868,3),(96870,3),(96879,3),(96883,3),(96889,3),(96896,3),(96897,3),(96900,3),(96909,3),(96927,3),(96929,3),(96931,3),(96959,3),(96964,3),(96975,3),(96977,3),(96981,3),(96989,3),(96991,3),(96995,3),(97002,3),(97007,3),(97018,3),(97025,3),(97028,3),(97036,3),(97038,3),(97042,3),(97056,3),(97057,3),(97074,3),(97077,3),(97080,3),(97091,3),(97107,3),(97110,3),(97111,3),(97113,3),(97117,3),(97122,3),(97144,3),(97145,3),(97170,3),(97174,3),(97176,3),(97180,3),(97181,3),(97197,3),(97202,3),(97206,3),(97219,3),(97222,3),(97224,3),(97232,3),(97233,3),(97239,3),(97240,3),(97243,3),(97255,3),(97261,3),(97263,3),(97269,3),(97278,3),(97280,3),(97285,3),(97290,3),(97293,3),(97302,3),(97303,3),(97305,3),(97307,3),(97326,3),(97329,3),(97331,3),(97333,3),(97335,3),(97336,3),(97338,3),(97343,3),(97346,3),(97357,3),(97358,3),(97367,3),(97368,3),(97380,3),(97382,3),(97390,3),(97391,3),(97393,3),(97395,3),(97400,3),(97402,3),(97403,3),(97404,3),(97409,3),(97413,3),(97417,3),(97428,3),(97429,3),(97436,3),(97441,3),(97451,3),(97452,3),(97457,3),(97459,3),(97460,3),(97463,3),(97474,3),(97476,3),(97481,3),(97482,3),(97483,3),(97486,3),(97497,3),(97501,3),(97502,3),(97503,3),(97509,3),(97510,3),(97511,3),(97518,3),(97525,3),(97528,3),(97540,3),(97541,3),(97543,3),(97546,3),(97547,3),(97552,3),(97555,3),(97557,3),(97559,3),(97561,3),(97567,3),(97568,3),(97569,3),(97571,3),(97572,3),(97573,3),(97575,3),(97577,3),(97579,3),(97582,3),(97591,3),(97600,3),(97611,3),(97617,3),(97621,3),(97624,3),(97633,3),(97635,3),(97637,3),(97643,3),(97644,3),(97647,3),(97650,3),(97654,3),(97657,3),(97671,3),(97680,3),(97682,3),(97686,3),(97692,3),(97694,3),(97697,3),(97699,3),(97704,3),(97706,3),(97707,3),(97714,3),(97718,3),(97719,3),(97730,3),(97731,3),(97734,3),(97740,3),(97747,3),(97748,3),(97753,3),(97797,3),(97798,3),(97801,3),(97802,3),(97804,3),(97821,3),(97824,3),(97829,3),(97831,3),(97844,3),(97850,3),(97853,3),(97866,3),(97867,3),(97868,3),(97874,3),(97878,3),(97880,3),(97881,3),(97886,3),(97890,3),(97899,3),(97903,3),(97905,3),(97930,3),(97947,3),(97956,3),(97957,3),(97964,3),(97976,3),(97979,3),(97992,3),(97999,3),(98003,3),(98004,3),(98020,3),(98024,3),(98031,3),(98039,3),(98049,3),(98055,3),(98056,3),(98071,3),(98072,3),(98073,3),(98075,3),(98088,3),(98101,3),(98106,3),(98120,3),(98126,3),(98127,3),(98129,3),(98135,3),(98141,3),(98144,3),(98152,3),(98168,3),(98171,3),(98172,3),(98178,3),(98194,3),(98199,3),(98205,3),(98221,3),(98222,3),(98223,3),(98230,3),(98236,3),(98241,3),(98249,3),(98255,3),(98256,3),(98259,3),(98267,3),(98277,3),(98279,3),(98285,3),(98286,3),(98292,3),(98300,3),(98312,3),(98317,3),(98321,3),(98323,3),(98328,3),(98329,3),(98330,3),(98335,3),(98338,3),(98339,3),(98342,3),(98344,3),(98350,3),(98367,3),(98384,3),(98388,3),(98391,3),(98392,3),(98401,3),(98410,3),(98425,3),(98426,3),(98430,3),(98432,3),(98435,3),(98438,3),(98453,3),(98456,3),(98458,3),(98460,3),(98470,3),(98472,3),(98474,3),(98475,3),(98476,3),(98478,3),(98487,3),(98488,3),(98489,3),(98490,3),(98493,3),(98500,3),(98504,3),(98508,3),(98510,3),(98512,3),(98517,3),(98518,3),(98547,3),(98559,3),(98571,3),(98592,3),(98597,3),(98601,3),(98620,3),(98621,3),(98624,3),(98630,3),(98633,3),(98640,3),(98642,3),(98643,3),(98651,3),(98656,3),(98659,3),(98671,3),(98675,3),(98677,3),(98681,3),(98683,3),(98689,3),(98698,3),(98699,3),(98701,3),(98705,3),(98709,3),(98722,3),(98730,3),(98742,3),(98745,3),(98746,3),(98759,3),(98762,3),(98765,3),(98768,3),(98771,3),(98774,3),(98780,3),(98799,3),(98805,3),(98806,3),(98815,3),(98824,3),(98828,3),(98834,3),(98838,3),(98839,3),(98845,3),(98849,3),(98855,3),(98864,3),(98867,3),(98869,3),(98876,3),(98879,3),(98899,3),(98905,3),(98908,3),(98915,3),(98921,3),(98925,3),(98928,3),(98939,3),(98945,3),(98957,3),(98966,3),(98972,3),(98981,3),(98990,3),(98993,3),(17,4),(19,4),(22,4),(33,4),(41,4),(44,4),(50,4),(54,4),(58,4),(59,4),(64,4),(69,4),(73,4),(74,4),(76,4),(80,4),(88,4),(95,4),(107,4),(108,4),(111,4),(118,4),(119,4),(133,4),(134,4),(142,4),(145,4),(147,4),(154,4),(156,4),(159,4),(162,4),(163,4),(171,4),(172,4),(202,4),(205,4),(209,4),(210,4),(212,4),(213,4),(215,4),(220,4),(223,4),(233,4),(234,4),(245,4),(247,4),(256,4),(260,4),(261,4),(267,4),(282,4),(285,4),(287,4),(293,4),(301,4),(302,4),(305,4),(318,4),(320,4),(323,4),(325,4),(327,4),(328,4),(335,4),(345,4),(346,4),(350,4),(354,4),(358,4),(362,4),(367,4),(368,4),(375,4),(376,4),(378,4),(379,4),(388,4),(389,4),(398,4),(410,4),(414,4),(419,4),(427,4),(431,4),(439,4),(444,4),(451,4),(456,4),(460,4),(461,4),(470,4),(474,4),(478,4),(479,4),(482,4),(483,4),(487,4),(496,4),(505,4),(514,4),(517,4),(519,4),(525,4),(527,4),(529,4),(532,4),(538,4),(540,4),(542,4),(548,4),(554,4),(556,4),(567,4),(580,4),(581,4),(587,4),(589,4),(590,4),(597,4),(606,4),(609,4),(612,4),(615,4),(617,4),(619,4),(624,4),(629,4),(635,4),(646,4),(652,4),(662,4),(665,4),(671,4),(676,4),(677,4),(689,4),(693,4),(696,4),(706,4),(710,4),(711,4),(713,4),(717,4),(725,4),(726,4),(739,4),(740,4),(741,4),(742,4),(744,4),(750,4),(755,4),(777,4),(781,4),(791,4),(797,4),(801,4),(805,4),(809,4),(811,4),(816,4),(817,4),(820,4),(823,4),(825,4),(827,4),(833,4),(839,4),(845,4),(852,4),(873,4),(885,4),(888,4),(909,4),(919,4),(925,4),(929,4),(949,4),(951,4),(953,4),(956,4),(960,4),(962,4),(963,4),(969,4),(978,4),(985,4),(992,4),(996,4),(999,4),(1013,4),(1031,4),(1034,4),(1036,4),(1039,4),(1049,4),(1051,4),(1058,4),(1059,4),(1066,4),(1069,4),(1080,4),(1085,4),(1086,4),(1090,4),(1091,4),(1094,4),(1095,4),(1103,4),(1116,4),(1118,4),(1133,4),(1138,4),(1141,4),(1153,4),(1158,4),(1161,4),(1163,4),(1169,4),(1170,4),(1173,4),(1189,4),(1197,4),(1203,4),(1208,4),(1211,4),(1215,4),(1217,4),(1236,4),(1238,4),(1242,4),(1245,4),(1261,4),(1284,4),(1289,4),(1290,4),(1305,4),(1310,4),(1313,4),(1314,4),(1318,4),(1319,4),(1324,4),(1329,4),(1336,4),(1339,4),(1341,4),(1344,4),(1368,4),(1374,4),(1382,4),(1383,4),(1386,4),(1390,4),(1392,4),(1402,4),(1411,4),(1413,4),(1414,4),(1430,4),(1439,4),(1453,4),(1462,4),(1468,4),(1479,4),(1491,4),(1496,4),(1512,4),(1533,4),(1535,4),(1542,4),(1543,4),(1553,4),(1554,4),(1571,4),(1576,4),(1577,4),(1580,4),(1582,4),(1590,4),(1597,4),(1600,4),(1608,4),(1609,4),(1612,4),(1615,4),(1617,4),(1620,4),(1622,4),(1626,4),(1638,4),(1640,4),(1647,4),(1659,4),(1660,4),(1663,4),(1666,4),(1668,4),(1677,4),(1681,4),(1684,4),(1686,4),(1690,4),(1702,4),(1705,4),(1709,4),(1710,4),(1721,4),(1728,4),(1733,4),(1742,4),(1743,4),(1747,4),(1757,4),(1765,4),(1769,4),(1770,4),(1779,4),(1789,4),(1811,4),(1816,4),(1817,4),(1827,4),(1848,4),(1850,4),(1862,4),(1863,4),(1865,4),(1866,4),(1873,4),(1878,4),(1887,4),(1890,4),(1892,4),(1898,4),(1903,4),(1911,4),(1924,4),(1925,4),(1932,4),(1934,4),(1938,4),(1941,4),(1947,4),(1955,4),(1976,4),(1983,4),(1996,4),(1997,4),(2000,4),(2008,4),(2009,4),(2019,4),(2034,4),(2041,4),(2050,4),(2066,4),(2073,4),(2092,4),(2102,4),(2103,4),(2110,4),(2112,4),(2114,4),(2121,4),(2124,4),(2132,4),(2135,4),(2140,4),(2145,4),(2146,4),(2153,4),(2167,4),(2168,4),(2170,4),(2175,4),(2180,4),(2181,4),(2186,4),(2190,4),(2203,4),(2205,4),(2207,4),(2211,4),(2212,4),(2221,4),(2226,4),(2232,4),(2238,4),(2248,4),(2254,4),(2272,4),(2294,4),(2298,4),(2308,4),(2312,4),(2315,4),(2325,4),(2329,4),(2331,4),(2333,4),(2336,4),(2337,4),(2358,4),(2359,4),(2361,4),(2364,4),(2370,4),(2386,4),(2393,4),(2398,4),(2402,4),(2406,4),(2413,4),(2418,4),(2421,4),(2427,4),(2428,4),(2437,4),(2445,4),(2451,4),(2453,4),(2454,4),(2455,4),(2461,4),(2476,4),(2477,4),(2480,4),(2487,4),(2491,4),(2493,4),(2498,4),(2501,4),(2523,4),(2530,4),(2531,4),(2536,4),(2540,4),(2545,4),(2553,4),(2554,4),(2558,4),(2563,4),(2565,4),(2567,4),(2570,4),(2577,4),(2591,4),(2593,4),(2598,4),(2606,4),(2613,4),(2624,4),(2626,4),(2644,4),(2645,4),(2648,4),(2665,4),(2673,4),(2674,4),(2677,4),(2679,4),(2690,4),(2694,4),(2695,4),(2698,4),(2703,4),(2705,4),(2710,4),(2711,4),(2714,4),(2716,4),(2726,4),(2731,4),(2734,4),(2735,4),(2743,4),(2745,4),(2762,4),(2770,4),(2776,4),(2778,4),(2793,4),(2796,4),(2803,4),(2804,4),(2822,4),(2839,4),(2841,4),(2843,4),(2846,4),(2856,4),(2871,4),(2873,4),(2887,4),(2899,4),(2907,4),(2908,4),(2910,4),(2914,4),(2922,4),(2924,4),(2926,4),(2927,4),(2931,4),(2933,4),(2940,4),(2949,4),(2964,4),(2968,4),(2979,4),(2982,4),(2988,4),(2991,4),(2992,4),(3004,4),(3008,4),(3011,4),(3017,4),(3030,4),(3038,4),(3050,4),(3059,4),(3067,4),(3070,4),(3076,4),(3087,4),(3098,4),(3100,4),(3114,4),(3119,4),(3120,4),(3123,4),(3129,4),(3135,4),(3138,4),(3145,4),(3146,4),(3149,4),(3162,4),(3171,4),(3181,4),(3185,4),(3191,4),(3196,4),(3197,4),(3201,4),(3202,4),(3205,4),(3213,4),(3215,4),(3216,4),(3227,4),(3232,4),(3233,4),(3241,4),(3247,4),(3255,4),(3258,4),(3269,4),(3283,4),(3285,4),(3289,4),(3299,4),(3311,4),(3334,4),(3338,4),(3339,4),(3345,4),(3347,4),(3348,4),(3353,4),(3369,4),(3381,4),(3383,4),(3384,4),(3387,4),(3400,4),(3403,4),(3407,4),(3414,4),(3415,4),(3417,4),(3418,4),(3420,4),(3422,4),(3426,4),(3432,4),(3442,4),(3445,4),(3453,4),(3454,4),(3467,4),(3483,4),(3485,4),(3486,4),(3490,4),(3501,4),(3503,4),(3507,4),(3508,4),(3515,4),(3519,4),(3521,4),(3523,4),(3525,4),(3535,4),(3539,4),(3542,4),(3563,4),(3567,4),(3569,4),(3573,4),(3580,4),(3587,4),(3604,4),(3608,4),(3612,4),(3613,4),(3614,4),(3618,4),(3621,4),(3647,4),(3652,4),(3653,4),(3656,4),(3666,4),(3667,4),(3668,4),(3685,4),(3690,4),(3711,4),(3713,4),(3715,4),(3731,4),(3741,4),(3763,4),(3769,4),(3773,4),(3780,4),(3787,4),(3794,4),(3795,4),(3802,4),(3822,4),(3824,4),(3836,4),(3838,4),(3847,4),(3849,4),(3856,4),(3861,4),(3862,4),(3868,4),(3878,4),(3903,4),(3907,4),(3908,4),(3918,4),(3920,4),(3944,4),(3945,4),(3948,4),(3956,4),(3963,4),(3968,4),(3972,4),(3973,4),(3976,4),(3978,4),(3985,4),(3986,4),(3987,4),(3993,4),(3997,4),(4000,4),(4004,4),(4006,4),(4009,4),(4017,4),(4033,4),(4036,4),(4048,4),(4049,4),(4057,4),(4059,4),(4061,4),(4062,4),(4063,4),(4064,4),(4074,4),(4085,4),(4087,4),(4088,4),(4090,4),(4108,4),(4111,4),(4113,4),(4115,4),(4121,4),(4123,4),(4130,4),(4134,4),(4136,4),(4147,4),(4149,4),(4151,4),(4155,4),(4160,4),(4174,4),(4176,4),(4177,4),(4180,4),(4184,4),(4185,4),(4187,4),(4191,4),(4192,4),(4194,4),(4198,4),(4201,4),(4209,4),(4213,4),(4216,4),(4236,4),(4244,4),(4245,4),(4249,4),(4253,4),(4254,4),(4266,4),(4270,4),(4288,4),(4299,4),(4304,4),(4305,4),(4311,4),(4312,4),(4322,4),(4326,4),(4331,4),(4336,4),(4342,4),(4347,4),(4349,4),(4350,4),(4351,4),(4353,4),(4357,4),(4363,4),(4368,4),(4372,4),(4375,4),(4378,4),(4383,4),(4395,4),(4396,4),(4397,4),(4408,4),(4409,4),(4410,4),(4413,4),(4416,4),(4429,4),(4433,4),(4436,4),(4437,4),(4442,4),(4462,4),(4466,4),(4474,4),(4477,4),(4484,4),(4490,4),(4492,4),(4497,4),(4508,4),(4511,4),(4525,4),(4528,4),(4531,4),(4533,4),(4534,4),(4543,4),(4556,4),(4564,4),(4578,4),(4581,4),(4584,4),(4591,4),(4597,4),(4602,4),(4608,4),(4610,4),(4635,4),(4647,4),(4655,4),(4660,4),(4661,4),(4667,4),(4672,4),(4675,4),(4676,4),(4678,4),(4682,4),(4694,4),(4695,4),(4699,4),(4700,4),(4713,4),(4716,4),(4721,4),(4726,4),(4728,4),(4730,4),(4732,4),(4742,4),(4749,4),(4750,4),(4754,4),(4760,4),(4764,4),(4765,4),(4769,4),(4784,4),(4786,4),(4787,4),(4788,4),(4805,4),(4811,4),(4814,4),(4817,4),(4818,4),(4822,4),(4827,4),(4831,4),(4832,4),(4851,4),(4860,4),(4862,4),(4869,4),(4874,4),(4911,4),(4914,4),(4915,4),(4917,4),(4921,4),(4923,4),(4931,4),(4941,4),(4945,4),(4951,4),(4958,4),(4959,4),(4961,4),(4966,4),(4969,4),(4971,4),(4978,4),(4981,4),(4999,4),(5000,4),(5001,4),(5004,4),(5012,4),(5021,4),(5024,4),(5048,4),(5056,4),(5057,4),(5069,4),(5070,4),(5076,4),(5079,4),(5094,4),(5102,4),(5115,4),(5118,4),(5132,4),(5136,4),(5142,4),(5149,4),(5152,4),(5156,4),(5157,4),(5170,4),(5173,4),(5183,4),(5200,4),(5209,4),(5219,4),(5245,4),(5246,4),(5248,4),(5249,4),(5251,4),(5254,4),(5262,4),(5266,4),(5270,4),(5275,4),(5283,4),(5286,4),(5301,4),(5302,4),(5311,4),(5323,4),(5324,4),(5328,4),(5333,4),(5338,4),(5341,4),(5343,4),(5347,4),(5349,4),(5352,4),(5364,4),(5371,4),(5379,4),(5383,4),(5391,4),(5396,4),(5409,4),(5413,4),(5417,4),(5421,4),(5422,4),(5425,4),(5438,4),(5450,4),(5457,4),(5459,4),(5464,4),(5466,4),(5467,4),(5468,4),(5480,4),(5481,4),(5487,4),(5494,4),(5524,4),(5530,4),(5531,4),(5534,4),(5536,4),(5539,4),(5540,4),(5541,4),(5549,4),(5555,4),(5568,4),(5576,4),(5580,4),(5584,4),(5588,4),(5592,4),(5603,4),(5606,4),(5609,4),(5614,4),(5616,4),(5619,4),(5624,4),(5631,4),(5637,4),(5641,4),(5649,4),(5650,4),(5662,4),(5668,4),(5669,4),(5671,4),(5679,4),(5681,4),(5691,4),(5696,4),(5703,4),(5704,4),(5715,4),(5725,4),(5732,4),(5733,4),(5736,4),(5746,4),(5753,4),(5758,4),(5759,4),(5765,4),(5773,4),(5774,4),(5777,4),(5786,4),(5787,4),(5789,4),(5792,4),(5803,4),(5805,4),(5821,4),(5840,4),(5842,4),(5857,4),(5861,4),(5867,4),(5868,4),(5875,4),(5880,4),(5881,4),(5885,4),(5895,4),(5896,4),(5898,4),(5914,4),(5917,4),(5919,4),(5926,4),(5928,4),(5935,4),(5946,4),(5947,4),(5959,4),(5962,4),(5965,4),(5966,4),(5968,4),(5971,4),(5975,4),(5976,4),(5986,4),(5988,4),(6004,4),(6023,4),(6036,4),(6037,4),(6046,4),(6057,4),(6061,4),(6066,4),(6072,4),(6074,4),(6077,4),(6083,4),(6092,4),(6099,4),(6101,4),(6107,4),(6115,4),(6121,4),(6130,4),(6135,4),(6141,4),(6142,4),(6144,4),(6149,4),(6150,4),(6152,4),(6153,4),(6156,4),(6160,4),(6162,4),(6184,4),(6188,4),(6191,4),(6196,4),(6202,4),(6204,4),(6207,4),(6211,4),(6216,4),(6217,4),(6221,4),(6222,4),(6225,4),(6239,4),(6242,4),(6245,4),(6246,4),(6258,4),(6260,4),(6265,4),(6268,4),(6275,4),(6284,4),(6293,4),(6316,4),(6319,4),(6320,4),(6325,4),(6326,4),(6328,4),(6329,4),(6330,4),(6336,4),(6342,4),(6343,4),(6353,4),(6368,4),(6379,4),(6380,4),(6387,4),(6388,4),(6392,4),(6400,4),(6410,4),(6417,4),(6422,4),(6423,4),(6425,4),(6438,4),(6453,4),(6455,4),(6458,4),(6459,4),(6464,4),(6468,4),(6476,4),(6480,4),(6487,4),(6490,4),(6498,4),(6500,4),(6506,4),(6510,4),(6512,4),(6519,4),(6521,4),(6526,4),(6527,4),(6532,4),(6535,4),(6538,4),(6542,4),(6544,4),(6559,4),(6560,4),(6565,4),(6566,4),(6576,4),(6577,4),(6581,4),(6584,4),(6587,4),(6594,4),(6614,4),(6623,4),(6630,4),(6633,4),(6644,4),(6658,4),(6660,4),(6668,4),(6670,4),(6676,4),(6696,4),(6704,4),(6711,4),(6715,4),(6727,4),(6731,4),(6733,4),(6735,4),(6736,4),(6738,4),(6743,4),(6746,4),(6748,4),(6751,4),(6756,4),(6757,4),(6760,4),(6769,4),(6775,4),(6777,4),(6784,4),(6786,4),(6816,4),(6817,4),(6825,4),(6840,4),(6842,4),(6858,4),(6859,4),(6877,4),(6884,4),(6888,4),(6896,4),(6915,4),(6919,4),(6923,4),(6934,4),(6935,4),(6941,4),(6945,4),(6953,4),(6958,4),(6962,4),(6963,4),(6972,4),(6978,4),(6982,4),(6990,4),(6992,4),(6999,4),(7004,4),(7007,4),(7013,4),(7015,4),(7017,4),(7021,4),(7034,4),(7035,4),(7043,4),(7044,4),(7051,4),(7062,4),(7078,4),(7079,4),(7083,4),(7093,4),(7097,4),(7100,4),(7111,4),(7116,4),(7129,4),(7132,4),(7136,4),(7138,4),(7139,4),(7140,4),(7146,4),(7154,4),(7159,4),(7164,4),(7165,4),(7182,4),(7189,4),(7203,4),(7206,4),(7214,4),(7220,4),(7221,4),(7236,4),(7237,4),(7239,4),(7240,4),(7241,4),(7243,4),(7247,4),(7253,4),(7258,4),(7262,4),(7263,4),(7268,4),(7270,4),(7273,4),(7275,4),(7278,4),(7279,4),(7284,4),(7299,4),(7315,4),(7318,4),(7321,4),(7323,4),(7333,4),(7338,4),(7345,4),(7346,4),(7348,4),(7352,4),(7353,4),(7355,4),(7356,4),(7369,4),(7379,4),(7386,4),(7392,4),(7401,4),(7402,4),(7404,4),(7405,4),(7415,4),(7462,4),(7466,4),(7469,4),(7491,4),(7492,4),(7505,4),(7507,4),(7517,4),(7519,4),(7532,4),(7537,4),(7538,4),(7545,4),(7549,4),(7553,4),(7555,4),(7563,4),(7565,4),(7566,4),(7576,4),(7578,4),(7581,4),(7615,4),(7617,4),(7623,4),(7628,4),(7633,4),(7635,4),(7636,4),(7642,4),(7643,4),(7652,4),(7654,4),(7655,4),(7657,4),(7659,4),(7660,4),(7662,4),(7665,4),(7675,4),(7701,4),(7707,4),(7710,4),(7721,4),(7726,4),(7727,4),(7734,4),(7736,4),(7738,4),(7739,4),(7741,4),(7743,4),(7745,4),(7755,4),(7761,4),(7771,4),(7773,4),(7776,4),(7788,4),(7791,4),(7798,4),(7799,4),(7802,4),(7815,4),(7825,4),(7833,4),(7836,4),(7845,4),(7850,4),(7854,4),(7855,4),(7865,4),(7866,4),(7867,4),(7869,4),(7872,4),(7893,4),(7903,4),(7905,4),(7928,4),(7930,4),(7931,4),(7932,4),(7935,4),(7936,4),(7939,4),(7941,4),(7942,4),(7950,4),(7959,4),(7966,4),(7970,4),(7973,4),(7986,4),(7988,4),(7994,4),(8006,4),(8011,4),(8014,4),(8015,4),(8018,4),(8025,4),(8028,4),(8037,4),(8040,4),(8041,4),(8047,4),(8061,4),(8075,4),(8082,4),(8084,4),(8087,4),(8088,4),(8090,4),(8101,4),(8102,4),(8109,4),(8124,4),(8135,4),(8157,4),(8160,4),(8166,4),(8173,4),(8174,4),(8193,4),(8194,4),(8206,4),(8208,4),(8209,4),(8214,4),(8237,4),(8238,4),(8241,4),(8242,4),(8243,4),(8256,4),(8263,4),(8266,4),(8268,4),(8277,4),(8299,4),(8313,4),(8328,4),(8334,4),(8338,4),(8340,4),(8341,4),(8347,4),(8350,4),(8360,4),(8379,4),(8387,4),(8394,4),(8396,4),(8397,4),(8412,4),(8415,4),(8420,4),(8421,4),(8429,4),(8437,4),(8445,4),(8454,4),(8460,4),(8465,4),(8469,4),(8474,4),(8477,4),(8484,4),(8487,4),(8501,4),(8505,4),(8508,4),(8511,4),(8514,4),(8527,4),(8532,4),(8539,4),(8540,4),(8550,4),(8570,4),(8571,4),(8585,4),(8588,4),(8590,4),(8594,4),(8614,4),(8623,4),(8627,4),(8636,4),(8646,4),(8656,4),(8659,4),(8663,4),(8694,4),(8702,4),(8703,4),(8706,4),(8714,4),(8720,4),(8722,4),(8726,4),(8731,4),(8738,4),(8747,4),(8768,4),(8773,4),(8775,4),(8781,4),(8783,4),(8785,4),(8786,4),(8794,4),(8802,4),(8806,4),(8808,4),(8818,4),(8822,4),(8826,4),(8829,4),(8833,4),(8844,4),(8845,4),(8847,4),(8848,4),(8849,4),(8854,4),(8856,4),(8859,4),(8864,4),(8869,4),(8871,4),(8874,4),(8876,4),(8880,4),(8890,4),(8893,4),(8894,4),(8896,4),(8898,4),(8906,4),(8908,4),(8924,4),(8959,4),(8963,4),(8964,4),(8975,4),(8982,4),(8989,4),(8992,4),(8995,4),(8996,4),(8997,4),(9003,4),(9004,4),(9011,4),(9012,4),(9020,4),(9021,4),(9034,4),(9039,4),(9041,4),(9042,4),(9048,4),(9052,4),(9065,4),(9068,4),(9078,4),(9094,4),(9095,4),(9105,4),(9113,4),(9121,4),(9128,4),(9131,4),(9136,4),(9141,4),(9145,4),(9148,4),(9150,4),(9152,4),(9159,4),(9167,4),(9170,4),(9180,4),(9192,4),(9193,4),(9196,4),(9201,4),(9205,4),(9209,4),(9211,4),(9213,4),(9222,4),(9223,4),(9224,4),(9233,4),(9237,4),(9239,4),(9263,4),(9264,4),(9275,4),(9278,4),(9281,4),(9286,4),(9292,4),(9293,4),(9294,4),(9310,4),(9312,4),(9322,4),(9323,4),(9334,4),(9339,4),(9340,4),(9349,4),(9356,4),(9363,4),(9364,4),(9366,4),(9383,4),(9385,4),(9393,4),(9407,4),(9413,4),(9418,4),(9422,4),(9426,4),(9429,4),(9431,4),(9458,4),(9459,4),(9460,4),(9471,4),(9472,4),(9473,4),(9474,4),(9476,4),(9493,4),(9498,4),(9501,4),(9502,4),(9504,4),(9525,4),(9533,4),(9541,4),(9542,4),(9548,4),(9549,4),(9555,4),(9557,4),(9565,4),(9580,4),(9584,4),(9585,4),(9587,4),(9589,4),(9593,4),(9595,4),(9597,4),(9607,4),(9612,4),(9615,4),(9624,4),(9625,4),(9640,4),(9643,4),(9644,4),(9646,4),(9650,4),(9655,4),(9657,4),(9662,4),(9664,4),(9674,4),(9688,4),(9692,4),(9707,4),(9711,4),(9712,4),(9719,4),(9722,4),(9727,4),(9735,4),(9739,4),(9747,4),(9752,4),(9768,4),(9782,4),(9791,4),(9800,4),(9807,4),(9816,4),(9821,4),(9826,4),(9827,4),(9830,4),(9837,4),(9848,4),(9861,4),(9868,4),(9874,4),(9888,4),(9894,4),(9895,4),(9903,4),(9905,4),(9906,4),(9908,4),(9909,4),(9911,4),(9913,4),(9921,4),(9928,4),(9932,4),(9935,4),(9936,4),(9943,4),(9948,4),(9953,4),(9958,4),(9966,4),(9974,4),(9981,4),(9982,4),(9992,4),(9997,4),(9999,4),(10015,4),(10018,4),(10035,4),(10039,4),(10045,4),(10048,4),(10051,4),(10059,4),(10061,4),(10063,4),(10065,4),(10071,4),(10074,4),(10080,4),(10084,4),(10089,4),(10110,4),(10113,4),(10120,4),(10121,4),(10129,4),(10134,4),(10136,4),(10142,4),(10143,4),(10159,4),(10168,4),(10173,4),(10179,4),(10191,4),(10192,4),(10205,4),(10213,4),(10218,4),(10222,4),(10230,4),(10244,4),(10247,4),(10250,4),(10257,4),(10259,4),(10267,4),(10281,4),(10299,4),(10318,4),(10324,4),(10334,4),(10344,4),(10345,4),(10347,4),(10352,4),(10357,4),(10374,4),(10377,4),(10378,4),(10408,4),(10409,4),(10411,4),(10413,4),(10418,4),(10422,4),(10425,4),(10434,4),(10436,4),(10452,4),(10454,4),(10463,4),(10465,4),(10468,4),(10491,4),(10496,4),(10500,4),(10501,4),(10504,4),(10519,4),(10524,4),(10526,4),(10529,4),(10530,4),(10536,4),(10547,4),(10548,4),(10553,4),(10557,4),(10558,4),(10567,4),(10568,4),(10569,4),(10583,4),(10596,4),(10598,4),(10607,4),(10608,4),(10615,4),(10617,4),(10625,4),(10631,4),(10638,4),(10640,4),(10650,4),(10652,4),(10653,4),(10658,4),(10664,4),(10666,4),(10676,4),(10683,4),(10684,4),(10692,4),(10693,4),(10703,4),(10704,4),(10710,4),(10711,4),(10721,4),(10725,4),(10726,4),(10729,4),(10733,4),(10734,4),(10736,4),(10737,4),(10740,4),(10742,4),(10748,4),(10749,4),(10753,4),(10764,4),(10767,4),(10769,4),(10775,4),(10781,4),(10782,4),(10784,4),(10795,4),(10802,4),(10803,4),(10811,4),(10813,4),(10814,4),(10816,4),(10832,4),(10837,4),(10843,4),(10863,4),(10871,4),(10872,4),(10876,4),(10877,4),(10881,4),(10884,4),(10889,4),(10893,4),(10905,4),(10906,4),(10913,4),(10914,4),(10918,4),(10920,4),(10921,4),(10930,4),(10934,4),(10935,4),(10940,4),(10945,4),(10948,4),(10956,4),(10957,4),(10977,4),(10999,4),(11003,4),(11005,4),(11007,4),(11021,4),(11045,4),(11051,4),(11059,4),(11062,4),(11066,4),(11067,4),(11068,4),(11074,4),(11081,4),(11088,4),(11095,4),(11096,4),(11098,4),(11103,4),(11124,4),(11129,4),(11136,4),(11138,4),(11153,4),(11163,4),(11165,4),(11167,4),(11176,4),(11211,4),(11215,4),(11233,4),(11247,4),(11257,4),(11266,4),(11267,4),(11282,4),(11293,4),(11301,4),(11303,4),(11319,4),(11322,4),(11331,4),(11334,4),(11337,4),(11339,4),(11340,4),(11346,4),(11355,4),(11363,4),(11378,4),(11385,4),(11390,4),(11393,4),(11397,4),(11398,4),(11410,4),(11422,4),(11428,4),(11437,4),(11439,4),(11441,4),(11450,4),(11461,4),(11471,4),(11474,4),(11478,4),(11496,4),(11516,4),(11519,4),(11523,4),(11529,4),(11539,4),(11545,4),(11549,4),(11550,4),(11555,4),(11558,4),(11560,4),(11561,4),(11563,4),(11565,4),(11577,4),(11579,4),(11581,4),(11582,4),(11591,4),(11593,4),(11598,4),(11599,4),(11601,4),(11604,4),(11606,4),(11614,4),(11616,4),(11620,4),(11628,4),(11629,4),(11631,4),(11634,4),(11642,4),(11651,4),(11654,4),(11656,4),(11662,4),(11685,4),(11686,4),(11687,4),(11689,4),(11691,4),(11710,4),(11712,4),(11717,4),(11722,4),(11723,4),(11728,4),(11729,4),(11739,4),(11743,4),(11756,4),(11759,4),(11761,4),(11764,4),(11765,4),(11768,4),(11769,4),(11774,4),(11775,4),(11780,4),(11792,4),(11803,4),(11811,4),(11823,4),(11836,4),(11838,4),(11845,4),(11852,4),(11855,4),(11856,4),(11858,4),(11860,4),(11862,4),(11863,4),(11868,4),(11871,4),(11888,4),(11889,4),(11897,4),(11902,4),(11910,4),(11913,4),(11915,4),(11919,4),(11920,4),(11922,4),(11925,4),(11926,4),(11927,4),(11928,4),(11930,4),(11936,4),(11939,4),(11940,4),(11942,4),(11943,4),(11954,4),(11957,4),(11960,4),(11963,4),(11965,4),(11970,4),(11976,4),(11980,4),(11988,4),(11989,4),(11990,4),(11992,4),(11993,4),(11997,4),(12003,4),(12018,4),(12027,4),(12028,4),(12030,4),(12033,4),(12035,4),(12036,4),(12040,4),(12047,4),(12050,4),(12062,4),(12069,4),(12071,4),(12081,4),(12083,4),(12086,4),(12089,4),(12095,4),(12117,4),(12119,4),(12122,4),(12123,4),(12128,4),(12131,4),(12136,4),(12137,4),(12140,4),(12146,4),(12156,4),(12157,4),(12168,4),(12171,4),(12173,4),(12180,4),(12186,4),(12192,4),(12196,4),(12219,4),(12223,4),(12233,4),(12244,4),(12257,4),(12259,4),(12262,4),(12263,4),(12277,4),(12280,4),(12281,4),(12289,4),(12295,4),(12298,4),(12302,4),(12305,4),(12311,4),(12318,4),(12319,4),(12325,4),(12332,4),(12334,4),(12337,4),(12340,4),(12342,4),(12344,4),(12351,4),(12356,4),(12361,4),(12362,4),(12377,4),(12391,4),(12395,4),(12403,4),(12404,4),(12406,4),(12408,4),(12409,4),(12416,4),(12425,4),(12430,4),(12434,4),(12435,4),(12444,4),(12446,4),(12450,4),(12457,4),(12458,4),(12460,4),(12463,4),(12469,4),(12473,4),(12475,4),(12482,4),(12494,4),(12495,4),(12512,4),(12513,4),(12520,4),(12524,4),(12525,4),(12530,4),(12532,4),(12533,4),(12536,4),(12541,4),(12543,4),(12544,4),(12548,4),(12556,4),(12563,4),(12571,4),(12572,4),(12578,4),(12579,4),(12580,4),(12586,4),(12587,4),(12595,4),(12597,4),(12601,4),(12602,4),(12609,4),(12610,4),(12616,4),(12618,4),(12628,4),(12635,4),(12636,4),(12654,4),(12663,4),(12672,4),(12674,4),(12680,4),(12683,4),(12686,4),(12693,4),(12696,4),(12702,4),(12708,4),(12714,4),(12723,4),(12736,4),(12746,4),(12761,4),(12765,4),(12778,4),(12779,4),(12782,4),(12784,4),(12786,4),(12794,4),(12797,4),(12812,4),(12813,4),(12817,4),(12818,4),(12820,4),(12821,4),(12825,4),(12831,4),(12832,4),(12842,4),(12844,4),(12850,4),(12853,4),(12855,4),(12857,4),(12863,4),(12869,4),(12879,4),(12880,4),(12886,4),(12887,4),(12890,4),(12892,4),(12908,4),(12909,4),(12910,4),(12913,4),(12914,4),(12915,4),(12917,4),(12921,4),(12924,4),(12926,4),(12936,4),(12942,4),(12945,4),(12947,4),(12948,4),(12949,4),(12960,4),(12964,4),(12966,4),(12967,4),(12971,4),(12986,4),(13007,4),(13008,4),(13010,4),(13013,4),(13014,4),(13026,4),(13039,4),(13054,4),(13068,4),(13081,4),(13087,4),(13090,4),(13104,4),(13106,4),(13107,4),(13121,4),(13122,4),(13123,4),(13124,4),(13131,4),(13140,4),(13144,4),(13153,4),(13157,4),(13161,4),(13166,4),(13170,4),(13172,4),(13173,4),(13181,4),(13187,4),(13188,4),(13198,4),(13201,4),(13209,4),(13212,4),(13217,4),(13221,4),(13224,4),(13229,4),(13233,4),(13237,4),(13249,4),(13250,4),(13255,4),(13272,4),(13274,4),(13278,4),(13282,4),(13283,4),(13294,4),(13301,4),(13302,4),(13316,4),(13317,4),(13322,4),(13323,4),(13334,4),(13342,4),(13344,4),(13350,4),(13352,4),(13354,4),(13357,4),(13361,4),(13366,4),(13367,4),(13368,4),(13380,4),(13387,4),(13390,4),(13400,4),(13405,4),(13420,4),(13429,4),(13435,4),(13436,4),(13440,4),(13448,4),(13449,4),(13450,4),(13454,4),(13465,4),(13471,4),(13474,4),(13475,4),(13477,4),(13478,4),(13483,4),(13486,4),(13495,4),(13506,4),(13508,4),(13511,4),(13513,4),(13515,4),(13526,4),(13534,4),(13547,4),(13548,4),(13549,4),(13553,4),(13555,4),(13563,4),(13569,4),(13579,4),(13584,4),(13585,4),(13592,4),(13605,4),(13611,4),(13628,4),(13631,4),(13641,4),(13643,4),(13661,4),(13662,4),(13669,4),(13680,4),(13692,4),(13706,4),(13710,4),(13720,4),(13735,4),(13741,4),(13750,4),(13752,4),(13756,4),(13759,4),(13766,4),(13775,4),(13788,4),(13795,4),(13798,4),(13802,4),(13813,4),(13814,4),(13821,4),(13822,4),(13834,4),(13836,4),(13842,4),(13849,4),(13854,4),(13855,4),(13869,4),(13875,4),(13888,4),(13895,4),(13903,4),(13909,4),(13915,4),(13916,4),(13923,4),(13966,4),(13968,4),(13980,4),(13984,4),(13989,4),(13993,4),(14013,4),(14024,4),(14026,4),(14027,4),(14028,4),(14038,4),(14039,4),(14040,4),(14043,4),(14044,4),(14047,4),(14050,4),(14062,4),(14064,4),(14099,4),(14100,4),(14107,4),(14111,4),(14113,4),(14121,4),(14125,4),(14131,4),(14137,4),(14146,4),(14152,4),(14159,4),(14174,4),(14181,4),(14183,4),(14193,4),(14194,4),(14197,4),(14199,4),(14217,4),(14220,4),(14225,4),(14227,4),(14234,4),(14238,4),(14249,4),(14257,4),(14258,4),(14261,4),(14262,4),(14272,4),(14281,4),(14306,4),(14308,4),(14319,4),(14329,4),(14336,4),(14338,4),(14341,4),(14342,4),(14344,4),(14351,4),(14352,4),(14363,4),(14369,4),(14370,4),(14376,4),(14378,4),(14386,4),(14387,4),(14407,4),(14411,4),(14418,4),(14430,4),(14439,4),(14443,4),(14447,4),(14448,4),(14451,4),(14452,4),(14461,4),(14462,4),(14469,4),(14470,4),(14484,4),(14485,4),(14489,4),(14506,4),(14510,4),(14512,4),(14516,4),(14518,4),(14536,4),(14541,4),(14549,4),(14560,4),(14568,4),(14570,4),(14580,4),(14590,4),(14602,4),(14611,4),(14613,4),(14618,4),(14646,4),(14652,4),(14661,4),(14664,4),(14666,4),(14685,4),(14689,4),(14691,4),(14698,4),(14699,4),(14709,4),(14713,4),(14718,4),(14724,4),(14726,4),(14727,4),(14735,4),(14741,4),(14747,4),(14767,4),(14777,4),(14781,4),(14783,4),(14784,4),(14786,4),(14790,4),(14791,4),(14794,4),(14797,4),(14798,4),(14805,4),(14812,4),(14822,4),(14834,4),(14844,4),(14849,4),(14854,4),(14860,4),(14869,4),(14879,4),(14885,4),(14886,4),(14890,4),(14901,4),(14909,4),(14916,4),(14917,4),(14919,4),(14920,4),(14922,4),(14926,4),(14930,4),(14933,4),(14947,4),(14952,4),(14953,4),(14955,4),(14961,4),(14966,4),(14974,4),(14988,4),(14989,4),(14992,4),(14994,4),(14996,4),(14998,4),(15011,4),(15020,4),(15033,4),(15038,4),(15046,4),(15067,4),(15068,4),(15078,4),(15084,4),(15087,4),(15089,4),(15090,4),(15093,4),(15115,4),(15126,4),(15132,4),(15144,4),(15148,4),(15149,4),(15151,4),(15154,4),(15160,4),(15167,4),(15168,4),(15169,4),(15176,4),(15182,4),(15190,4),(15196,4),(15197,4),(15201,4),(15209,4),(15224,4),(15235,4),(15242,4),(15244,4),(15252,4),(15265,4),(15273,4),(15285,4),(15289,4),(15290,4),(15291,4),(15293,4),(15294,4),(15316,4),(15318,4),(15322,4),(15325,4),(15328,4),(15342,4),(15343,4),(15352,4),(15355,4),(15356,4),(15366,4),(15367,4),(15377,4),(15379,4),(15382,4),(15386,4),(15387,4),(15391,4),(15397,4),(15406,4),(15409,4),(15422,4),(15441,4),(15461,4),(15471,4),(15472,4),(15474,4),(15475,4),(15477,4),(15484,4),(15492,4),(15499,4),(15500,4),(15513,4),(15517,4),(15520,4),(15524,4),(15540,4),(15542,4),(15549,4),(15568,4),(15583,4),(15588,4),(15599,4),(15604,4),(15606,4),(15607,4),(15612,4),(15614,4),(15615,4),(15617,4),(15621,4),(15628,4),(15629,4),(15633,4),(15635,4),(15660,4),(15663,4),(15674,4),(15676,4),(15699,4),(15708,4),(15711,4),(15720,4),(15726,4),(15727,4),(15728,4),(15730,4),(15731,4),(15740,4),(15742,4),(15745,4),(15747,4),(15750,4),(15754,4),(15775,4),(15777,4),(15779,4),(15780,4),(15784,4),(15786,4),(15788,4),(15794,4),(15798,4),(15817,4),(15825,4),(15826,4),(15827,4),(15833,4),(15837,4),(15840,4),(15845,4),(15853,4),(15855,4),(15869,4),(15872,4),(15874,4),(15875,4),(15884,4),(15885,4),(15896,4),(15904,4),(15905,4),(15918,4),(15919,4),(15927,4),(15929,4),(15939,4),(15942,4),(15947,4),(15950,4),(15951,4),(15960,4),(15964,4),(15971,4),(15974,4),(15980,4),(15992,4),(15994,4),(16008,4),(16010,4),(16012,4),(16020,4),(16021,4),(16025,4),(16034,4),(16040,4),(16055,4),(16061,4),(16062,4),(16068,4),(16072,4),(16077,4),(16079,4),(16081,4),(16102,4),(16108,4),(16132,4),(16134,4),(16152,4),(16156,4),(16157,4),(16158,4),(16163,4),(16174,4),(16179,4),(16192,4),(16203,4),(16214,4),(16224,4),(16234,4),(16243,4),(16247,4),(16253,4),(16255,4),(16257,4),(16261,4),(16277,4),(16281,4),(16287,4),(16288,4),(16292,4),(16297,4),(16299,4),(16305,4),(16322,4),(16335,4),(16340,4),(16353,4),(16359,4),(16376,4),(16381,4),(16391,4),(16392,4),(16396,4),(16417,4),(16424,4),(16425,4),(16427,4),(16439,4),(16442,4),(16444,4),(16448,4),(16452,4),(16459,4),(16468,4),(16473,4),(16474,4),(16486,4),(16500,4),(16501,4),(16510,4),(16529,4),(16533,4),(16535,4),(16541,4),(16546,4),(16556,4),(16561,4),(16569,4),(16582,4),(16602,4),(16610,4),(16613,4),(16614,4),(16615,4),(16616,4),(16622,4),(16624,4),(16628,4),(16630,4),(16632,4),(16641,4),(16646,4),(16649,4),(16675,4),(16701,4),(16711,4),(16713,4),(16720,4),(16722,4),(16728,4),(16745,4),(16748,4),(16752,4),(16756,4),(16759,4),(16767,4),(16770,4),(16774,4),(16775,4),(16779,4),(16786,4),(16794,4),(16796,4),(16799,4),(16801,4),(16802,4),(16810,4),(16812,4),(16816,4),(16828,4),(16831,4),(16838,4),(16840,4),(16844,4),(16845,4),(16856,4),(16860,4),(16861,4),(16864,4),(16869,4),(16875,4),(16878,4),(16880,4),(16898,4),(16900,4),(16906,4),(16907,4),(16913,4),(16914,4),(16920,4),(16934,4),(16938,4),(16949,4),(16976,4),(16990,4),(16992,4),(16999,4),(17000,4),(17003,4),(17004,4),(17016,4),(17022,4),(17029,4),(17030,4),(17031,4),(17036,4),(17037,4),(17047,4),(17050,4),(17055,4),(17077,4),(17079,4),(17085,4),(17088,4),(17089,4),(17102,4),(17103,4),(17113,4),(17120,4),(17132,4),(17137,4),(17138,4),(17145,4),(17150,4),(17153,4),(17156,4),(17157,4),(17159,4),(17171,4),(17176,4),(17178,4),(17181,4),(17187,4),(17206,4),(17207,4),(17215,4),(17223,4),(17229,4),(17231,4),(17232,4),(17240,4),(17241,4),(17247,4),(17253,4),(17254,4),(17275,4),(17285,4),(17288,4),(17289,4),(17295,4),(17298,4),(17310,4),(17322,4),(17323,4),(17338,4),(17346,4),(17347,4),(17353,4),(17363,4),(17364,4),(17371,4),(17372,4),(17378,4),(17383,4),(17384,4),(17389,4),(17390,4),(17392,4),(17400,4),(17408,4),(17437,4),(17454,4),(17457,4),(17464,4),(17473,4),(17495,4),(17502,4),(17511,4),(17528,4),(17550,4),(17552,4),(17558,4),(17559,4),(17561,4),(17569,4),(17581,4),(17593,4),(17601,4),(17603,4),(17607,4),(17616,4),(17621,4),(17629,4),(17635,4),(17638,4),(17640,4),(17642,4),(17643,4),(17646,4),(17647,4),(17654,4),(17656,4),(17663,4),(17669,4),(17670,4),(17674,4),(17676,4),(17677,4),(17687,4),(17688,4),(17696,4),(17704,4),(17705,4),(17707,4),(17708,4),(17714,4),(17715,4),(17719,4),(17720,4),(17728,4),(17743,4),(17745,4),(17746,4),(17749,4),(17758,4),(17763,4),(17766,4),(17781,4),(17785,4),(17795,4),(17811,4),(17817,4),(17818,4),(17820,4),(17822,4),(17826,4),(17829,4),(17832,4),(17836,4),(17840,4),(17849,4),(17854,4),(17863,4),(17867,4),(17888,4),(17906,4),(17907,4),(17918,4),(17923,4),(17935,4),(17953,4),(17961,4),(17962,4),(17965,4),(17968,4),(17971,4),(17974,4),(17978,4),(17982,4),(17985,4),(17989,4),(17992,4),(17998,4),(18000,4),(18002,4),(18014,4),(18024,4),(18029,4),(18035,4),(18036,4),(18039,4),(18043,4),(18044,4),(18046,4),(18056,4),(18057,4),(18062,4),(18068,4),(18072,4),(18078,4),(18085,4),(18088,4),(18101,4),(18105,4),(18106,4),(18108,4),(18113,4),(18117,4),(18119,4),(18120,4),(18129,4),(18134,4),(18145,4),(18149,4),(18152,4),(18158,4),(18160,4),(18164,4),(18169,4),(18170,4),(18172,4),(18174,4),(18175,4),(18178,4),(18183,4),(18197,4),(18198,4),(18203,4),(18211,4),(18212,4),(18214,4),(18218,4),(18223,4),(18231,4),(18232,4),(18244,4),(18245,4),(18248,4),(18249,4),(18258,4),(18272,4),(18290,4),(18302,4),(18314,4),(18317,4),(18323,4),(18332,4),(18335,4),(18340,4),(18348,4),(18351,4),(18352,4),(18355,4),(18356,4),(18360,4),(18367,4),(18384,4),(18388,4),(18389,4),(18393,4),(18412,4),(18431,4),(18433,4),(18444,4),(18445,4),(18454,4),(18462,4),(18472,4),(18473,4),(18475,4),(18488,4),(18494,4),(18518,4),(18531,4),(18539,4),(18544,4),(18545,4),(18548,4),(18550,4),(18552,4),(18554,4),(18559,4),(18562,4),(18564,4),(18568,4),(18574,4),(18578,4),(18582,4),(18589,4),(18597,4),(18608,4),(18613,4),(18616,4),(18620,4),(18626,4),(18627,4),(18631,4),(18636,4),(18638,4),(18640,4),(18656,4),(18659,4),(18665,4),(18670,4),(18673,4),(18682,4),(18695,4),(18699,4),(18702,4),(18704,4),(18705,4),(18717,4),(18718,4),(18722,4),(18726,4),(18729,4),(18738,4),(18741,4),(18767,4),(18770,4),(18775,4),(18787,4),(18791,4),(18795,4),(18807,4),(18808,4),(18811,4),(18812,4),(18818,4),(18819,4),(18827,4),(18828,4),(18833,4),(18836,4),(18839,4),(18851,4),(18853,4),(18869,4),(18870,4),(18874,4),(18885,4),(18895,4),(18901,4),(18903,4),(18913,4),(18923,4),(18937,4),(18943,4),(18944,4),(18952,4),(18954,4),(18955,4),(18957,4),(18969,4),(18972,4),(18973,4),(18976,4),(18977,4),(18982,4),(18986,4),(18989,4),(19002,4),(19004,4),(19006,4),(19010,4),(19022,4),(19028,4),(19038,4),(19043,4),(19045,4),(19046,4),(19053,4),(19061,4),(19062,4),(19071,4),(19074,4),(19084,4),(19093,4),(19095,4),(19103,4),(19108,4),(19110,4),(19111,4),(19124,4),(19129,4),(19130,4),(19134,4),(19139,4),(19144,4),(19146,4),(19148,4),(19157,4),(19161,4),(19167,4),(19170,4),(19173,4),(19178,4),(19181,4),(19189,4),(19194,4),(19200,4),(19210,4),(19212,4),(19220,4),(19226,4),(19228,4),(19229,4),(19232,4),(19233,4),(19234,4),(19238,4),(19241,4),(19244,4),(19249,4),(19258,4),(19261,4),(19266,4),(19267,4),(19269,4),(19274,4),(19277,4),(19288,4),(19289,4),(19290,4),(19298,4),(19299,4),(19309,4),(19310,4),(19311,4),(19320,4),(19324,4),(19325,4),(19329,4),(19336,4),(19343,4),(19346,4),(19348,4),(19349,4),(19350,4),(19358,4),(19379,4),(19383,4),(19391,4),(19394,4),(19397,4),(19407,4),(19410,4),(19418,4),(19423,4),(19426,4),(19428,4),(19429,4),(19433,4),(19437,4),(19443,4),(19444,4),(19445,4),(19446,4),(19451,4),(19461,4),(19468,4),(19470,4),(19471,4),(19477,4),(19487,4),(19488,4),(19495,4),(19498,4),(19512,4),(19520,4),(19530,4),(19541,4),(19543,4),(19544,4),(19549,4),(19555,4),(19560,4),(19572,4),(19575,4),(19584,4),(19593,4),(19612,4),(19615,4),(19624,4),(19630,4),(19635,4),(19641,4),(19654,4),(19661,4),(19686,4),(19695,4),(19707,4),(19710,4),(19711,4),(19716,4),(19736,4),(19738,4),(19739,4),(19743,4),(19747,4),(19757,4),(19760,4),(19784,4),(19796,4),(19797,4),(19806,4),(19809,4),(19838,4),(19841,4),(19854,4),(19873,4),(19875,4),(19882,4),(19883,4),(19890,4),(19895,4),(19899,4),(19908,4),(19909,4),(19915,4),(19921,4),(19928,4),(19930,4),(19936,4),(19938,4),(19941,4),(19942,4),(19950,4),(19953,4),(19956,4),(19961,4),(19964,4),(19971,4),(19976,4),(19995,4),(20001,4),(20009,4),(20011,4),(20021,4),(20034,4),(20036,4),(20051,4),(20053,4),(20060,4),(20070,4),(20075,4),(20081,4),(20098,4),(20101,4),(20123,4),(20126,4),(20130,4),(20142,4),(20150,4),(20153,4),(20159,4),(20169,4),(20170,4),(20172,4),(20173,4),(20175,4),(20193,4),(20197,4),(20204,4),(20216,4),(20217,4),(20220,4),(20224,4),(20227,4),(20228,4),(20231,4),(20232,4),(20235,4),(20237,4),(20249,4),(20251,4),(20252,4),(20260,4),(20263,4),(20266,4),(20270,4),(20271,4),(20276,4),(20282,4),(20283,4),(20299,4),(20300,4),(20302,4),(20305,4),(20308,4),(20310,4),(20330,4),(20331,4),(20356,4),(20357,4),(20361,4),(20362,4),(20363,4),(20371,4),(20372,4),(20373,4),(20374,4),(20375,4),(20378,4),(20379,4),(20390,4),(20391,4),(20393,4),(20397,4),(20398,4),(20416,4),(20419,4),(20420,4),(20422,4),(20426,4),(20433,4),(20434,4),(20443,4),(20451,4),(20462,4),(20476,4),(20478,4),(20479,4),(20486,4),(20487,4),(20490,4),(20493,4),(20501,4),(20503,4),(20509,4),(20526,4),(20535,4),(20544,4),(20553,4),(20555,4),(20556,4),(20557,4),(20565,4),(20569,4),(20572,4),(20583,4),(20589,4),(20591,4),(20592,4),(20599,4),(20603,4),(20604,4),(20606,4),(20607,4),(20612,4),(20613,4),(20614,4),(20631,4),(20644,4),(20647,4),(20662,4),(20668,4),(20669,4),(20676,4),(20677,4),(20682,4),(20683,4),(20689,4),(20690,4),(20697,4),(20700,4),(20705,4),(20716,4),(20723,4),(20732,4),(20733,4),(20746,4),(20758,4),(20774,4),(20779,4),(20784,4),(20786,4),(20793,4),(20800,4),(20804,4),(20812,4),(20821,4),(20831,4),(20835,4),(20839,4),(20840,4),(20844,4),(20853,4),(20854,4),(20858,4),(20866,4),(20868,4),(20873,4),(20874,4),(20876,4),(20879,4),(20893,4),(20899,4),(20911,4),(20914,4),(20915,4),(20918,4),(20920,4),(20931,4),(20932,4),(20935,4),(20961,4),(20976,4),(20980,4),(20988,4),(20989,4),(21013,4),(21015,4),(21021,4),(21030,4),(21032,4),(21033,4),(21036,4),(21050,4),(21070,4),(21074,4),(21094,4),(21106,4),(21109,4),(21111,4),(21120,4),(21122,4),(21143,4),(21144,4),(21153,4),(21154,4),(21162,4),(21165,4),(21167,4),(21168,4),(21174,4),(21181,4),(21183,4),(21184,4),(21186,4),(21188,4),(21193,4),(21210,4),(21211,4),(21216,4),(21218,4),(21219,4),(21221,4),(21235,4),(21237,4),(21244,4),(21249,4),(21289,4),(21312,4),(21315,4),(21341,4),(21342,4),(21359,4),(21360,4),(21361,4),(21370,4),(21373,4),(21378,4),(21381,4),(21396,4),(21403,4),(21406,4),(21407,4),(21411,4),(21413,4),(21419,4),(21420,4),(21422,4),(21423,4),(21433,4),(21437,4),(21448,4),(21451,4),(21456,4),(21459,4),(21470,4),(21488,4),(21489,4),(21493,4),(21494,4),(21497,4),(21499,4),(21503,4),(21525,4),(21528,4),(21529,4),(21539,4),(21542,4),(21545,4),(21550,4),(21554,4),(21562,4),(21567,4),(21573,4),(21583,4),(21592,4),(21593,4),(21600,4),(21612,4),(21614,4),(21615,4),(21631,4),(21632,4),(21634,4),(21646,4),(21662,4),(21666,4),(21671,4),(21672,4),(21673,4),(21685,4),(21691,4),(21696,4),(21697,4),(21703,4),(21710,4),(21711,4),(21720,4),(21730,4),(21740,4),(21746,4),(21747,4),(21748,4),(21752,4),(21757,4),(21759,4),(21777,4),(21778,4),(21783,4),(21785,4),(21789,4),(21790,4),(21805,4),(21809,4),(21815,4),(21817,4),(21819,4),(21821,4),(21829,4),(21833,4),(21847,4),(21848,4),(21851,4),(21854,4),(21873,4),(21892,4),(21894,4),(21905,4),(21906,4),(21907,4),(21914,4),(21917,4),(21929,4),(21946,4),(21960,4),(21969,4),(21977,4),(21988,4),(21998,4),(21999,4),(22007,4),(22010,4),(22014,4),(22028,4),(22029,4),(22030,4),(22033,4),(22034,4),(22037,4),(22053,4),(22060,4),(22061,4),(22070,4),(22081,4),(22084,4),(22096,4),(22101,4),(22110,4),(22114,4),(22117,4),(22119,4),(22131,4),(22133,4),(22136,4),(22141,4),(22142,4),(22144,4),(22146,4),(22147,4),(22151,4),(22154,4),(22173,4),(22178,4),(22181,4),(22201,4),(22215,4),(22218,4),(22222,4),(22230,4),(22234,4),(22243,4),(22255,4),(22263,4),(22266,4),(22268,4),(22271,4),(22276,4),(22277,4),(22294,4),(22299,4),(22327,4),(22334,4),(22335,4),(22340,4),(22354,4),(22355,4),(22358,4),(22367,4),(22371,4),(22374,4),(22379,4),(22385,4),(22386,4),(22389,4),(22390,4),(22391,4),(22407,4),(22421,4),(22423,4),(22425,4),(22427,4),(22428,4),(22430,4),(22431,4),(22434,4),(22444,4),(22453,4),(22457,4),(22458,4),(22459,4),(22460,4),(22463,4),(22487,4),(22488,4),(22490,4),(22493,4),(22497,4),(22505,4),(22507,4),(22512,4),(22515,4),(22520,4),(22536,4),(22537,4),(22548,4),(22553,4),(22561,4),(22566,4),(22567,4),(22583,4),(22585,4),(22586,4),(22587,4),(22598,4),(22600,4),(22619,4),(22620,4),(22628,4),(22632,4),(22656,4),(22669,4),(22670,4),(22671,4),(22672,4),(22677,4),(22681,4),(22684,4),(22692,4),(22713,4),(22717,4),(22718,4),(22721,4),(22728,4),(22746,4),(22768,4),(22770,4),(22776,4),(22781,4),(22796,4),(22798,4),(22800,4),(22804,4),(22813,4),(22820,4),(22825,4),(22832,4),(22834,4),(22839,4),(22850,4),(22853,4),(22854,4),(22856,4),(22868,4),(22875,4),(22880,4),(22903,4),(22908,4),(22918,4),(22921,4),(22934,4),(22951,4),(22954,4),(22956,4),(22961,4),(22966,4),(22985,4),(22991,4),(23010,4),(23012,4),(23019,4),(23021,4),(23028,4),(23036,4),(23060,4),(23061,4),(23062,4),(23063,4),(23065,4),(23073,4),(23076,4),(23080,4),(23083,4),(23090,4),(23093,4),(23094,4),(23096,4),(23111,4),(23119,4),(23126,4),(23128,4),(23132,4),(23134,4),(23136,4),(23137,4),(23145,4),(23154,4),(23168,4),(23172,4),(23175,4),(23176,4),(23180,4),(23186,4),(23188,4),(23190,4),(23197,4),(23201,4),(23208,4),(23209,4),(23222,4),(23232,4),(23243,4),(23247,4),(23253,4),(23256,4),(23257,4),(23260,4),(23264,4),(23266,4),(23274,4),(23316,4),(23317,4),(23320,4),(23325,4),(23328,4),(23329,4),(23331,4),(23332,4),(23335,4),(23351,4),(23356,4),(23363,4),(23375,4),(23380,4),(23391,4),(23392,4),(23400,4),(23410,4),(23419,4),(23421,4),(23424,4),(23438,4),(23440,4),(23441,4),(23448,4),(23451,4),(23455,4),(23456,4),(23462,4),(23481,4),(23488,4),(23498,4),(23503,4),(23509,4),(23523,4),(23528,4),(23534,4),(23536,4),(23541,4),(23544,4),(23561,4),(23570,4),(23571,4),(23581,4),(23584,4),(23586,4),(23587,4),(23588,4),(23600,4),(23605,4),(23608,4),(23613,4),(23615,4),(23621,4),(23632,4),(23639,4),(23641,4),(23646,4),(23660,4),(23662,4),(23665,4),(23666,4),(23672,4),(23677,4),(23685,4),(23691,4),(23692,4),(23707,4),(23718,4),(23719,4),(23725,4),(23726,4),(23734,4),(23747,4),(23749,4),(23750,4),(23751,4),(23757,4),(23769,4),(23772,4),(23777,4),(23779,4),(23785,4),(23791,4),(23792,4),(23796,4),(23806,4),(23827,4),(23851,4),(23856,4),(23857,4),(23862,4),(23864,4),(23868,4),(23872,4),(23885,4),(23887,4),(23891,4),(23892,4),(23896,4),(23902,4),(23911,4),(23913,4),(23917,4),(23921,4),(23934,4),(23935,4),(23941,4),(23943,4),(23944,4),(23951,4),(23955,4),(23964,4),(23966,4),(23974,4),(23982,4),(23999,4),(24001,4),(24002,4),(24007,4),(24026,4),(24036,4),(24044,4),(24046,4),(24052,4),(24068,4),(24078,4),(24079,4),(24087,4),(24090,4),(24093,4),(24096,4),(24103,4),(24111,4),(24116,4),(24118,4),(24121,4),(24129,4),(24134,4),(24137,4),(24140,4),(24141,4),(24161,4),(24170,4),(24176,4),(24178,4),(24184,4),(24190,4),(24204,4),(24206,4),(24212,4),(24217,4),(24219,4),(24221,4),(24224,4),(24225,4),(24232,4),(24236,4),(24237,4),(24239,4),(24243,4),(24255,4),(24266,4),(24272,4),(24273,4),(24277,4),(24305,4),(24310,4),(24314,4),(24318,4),(24322,4),(24325,4),(24330,4),(24337,4),(24339,4),(24351,4),(24359,4),(24364,4),(24367,4),(24375,4),(24377,4),(24385,4),(24387,4),(24395,4),(24399,4),(24400,4),(24414,4),(24418,4),(24419,4),(24420,4),(24433,4),(24441,4),(24456,4),(24463,4),(24465,4),(24467,4),(24472,4),(24475,4),(24487,4),(24488,4),(24496,4),(24516,4),(24533,4),(24536,4),(24538,4),(24544,4),(24552,4),(24558,4),(24567,4),(24572,4),(24576,4),(24583,4),(24589,4),(24605,4),(24610,4),(24616,4),(24621,4),(24626,4),(24628,4),(24635,4),(24639,4),(24653,4),(24655,4),(24665,4),(24667,4),(24669,4),(24670,4),(24692,4),(24706,4),(24710,4),(24713,4),(24718,4),(24734,4),(24737,4),(24739,4),(24741,4),(24744,4),(24751,4),(24770,4),(24783,4),(24787,4),(24788,4),(24795,4),(24806,4),(24816,4),(24828,4),(24836,4),(24849,4),(24853,4),(24860,4),(24863,4),(24864,4),(24865,4),(24867,4),(24871,4),(24872,4),(24877,4),(24879,4),(24880,4),(24891,4),(24893,4),(24896,4),(24897,4),(24905,4),(24907,4),(24909,4),(24912,4),(24933,4),(24936,4),(24937,4),(24939,4),(24944,4),(24949,4),(24954,4),(24966,4),(24967,4),(24973,4),(24978,4),(24981,4),(24986,4),(24996,4),(25002,4),(25006,4),(25008,4),(25013,4),(25014,4),(25028,4),(25030,4),(25034,4),(25036,4),(25039,4),(25043,4),(25044,4),(25046,4),(25061,4),(25068,4),(25077,4),(25098,4),(25099,4),(25102,4),(25109,4),(25110,4),(25112,4),(25122,4),(25124,4),(25134,4),(25140,4),(25143,4),(25150,4),(25152,4),(25155,4),(25158,4),(25161,4),(25165,4),(25166,4),(25168,4),(25169,4),(25185,4),(25187,4),(25191,4),(25194,4),(25197,4),(25200,4),(25201,4),(25202,4),(25204,4),(25209,4),(25211,4),(25216,4),(25217,4),(25221,4),(25222,4),(25231,4),(25232,4),(25242,4),(25245,4),(25250,4),(25266,4),(25271,4),(25278,4),(25279,4),(25294,4),(25299,4),(25306,4),(25311,4),(25328,4),(25331,4),(25337,4),(25342,4),(25369,4),(25375,4),(25376,4),(25384,4),(25395,4),(25401,4),(25406,4),(25408,4),(25409,4),(25425,4),(25432,4),(25473,4),(25486,4),(25487,4),(25492,4),(25498,4),(25499,4),(25500,4),(25512,4),(25522,4),(25523,4),(25537,4),(25548,4),(25562,4),(25564,4),(25577,4),(25583,4),(25598,4),(25603,4),(25611,4),(25625,4),(25627,4),(25629,4),(25631,4),(25641,4),(25644,4),(25646,4),(25652,4),(25661,4),(25666,4),(25668,4),(25673,4),(25679,4),(25682,4),(25683,4),(25690,4),(25691,4),(25692,4),(25707,4),(25710,4),(25711,4),(25721,4),(25722,4),(25727,4),(25730,4),(25735,4),(25736,4),(25750,4),(25755,4),(25762,4),(25771,4),(25779,4),(25794,4),(25806,4),(25809,4),(25824,4),(25832,4),(25834,4),(25835,4),(25841,4),(25853,4),(25864,4),(25865,4),(25869,4),(25880,4),(25881,4),(25890,4),(25902,4),(25913,4),(25925,4),(25927,4),(25928,4),(25933,4),(25938,4),(25939,4),(25957,4),(25972,4),(25973,4),(25986,4),(25987,4),(25992,4),(26001,4),(26002,4),(26011,4),(26012,4),(26014,4),(26017,4),(26027,4),(26029,4),(26052,4),(26065,4),(26066,4),(26075,4),(26091,4),(26092,4),(26095,4),(26112,4),(26120,4),(26125,4),(26129,4),(26144,4),(26156,4),(26157,4),(26165,4),(26173,4),(26183,4),(26185,4),(26196,4),(26200,4),(26202,4),(26230,4),(26232,4),(26250,4),(26260,4),(26268,4),(26274,4),(26276,4),(26281,4),(26282,4),(26289,4),(26290,4),(26293,4),(26294,4),(26300,4),(26301,4),(26303,4),(26309,4),(26310,4),(26320,4),(26321,4),(26325,4),(26329,4),(26336,4),(26343,4),(26349,4),(26355,4),(26370,4),(26374,4),(26375,4),(26380,4),(26383,4),(26391,4),(26392,4),(26395,4),(26396,4),(26401,4),(26404,4),(26436,4),(26445,4),(26446,4),(26457,4),(26465,4),(26466,4),(26478,4),(26479,4),(26481,4),(26490,4),(26491,4),(26498,4),(26502,4),(26506,4),(26510,4),(26512,4),(26515,4),(26516,4),(26520,4),(26521,4),(26523,4),(26528,4),(26529,4),(26539,4),(26540,4),(26544,4),(26554,4),(26571,4),(26576,4),(26582,4),(26588,4),(26593,4),(26596,4),(26603,4),(26607,4),(26612,4),(26614,4),(26621,4),(26632,4),(26636,4),(26637,4),(26643,4),(26654,4),(26657,4),(26663,4),(26674,4),(26687,4),(26691,4),(26699,4),(26707,4),(26716,4),(26727,4),(26729,4),(26730,4),(26731,4),(26740,4),(26743,4),(26755,4),(26758,4),(26761,4),(26773,4),(26777,4),(26795,4),(26797,4),(26820,4),(26840,4),(26843,4),(26845,4),(26862,4),(26863,4),(26866,4),(26867,4),(26882,4),(26887,4),(26888,4),(26891,4),(26895,4),(26899,4),(26906,4),(26907,4),(26917,4),(26918,4),(26925,4),(26931,4),(26932,4),(26944,4),(26948,4),(26951,4),(26955,4),(26956,4),(26958,4),(26963,4),(26970,4),(26974,4),(26981,4),(26985,4),(26986,4),(26987,4),(26989,4),(26997,4),(27000,4),(27007,4),(27020,4),(27027,4),(27046,4),(27053,4),(27060,4),(27063,4),(27066,4),(27068,4),(27071,4),(27084,4),(27088,4),(27090,4),(27097,4),(27101,4),(27113,4),(27127,4),(27134,4),(27141,4),(27150,4),(27152,4),(27176,4),(27181,4),(27209,4),(27211,4),(27215,4),(27221,4),(27238,4),(27243,4),(27247,4),(27248,4),(27250,4),(27262,4),(27268,4),(27272,4),(27273,4),(27274,4),(27286,4),(27291,4),(27302,4),(27311,4),(27319,4),(27320,4),(27332,4),(27338,4),(27339,4),(27341,4),(27348,4),(27350,4),(27356,4),(27370,4),(27374,4),(27376,4),(27378,4),(27379,4),(27380,4),(27385,4),(27386,4),(27393,4),(27397,4),(27416,4),(27430,4),(27431,4),(27435,4),(27436,4),(27450,4),(27463,4),(27474,4),(27476,4),(27482,4),(27483,4),(27492,4),(27493,4),(27496,4),(27506,4),(27517,4),(27523,4),(27525,4),(27528,4),(27529,4),(27551,4),(27562,4),(27563,4),(27564,4),(27567,4),(27569,4),(27574,4),(27576,4),(27586,4),(27592,4),(27602,4),(27605,4),(27616,4),(27622,4),(27623,4),(27635,4),(27637,4),(27640,4),(27644,4),(27654,4),(27661,4),(27674,4),(27676,4),(27679,4),(27682,4),(27688,4),(27692,4),(27703,4),(27713,4),(27714,4),(27723,4),(27745,4),(27746,4),(27761,4),(27767,4),(27772,4),(27773,4),(27777,4),(27801,4),(27802,4),(27811,4),(27817,4),(27821,4),(27824,4),(27834,4),(27850,4),(27851,4),(27860,4),(27862,4),(27873,4),(27878,4),(27887,4),(27900,4),(27904,4),(27915,4),(27926,4),(27927,4),(27928,4),(27956,4),(27965,4),(27967,4),(27970,4),(27971,4),(27977,4),(27982,4),(27984,4),(27987,4),(27993,4),(27995,4),(28020,4),(28021,4),(28032,4),(28033,4),(28035,4),(28036,4),(28037,4),(28041,4),(28044,4),(28051,4),(28054,4),(28055,4),(28074,4),(28091,4),(28092,4),(28099,4),(28104,4),(28112,4),(28113,4),(28127,4),(28128,4),(28134,4),(28147,4),(28150,4),(28158,4),(28164,4),(28171,4),(28178,4),(28180,4),(28182,4),(28185,4),(28187,4),(28198,4),(28200,4),(28202,4),(28211,4),(28213,4),(28222,4),(28230,4),(28231,4),(28239,4),(28249,4),(28251,4),(28254,4),(28257,4),(28258,4),(28269,4),(28280,4),(28288,4),(28293,4),(28296,4),(28297,4),(28298,4),(28309,4),(28343,4),(28361,4),(28364,4),(28368,4),(28388,4),(28392,4),(28394,4),(28399,4),(28402,4),(28415,4),(28430,4),(28432,4),(28477,4),(28497,4),(28500,4),(28508,4),(28521,4),(28525,4),(28527,4),(28528,4),(28529,4),(28533,4),(28535,4),(28544,4),(28548,4),(28549,4),(28554,4),(28577,4),(28588,4),(28593,4),(28601,4),(28603,4),(28606,4),(28618,4),(28619,4),(28623,4),(28630,4),(28644,4),(28655,4),(28675,4),(28696,4),(28709,4),(28710,4),(28714,4),(28723,4),(28726,4),(28727,4),(28729,4),(28730,4),(28738,4),(28745,4),(28747,4),(28757,4),(28759,4),(28760,4),(28776,4),(28778,4),(28783,4),(28785,4),(28790,4),(28793,4),(28816,4),(28820,4),(28823,4),(28824,4),(28838,4),(28840,4),(28846,4),(28847,4),(28850,4),(28855,4),(28858,4),(28870,4),(28877,4),(28880,4),(28881,4),(28885,4),(28888,4),(28903,4),(28920,4),(28921,4),(28923,4),(28928,4),(28941,4),(28953,4),(28956,4),(28964,4),(28977,4),(28981,4),(28982,4),(28992,4),(28994,4),(29013,4),(29018,4),(29024,4),(29027,4),(29039,4),(29044,4),(29047,4),(29052,4),(29054,4),(29056,4),(29062,4),(29063,4),(29068,4),(29071,4),(29072,4),(29087,4),(29097,4),(29100,4),(29101,4),(29110,4),(29116,4),(29117,4),(29119,4),(29127,4),(29135,4),(29145,4),(29156,4),(29162,4),(29193,4),(29206,4),(29218,4),(29220,4),(29221,4),(29224,4),(29232,4),(29247,4),(29248,4),(29252,4),(29268,4),(29273,4),(29277,4),(29281,4),(29282,4),(29284,4),(29290,4),(29299,4),(29301,4),(29304,4),(29305,4),(29324,4),(29326,4),(29333,4),(29349,4),(29372,4),(29381,4),(29396,4),(29406,4),(29414,4),(29416,4),(29418,4),(29435,4),(29444,4),(29451,4),(29457,4),(29460,4),(29474,4),(29480,4),(29491,4),(29496,4),(29499,4),(29501,4),(29507,4),(29542,4),(29546,4),(29547,4),(29550,4),(29553,4),(29556,4),(29562,4),(29563,4),(29566,4),(29568,4),(29571,4),(29589,4),(29592,4),(29602,4),(29603,4),(29611,4),(29616,4),(29623,4),(29628,4),(29629,4),(29651,4),(29652,4),(29683,4),(29695,4),(29699,4),(29704,4),(29709,4),(29723,4),(29725,4),(29726,4),(29727,4),(29737,4),(29738,4),(29744,4),(29752,4),(29753,4),(29754,4),(29758,4),(29769,4),(29776,4),(29780,4),(29782,4),(29785,4),(29789,4),(29790,4),(29791,4),(29794,4),(29795,4),(29808,4),(29815,4),(29823,4),(29825,4),(29827,4),(29834,4),(29843,4),(29854,4),(29855,4),(29867,4),(29869,4),(29877,4),(29878,4),(29881,4),(29897,4),(29900,4),(29906,4),(29919,4),(29924,4),(29940,4),(29958,4),(29959,4),(29961,4),(29965,4),(29967,4),(29969,4),(29970,4),(29991,4),(29997,4),(29998,4),(30001,4),(30007,4),(30010,4),(30016,4),(30038,4),(30041,4),(30055,4),(30060,4),(30063,4),(30067,4),(30068,4),(30071,4),(30072,4),(30077,4),(30080,4),(30082,4),(30097,4),(30119,4),(30127,4),(30128,4),(30137,4),(30141,4),(30163,4),(30172,4),(30180,4),(30181,4),(30187,4),(30189,4),(30191,4),(30206,4),(30214,4),(30215,4),(30218,4),(30219,4),(30225,4),(30227,4),(30229,4),(30243,4),(30245,4),(30247,4),(30259,4),(30261,4),(30266,4),(30274,4),(30278,4),(30280,4),(30282,4),(30290,4),(30293,4),(30299,4),(30303,4),(30311,4),(30319,4),(30336,4),(30351,4),(30354,4),(30359,4),(30367,4),(30371,4),(30382,4),(30384,4),(30390,4),(30405,4),(30410,4),(30414,4),(30415,4),(30420,4),(30432,4),(30434,4),(30436,4),(30440,4),(30445,4),(30450,4),(30456,4),(30460,4),(30471,4),(30474,4),(30476,4),(30487,4),(30488,4),(30492,4),(30500,4),(30524,4),(30525,4),(30527,4),(30531,4),(30544,4),(30550,4),(30552,4),(30558,4),(30564,4),(30566,4),(30574,4),(30576,4),(30595,4),(30605,4),(30606,4),(30607,4),(30609,4),(30614,4),(30626,4),(30639,4),(30640,4),(30650,4),(30651,4),(30655,4),(30657,4),(30660,4),(30664,4),(30667,4),(30671,4),(30675,4),(30677,4),(30678,4),(30680,4),(30683,4),(30688,4),(30691,4),(30693,4),(30707,4),(30708,4),(30718,4),(30722,4),(30724,4),(30726,4),(30732,4),(30737,4),(30739,4),(30740,4),(30753,4),(30755,4),(30756,4),(30767,4),(30775,4),(30776,4),(30781,4),(30786,4),(30791,4),(30792,4),(30796,4),(30800,4),(30806,4),(30807,4),(30813,4),(30816,4),(30823,4),(30829,4),(30836,4),(30849,4),(30854,4),(30858,4),(30859,4),(30862,4),(30873,4),(30880,4),(30892,4),(30901,4),(30903,4),(30907,4),(30918,4),(30921,4),(30923,4),(30928,4),(30931,4),(30933,4),(30937,4),(30942,4),(30955,4),(30957,4),(30959,4),(30968,4),(30969,4),(30973,4),(30977,4),(30978,4),(30980,4),(30983,4),(30988,4),(30990,4),(30993,4),(30995,4),(30997,4),(31028,4),(31045,4),(31048,4),(31051,4),(31055,4),(31056,4),(31066,4),(31069,4),(31078,4),(31081,4),(31083,4),(31084,4),(31104,4),(31106,4),(31123,4),(31134,4),(31140,4),(31142,4),(31149,4),(31151,4),(31152,4),(31160,4),(31165,4),(31169,4),(31172,4),(31173,4),(31183,4),(31184,4),(31190,4),(31191,4),(31200,4),(31204,4),(31212,4),(31222,4),(31223,4),(31224,4),(31230,4),(31245,4),(31258,4),(31268,4),(31269,4),(31272,4),(31276,4),(31277,4),(31280,4),(31282,4),(31283,4),(31284,4),(31285,4),(31294,4),(31296,4),(31297,4),(31299,4),(31300,4),(31309,4),(31310,4),(31316,4),(31326,4),(31334,4),(31341,4),(31346,4),(31353,4),(31355,4),(31360,4),(31370,4),(31378,4),(31385,4),(31393,4),(31402,4),(31415,4),(31424,4),(31430,4),(31437,4),(31445,4),(31458,4),(31459,4),(31463,4),(31468,4),(31470,4),(31480,4),(31482,4),(31492,4),(31493,4),(31504,4),(31506,4),(31511,4),(31522,4),(31523,4),(31526,4),(31528,4),(31533,4),(31540,4),(31555,4),(31570,4),(31572,4),(31573,4),(31580,4),(31593,4),(31594,4),(31606,4),(31607,4),(31609,4),(31612,4),(31616,4),(31619,4),(31624,4),(31630,4),(31633,4),(31645,4),(31651,4),(31654,4),(31665,4),(31668,4),(31669,4),(31671,4),(31682,4),(31687,4),(31692,4),(31693,4),(31694,4),(31697,4),(31700,4),(31712,4),(31713,4),(31714,4),(31715,4),(31722,4),(31725,4),(31726,4),(31729,4),(31730,4),(31736,4),(31737,4),(31747,4),(31749,4),(31752,4),(31758,4),(31765,4),(31773,4),(31774,4),(31776,4),(31790,4),(31791,4),(31795,4),(31796,4),(31809,4),(31813,4),(31829,4),(31837,4),(31840,4),(31847,4),(31859,4),(31860,4),(31862,4),(31872,4),(31874,4),(31887,4),(31891,4),(31894,4),(31899,4),(31902,4),(31910,4),(31912,4),(31913,4),(31915,4),(31919,4),(31920,4),(31930,4),(31933,4),(31944,4),(31946,4),(31948,4),(31950,4),(31955,4),(31956,4),(31959,4),(31961,4),(31964,4),(31966,4),(31972,4),(31981,4),(31992,4),(31995,4),(31999,4),(32000,4),(32004,4),(32006,4),(32010,4),(32012,4),(32018,4),(32019,4),(32021,4),(32028,4),(32029,4),(32031,4),(32034,4),(32037,4),(32039,4),(32042,4),(32065,4),(32067,4),(32074,4),(32076,4),(32085,4),(32090,4),(32091,4),(32093,4),(32094,4),(32101,4),(32103,4),(32111,4),(32113,4),(32117,4),(32118,4),(32120,4),(32121,4),(32124,4),(32127,4),(32142,4),(32143,4),(32153,4),(32158,4),(32162,4),(32163,4),(32169,4),(32177,4),(32184,4),(32188,4),(32210,4),(32212,4),(32215,4),(32231,4),(32235,4),(32237,4),(32238,4),(32240,4),(32243,4),(32246,4),(32247,4),(32250,4),(32252,4),(32254,4),(32255,4),(32257,4),(32262,4),(32270,4),(32273,4),(32275,4),(32283,4),(32287,4),(32288,4),(32290,4),(32297,4),(32298,4),(32327,4),(32331,4),(32333,4),(32339,4),(32340,4),(32343,4),(32345,4),(32351,4),(32352,4),(32362,4),(32368,4),(32370,4),(32371,4),(32374,4),(32376,4),(32378,4),(32379,4),(32382,4),(32383,4),(32396,4),(32402,4),(32412,4),(32415,4),(32421,4),(32423,4),(32441,4),(32463,4),(32467,4),(32478,4),(32485,4),(32488,4),(32490,4),(32493,4),(32502,4),(32507,4),(32513,4),(32524,4),(32528,4),(32531,4),(32535,4),(32538,4),(32540,4),(32541,4),(32542,4),(32547,4),(32557,4),(32560,4),(32572,4),(32588,4),(32615,4),(32619,4),(32624,4),(32627,4),(32644,4),(32645,4),(32646,4),(32648,4),(32659,4),(32663,4),(32673,4),(32679,4),(32682,4),(32684,4),(32695,4),(32700,4),(32701,4),(32708,4),(32712,4),(32725,4),(32751,4),(32770,4),(32776,4),(32789,4),(32793,4),(32796,4),(32808,4),(32838,4),(32840,4),(32843,4),(32850,4),(32856,4),(32862,4),(32864,4),(32870,4),(32874,4),(32875,4),(32877,4),(32879,4),(32889,4),(32905,4),(32906,4),(32909,4),(32910,4),(32918,4),(32925,4),(32928,4),(32932,4),(32933,4),(32938,4),(32954,4),(32955,4),(32962,4),(32966,4),(32968,4),(32971,4),(32974,4),(32975,4),(32976,4),(32979,4),(32984,4),(32988,4),(32994,4),(32999,4),(33006,4),(33019,4),(33028,4),(33034,4),(33061,4),(33065,4),(33076,4),(33077,4),(33082,4),(33086,4),(33087,4),(33091,4),(33096,4),(33114,4),(33125,4),(33131,4),(33145,4),(33146,4),(33156,4),(33166,4),(33168,4),(33178,4),(33180,4),(33196,4),(33197,4),(33201,4),(33204,4),(33205,4),(33207,4),(33218,4),(33219,4),(33227,4),(33231,4),(33241,4),(33242,4),(33243,4),(33245,4),(33255,4),(33257,4),(33263,4),(33271,4),(33280,4),(33281,4),(33296,4),(33298,4),(33310,4),(33313,4),(33328,4),(33330,4),(33331,4),(33347,4),(33354,4),(33359,4),(33366,4),(33369,4),(33378,4),(33380,4),(33390,4),(33394,4),(33395,4),(33396,4),(33398,4),(33400,4),(33409,4),(33412,4),(33413,4),(33414,4),(33418,4),(33429,4),(33439,4),(33440,4),(33448,4),(33453,4),(33455,4),(33462,4),(33466,4),(33468,4),(33469,4),(33473,4),(33475,4),(33477,4),(33484,4),(33502,4),(33506,4),(33508,4),(33517,4),(33520,4),(33522,4),(33533,4),(33540,4),(33541,4),(33549,4),(33562,4),(33572,4),(33583,4),(33594,4),(33604,4),(33613,4),(33622,4),(33626,4),(33627,4),(33633,4),(33643,4),(33654,4),(33660,4),(33661,4),(33667,4),(33671,4),(33672,4),(33673,4),(33685,4),(33687,4),(33697,4),(33701,4),(33706,4),(33713,4),(33717,4),(33723,4),(33728,4),(33738,4),(33740,4),(33750,4),(33782,4),(33795,4),(33802,4),(33807,4),(33809,4),(33810,4),(33814,4),(33819,4),(33821,4),(33823,4),(33827,4),(33833,4),(33834,4),(33842,4),(33844,4),(33851,4),(33857,4),(33860,4),(33862,4),(33863,4),(33866,4),(33873,4),(33889,4),(33891,4),(33892,4),(33895,4),(33912,4),(33919,4),(33920,4),(33922,4),(33923,4),(33925,4),(33930,4),(33933,4),(33943,4),(33957,4),(33968,4),(33973,4),(33980,4),(33981,4),(33986,4),(33989,4),(33990,4),(33997,4),(33998,4),(34001,4),(34005,4),(34007,4),(34020,4),(34023,4),(34026,4),(34033,4),(34039,4),(34044,4),(34045,4),(34048,4),(34052,4),(34061,4),(34069,4),(34073,4),(34088,4),(34096,4),(34103,4),(34104,4),(34105,4),(34113,4),(34118,4),(34120,4),(34122,4),(34124,4),(34128,4),(34131,4),(34132,4),(34145,4),(34151,4),(34152,4),(34161,4),(34162,4),(34178,4),(34188,4),(34194,4),(34197,4),(34217,4),(34219,4),(34220,4),(34234,4),(34244,4),(34246,4),(34247,4),(34249,4),(34256,4),(34259,4),(34263,4),(34267,4),(34278,4),(34284,4),(34286,4),(34300,4),(34318,4),(34327,4),(34328,4),(34335,4),(34340,4),(34345,4),(34348,4),(34351,4),(34357,4),(34361,4),(34362,4),(34370,4),(34381,4),(34386,4),(34387,4),(34389,4),(34393,4),(34401,4),(34403,4),(34404,4),(34408,4),(34418,4),(34423,4),(34432,4),(34433,4),(34437,4),(34439,4),(34442,4),(34447,4),(34448,4),(34454,4),(34460,4),(34466,4),(34470,4),(34475,4),(34479,4),(34488,4),(34510,4),(34511,4),(34535,4),(34542,4),(34551,4),(34565,4),(34571,4),(34580,4),(34593,4),(34595,4),(34596,4),(34599,4),(34602,4),(34603,4),(34617,4),(34619,4),(34623,4),(34624,4),(34626,4),(34634,4),(34638,4),(34649,4),(34651,4),(34654,4),(34664,4),(34669,4),(34673,4),(34679,4),(34701,4),(34740,4),(34741,4),(34763,4),(34764,4),(34765,4),(34771,4),(34776,4),(34777,4),(34779,4),(34787,4),(34790,4),(34795,4),(34796,4),(34801,4),(34810,4),(34812,4),(34822,4),(34835,4),(34837,4),(34838,4),(34850,4),(34857,4),(34862,4),(34866,4),(34869,4),(34881,4),(34927,4),(34930,4),(34931,4),(34939,4),(34954,4),(34960,4),(34968,4),(34982,4),(34986,4),(34992,4),(34999,4),(35007,4),(35009,4),(35016,4),(35020,4),(35029,4),(35038,4),(35039,4),(35044,4),(35046,4),(35058,4),(35070,4),(35079,4),(35081,4),(35082,4),(35084,4),(35088,4),(35095,4),(35101,4),(35103,4),(35111,4),(35113,4),(35126,4),(35128,4),(35133,4),(35136,4),(35158,4),(35160,4),(35161,4),(35163,4),(35165,4),(35170,4),(35173,4),(35182,4),(35183,4),(35186,4),(35197,4),(35199,4),(35203,4),(35207,4),(35208,4),(35219,4),(35224,4),(35229,4),(35232,4),(35254,4),(35261,4),(35262,4),(35271,4),(35272,4),(35278,4),(35284,4),(35285,4),(35292,4),(35297,4),(35298,4),(35299,4),(35301,4),(35304,4),(35312,4),(35316,4),(35320,4),(35333,4),(35341,4),(35370,4),(35373,4),(35378,4),(35381,4),(35388,4),(35393,4),(35394,4),(35403,4),(35408,4),(35410,4),(35412,4),(35415,4),(35426,4),(35428,4),(35435,4),(35436,4),(35437,4),(35442,4),(35445,4),(35451,4),(35458,4),(35462,4),(35472,4),(35479,4),(35480,4),(35482,4),(35494,4),(35495,4),(35504,4),(35511,4),(35512,4),(35517,4),(35521,4),(35523,4),(35536,4),(35538,4),(35542,4),(35543,4),(35547,4),(35557,4),(35562,4),(35563,4),(35572,4),(35573,4),(35576,4),(35577,4),(35582,4),(35591,4),(35603,4),(35620,4),(35622,4),(35632,4),(35635,4),(35647,4),(35650,4),(35659,4),(35660,4),(35661,4),(35663,4),(35664,4),(35668,4),(35670,4),(35671,4),(35676,4),(35717,4),(35729,4),(35730,4),(35732,4),(35736,4),(35737,4),(35740,4),(35751,4),(35752,4),(35753,4),(35756,4),(35764,4),(35773,4),(35777,4),(35780,4),(35784,4),(35789,4),(35804,4),(35805,4),(35811,4),(35813,4),(35826,4),(35835,4),(35836,4),(35840,4),(35849,4),(35854,4),(35858,4),(35862,4),(35872,4),(35875,4),(35882,4),(35887,4),(35899,4),(35901,4),(35908,4),(35910,4),(35914,4),(35922,4),(35933,4),(35950,4),(35952,4),(35965,4),(35967,4),(35974,4),(35975,4),(35977,4),(35978,4),(35980,4),(35987,4),(36002,4),(36003,4),(36011,4),(36015,4),(36017,4),(36020,4),(36028,4),(36033,4),(36034,4),(36037,4),(36041,4),(36049,4),(36061,4),(36062,4),(36088,4),(36092,4),(36093,4),(36095,4),(36111,4),(36114,4),(36131,4),(36136,4),(36137,4),(36138,4),(36142,4),(36146,4),(36151,4),(36154,4),(36156,4),(36159,4),(36160,4),(36161,4),(36162,4),(36171,4),(36180,4),(36181,4),(36185,4),(36186,4),(36197,4),(36211,4),(36212,4),(36214,4),(36215,4),(36228,4),(36238,4),(36242,4),(36248,4),(36259,4),(36271,4),(36272,4),(36279,4),(36280,4),(36283,4),(36286,4),(36294,4),(36306,4),(36315,4),(36317,4),(36320,4),(36321,4),(36323,4),(36324,4),(36329,4),(36331,4),(36332,4),(36334,4),(36336,4),(36337,4),(36345,4),(36346,4),(36361,4),(36362,4),(36387,4),(36397,4),(36401,4),(36405,4),(36408,4),(36420,4),(36423,4),(36424,4),(36425,4),(36430,4),(36435,4),(36450,4),(36452,4),(36454,4),(36455,4),(36476,4),(36477,4),(36482,4),(36494,4),(36496,4),(36502,4),(36506,4),(36511,4),(36514,4),(36515,4),(36520,4),(36521,4),(36528,4),(36529,4),(36533,4),(36540,4),(36541,4),(36543,4),(36556,4),(36557,4),(36562,4),(36573,4),(36576,4),(36580,4),(36584,4),(36585,4),(36592,4),(36594,4),(36611,4),(36621,4),(36628,4),(36633,4),(36636,4),(36642,4),(36644,4),(36645,4),(36648,4),(36658,4),(36659,4),(36663,4),(36664,4),(36668,4),(36670,4),(36674,4),(36685,4),(36689,4),(36705,4),(36711,4),(36714,4),(36722,4),(36733,4),(36735,4),(36736,4),(36744,4),(36748,4),(36762,4),(36765,4),(36773,4),(36775,4),(36776,4),(36777,4),(36782,4),(36786,4),(36788,4),(36797,4),(36799,4),(36803,4),(36804,4),(36818,4),(36819,4),(36827,4),(36831,4),(36842,4),(36843,4),(36847,4),(36865,4),(36868,4),(36876,4),(36879,4),(36880,4),(36894,4),(36895,4),(36912,4),(36918,4),(36922,4),(36925,4),(36927,4),(36928,4),(36935,4),(36946,4),(36965,4),(36968,4),(36979,4),(36991,4),(36999,4),(37006,4),(37015,4),(37026,4),(37027,4),(37036,4),(37041,4),(37052,4),(37053,4),(37057,4),(37061,4),(37064,4),(37075,4),(37079,4),(37088,4),(37092,4),(37099,4),(37103,4),(37104,4),(37105,4),(37107,4),(37109,4),(37111,4),(37116,4),(37125,4),(37126,4),(37131,4),(37134,4),(37142,4),(37143,4),(37148,4),(37151,4),(37173,4),(37179,4),(37185,4),(37187,4),(37190,4),(37195,4),(37197,4),(37202,4),(37207,4),(37208,4),(37212,4),(37217,4),(37228,4),(37231,4),(37237,4),(37238,4),(37248,4),(37252,4),(37253,4),(37262,4),(37268,4),(37278,4),(37293,4),(37303,4),(37307,4),(37310,4),(37312,4),(37320,4),(37324,4),(37325,4),(37328,4),(37334,4),(37351,4),(37356,4),(37359,4),(37361,4),(37366,4),(37373,4),(37380,4),(37381,4),(37385,4),(37387,4),(37388,4),(37389,4),(37390,4),(37404,4),(37405,4),(37415,4),(37419,4),(37427,4),(37428,4),(37434,4),(37436,4),(37441,4),(37446,4),(37456,4),(37458,4),(37459,4),(37475,4),(37478,4),(37480,4),(37483,4),(37484,4),(37494,4),(37496,4),(37512,4),(37517,4),(37526,4),(37529,4),(37532,4),(37533,4),(37535,4),(37544,4),(37550,4),(37554,4),(37557,4),(37565,4),(37573,4),(37589,4),(37590,4),(37592,4),(37595,4),(37604,4),(37614,4),(37624,4),(37628,4),(37630,4),(37635,4),(37636,4),(37661,4),(37680,4),(37682,4),(37690,4),(37691,4),(37697,4),(37703,4),(37704,4),(37706,4),(37708,4),(37734,4),(37736,4),(37758,4),(37762,4),(37769,4),(37783,4),(37793,4),(37797,4),(37806,4),(37807,4),(37820,4),(37822,4),(37832,4),(37835,4),(37839,4),(37847,4),(37865,4),(37868,4),(37872,4),(37877,4),(37880,4),(37881,4),(37886,4),(37887,4),(37889,4),(37891,4),(37892,4),(37908,4),(37910,4),(37913,4),(37921,4),(37926,4),(37948,4),(37953,4),(37955,4),(37962,4),(37964,4),(37976,4),(37978,4),(37981,4),(37982,4),(37990,4),(37991,4),(37992,4),(38006,4),(38010,4),(38022,4),(38023,4),(38024,4),(38031,4),(38033,4),(38034,4),(38040,4),(38048,4),(38050,4),(38055,4),(38056,4),(38064,4),(38072,4),(38074,4),(38086,4),(38092,4),(38093,4),(38111,4),(38120,4),(38125,4),(38126,4),(38141,4),(38142,4),(38148,4),(38150,4),(38154,4),(38155,4),(38165,4),(38173,4),(38179,4),(38212,4),(38218,4),(38221,4),(38223,4),(38225,4),(38237,4),(38238,4),(38244,4),(38267,4),(38272,4),(38280,4),(38282,4),(38287,4),(38292,4),(38297,4),(38306,4),(38330,4),(38332,4),(38334,4),(38335,4),(38343,4),(38350,4),(38358,4),(38363,4),(38370,4),(38381,4),(38383,4),(38393,4),(38405,4),(38407,4),(38408,4),(38413,4),(38415,4),(38420,4),(38422,4),(38427,4),(38429,4),(38430,4),(38439,4),(38440,4),(38458,4),(38461,4),(38463,4),(38470,4),(38471,4),(38474,4),(38477,4),(38486,4),(38487,4),(38489,4),(38491,4),(38492,4),(38496,4),(38497,4),(38501,4),(38503,4),(38505,4),(38513,4),(38516,4),(38517,4),(38524,4),(38527,4),(38529,4),(38530,4),(38533,4),(38553,4),(38557,4),(38562,4),(38563,4),(38564,4),(38567,4),(38583,4),(38584,4),(38586,4),(38597,4),(38598,4),(38600,4),(38610,4),(38625,4),(38627,4),(38630,4),(38632,4),(38636,4),(38641,4),(38644,4),(38651,4),(38656,4),(38658,4),(38687,4),(38689,4),(38699,4),(38701,4),(38712,4),(38727,4),(38732,4),(38733,4),(38737,4),(38756,4),(38770,4),(38773,4),(38775,4),(38779,4),(38801,4),(38804,4),(38805,4),(38821,4),(38823,4),(38825,4),(38826,4),(38828,4),(38830,4),(38831,4),(38832,4),(38833,4),(38839,4),(38843,4),(38856,4),(38861,4),(38875,4),(38880,4),(38885,4),(38897,4),(38903,4),(38918,4),(38919,4),(38923,4),(38930,4),(38933,4),(38938,4),(38941,4),(38954,4),(38955,4),(38962,4),(38965,4),(38967,4),(38983,4),(38987,4),(38992,4),(39006,4),(39036,4),(39041,4),(39048,4),(39059,4),(39063,4),(39066,4),(39070,4),(39071,4),(39073,4),(39080,4),(39081,4),(39084,4),(39086,4),(39089,4),(39098,4),(39099,4),(39102,4),(39103,4),(39109,4),(39114,4),(39121,4),(39122,4),(39127,4),(39130,4),(39136,4),(39144,4),(39145,4),(39149,4),(39154,4),(39157,4),(39164,4),(39165,4),(39169,4),(39171,4),(39180,4),(39181,4),(39187,4),(39192,4),(39195,4),(39199,4),(39205,4),(39209,4),(39213,4),(39214,4),(39215,4),(39216,4),(39219,4),(39220,4),(39236,4),(39238,4),(39252,4),(39257,4),(39274,4),(39275,4),(39286,4),(39287,4),(39288,4),(39312,4),(39323,4),(39326,4),(39330,4),(39334,4),(39336,4),(39337,4),(39342,4),(39351,4),(39352,4),(39353,4),(39359,4),(39361,4),(39364,4),(39365,4),(39371,4),(39373,4),(39384,4),(39385,4),(39391,4),(39394,4),(39396,4),(39398,4),(39399,4),(39401,4),(39418,4),(39428,4),(39431,4),(39433,4),(39436,4),(39452,4),(39455,4),(39457,4),(39483,4),(39515,4),(39517,4),(39518,4),(39519,4),(39532,4),(39533,4),(39535,4),(39539,4),(39541,4),(39545,4),(39550,4),(39553,4),(39562,4),(39564,4),(39572,4),(39573,4),(39577,4),(39591,4),(39593,4),(39605,4),(39608,4),(39617,4),(39624,4),(39629,4),(39630,4),(39640,4),(39646,4),(39648,4),(39650,4),(39651,4),(39653,4),(39657,4),(39658,4),(39665,4),(39668,4),(39672,4),(39680,4),(39689,4),(39691,4),(39704,4),(39705,4),(39706,4),(39713,4),(39734,4),(39736,4),(39740,4),(39762,4),(39764,4),(39771,4),(39772,4),(39783,4),(39787,4),(39807,4),(39808,4),(39811,4),(39817,4),(39822,4),(39824,4),(39832,4),(39833,4),(39837,4),(39848,4),(39854,4),(39858,4),(39860,4),(39861,4),(39865,4),(39868,4),(39882,4),(39893,4),(39895,4),(39906,4),(39913,4),(39915,4),(39921,4),(39923,4),(39924,4),(39929,4),(39950,4),(39959,4),(39964,4),(39967,4),(39976,4),(39981,4),(39986,4),(39995,4),(39998,4),(39999,4),(40001,4),(40006,4),(40016,4),(40026,4),(40027,4),(40032,4),(40033,4),(40044,4),(40048,4),(40051,4),(40056,4),(40067,4),(40075,4),(40083,4),(40129,4),(40145,4),(40146,4),(40147,4),(40151,4),(40153,4),(40157,4),(40163,4),(40167,4),(40169,4),(40172,4),(40173,4),(40176,4),(40183,4),(40184,4),(40194,4),(40202,4),(40203,4),(40214,4),(40216,4),(40219,4),(40221,4),(40223,4),(40225,4),(40229,4),(40231,4),(40251,4),(40255,4),(40256,4),(40263,4),(40266,4),(40267,4),(40275,4),(40278,4),(40314,4),(40317,4),(40319,4),(40329,4),(40337,4),(40339,4),(40340,4),(40364,4),(40366,4),(40367,4),(40374,4),(40375,4),(40389,4),(40390,4),(40392,4),(40394,4),(40395,4),(40400,4),(40401,4),(40412,4),(40418,4),(40420,4),(40422,4),(40425,4),(40432,4),(40445,4),(40448,4),(40450,4),(40454,4),(40458,4),(40463,4),(40466,4),(40480,4),(40481,4),(40482,4),(40484,4),(40490,4),(40492,4),(40496,4),(40497,4),(40510,4),(40517,4),(40520,4),(40524,4),(40543,4),(40563,4),(40564,4),(40569,4),(40573,4),(40577,4),(40596,4),(40597,4),(40601,4),(40603,4),(40604,4),(40613,4),(40614,4),(40615,4),(40619,4),(40623,4),(40630,4),(40631,4),(40634,4),(40637,4),(40645,4),(40650,4),(40668,4),(40670,4),(40672,4),(40678,4),(40679,4),(40681,4),(40683,4),(40684,4),(40686,4),(40688,4),(40691,4),(40692,4),(40698,4),(40702,4),(40714,4),(40724,4),(40730,4),(40735,4),(40737,4),(40741,4),(40743,4),(40744,4),(40748,4),(40749,4),(40751,4),(40757,4),(40761,4),(40766,4),(40772,4),(40773,4),(40777,4),(40779,4),(40780,4),(40782,4),(40786,4),(40788,4),(40790,4),(40791,4),(40796,4),(40797,4),(40799,4),(40804,4),(40809,4),(40812,4),(40816,4),(40817,4),(40820,4),(40821,4),(40825,4),(40833,4),(40836,4),(40838,4),(40852,4),(40853,4),(40854,4),(40855,4),(40858,4),(40866,4),(40868,4),(40873,4),(40879,4),(40890,4),(40895,4),(40903,4),(40905,4),(40910,4),(40912,4),(40920,4),(40931,4),(40942,4),(40949,4),(40965,4),(40972,4),(40979,4),(40982,4),(40984,4),(40987,4),(40992,4),(40996,4),(40998,4),(41001,4),(41002,4),(41024,4),(41027,4),(41028,4),(41029,4),(41032,4),(41047,4),(41053,4),(41074,4),(41088,4),(41089,4),(41094,4),(41106,4),(41110,4),(41120,4),(41128,4),(41141,4),(41145,4),(41148,4),(41154,4),(41155,4),(41158,4),(41161,4),(41176,4),(41179,4),(41182,4),(41187,4),(41192,4),(41194,4),(41195,4),(41202,4),(41218,4),(41223,4),(41228,4),(41245,4),(41254,4),(41256,4),(41262,4),(41263,4),(41270,4),(41281,4),(41283,4),(41286,4),(41290,4),(41294,4),(41297,4),(41300,4),(41301,4),(41312,4),(41315,4),(41326,4),(41327,4),(41346,4),(41353,4),(41362,4),(41378,4),(41383,4),(41384,4),(41386,4),(41388,4),(41393,4),(41398,4),(41404,4),(41410,4),(41415,4),(41417,4),(41426,4),(41436,4),(41439,4),(41443,4),(41445,4),(41446,4),(41461,4),(41469,4),(41471,4),(41504,4),(41512,4),(41517,4),(41520,4),(41521,4),(41531,4),(41534,4),(41535,4),(41537,4),(41538,4),(41559,4),(41563,4),(41570,4),(41578,4),(41583,4),(41584,4),(41589,4),(41593,4),(41598,4),(41601,4),(41616,4),(41618,4),(41622,4),(41623,4),(41625,4),(41649,4),(41652,4),(41653,4),(41655,4),(41658,4),(41663,4),(41686,4),(41687,4),(41689,4),(41693,4),(41707,4),(41717,4),(41726,4),(41734,4),(41736,4),(41737,4),(41756,4),(41757,4),(41761,4),(41762,4),(41764,4),(41766,4),(41771,4),(41781,4),(41784,4),(41790,4),(41794,4),(41801,4),(41802,4),(41807,4),(41814,4),(41827,4),(41831,4),(41832,4),(41842,4),(41844,4),(41862,4),(41881,4),(41882,4),(41884,4),(41886,4),(41889,4),(41894,4),(41907,4),(41914,4),(41919,4),(41929,4),(41946,4),(41948,4),(41951,4),(41966,4),(41985,4),(41990,4),(42007,4),(42008,4),(42016,4),(42018,4),(42019,4),(42044,4),(42045,4),(42049,4),(42050,4),(42054,4),(42057,4),(42072,4),(42074,4),(42083,4),(42086,4),(42088,4),(42095,4),(42101,4),(42105,4),(42111,4),(42123,4),(42126,4),(42128,4),(42143,4),(42145,4),(42152,4),(42155,4),(42162,4),(42172,4),(42179,4),(42185,4),(42191,4),(42198,4),(42202,4),(42204,4),(42208,4),(42213,4),(42226,4),(42227,4),(42233,4),(42234,4),(42243,4),(42250,4),(42251,4),(42263,4),(42265,4),(42270,4),(42276,4),(42278,4),(42290,4),(42293,4),(42299,4),(42304,4),(42306,4),(42307,4),(42322,4),(42325,4),(42329,4),(42331,4),(42332,4),(42337,4),(42340,4),(42348,4),(42352,4),(42354,4),(42355,4),(42366,4),(42398,4),(42408,4),(42415,4),(42419,4),(42422,4),(42431,4),(42432,4),(42438,4),(42441,4),(42444,4),(42457,4),(42459,4),(42462,4),(42467,4),(42469,4),(42470,4),(42487,4),(42488,4),(42492,4),(42495,4),(42499,4),(42508,4),(42509,4),(42526,4),(42531,4),(42533,4),(42534,4),(42544,4),(42546,4),(42548,4),(42557,4),(42566,4),(42568,4),(42574,4),(42582,4),(42583,4),(42598,4),(42603,4),(42614,4),(42621,4),(42623,4),(42628,4),(42631,4),(42632,4),(42635,4),(42640,4),(42642,4),(42648,4),(42649,4),(42660,4),(42667,4),(42669,4),(42673,4),(42674,4),(42683,4),(42690,4),(42691,4),(42699,4),(42721,4),(42725,4),(42727,4),(42728,4),(42734,4),(42739,4),(42746,4),(42751,4),(42753,4),(42760,4),(42761,4),(42773,4),(42780,4),(42785,4),(42786,4),(42788,4),(42794,4),(42822,4),(42824,4),(42829,4),(42833,4),(42834,4),(42838,4),(42840,4),(42841,4),(42846,4),(42847,4),(42853,4),(42856,4),(42859,4),(42866,4),(42871,4),(42872,4),(42878,4),(42880,4),(42882,4),(42892,4),(42906,4),(42915,4),(42934,4),(42941,4),(42946,4),(42947,4),(42957,4),(42972,4),(42989,4),(42992,4),(42995,4),(42998,4),(43005,4),(43023,4),(43028,4),(43029,4),(43033,4),(43040,4),(43043,4),(43052,4),(43059,4),(43061,4),(43062,4),(43068,4),(43078,4),(43082,4),(43084,4),(43094,4),(43096,4),(43100,4),(43103,4),(43118,4),(43128,4),(43129,4),(43137,4),(43144,4),(43153,4),(43154,4),(43159,4),(43161,4),(43178,4),(43180,4),(43186,4),(43199,4),(43200,4),(43204,4),(43214,4),(43217,4),(43218,4),(43222,4),(43233,4),(43236,4),(43241,4),(43244,4),(43247,4),(43248,4),(43250,4),(43254,4),(43256,4),(43258,4),(43274,4),(43275,4),(43276,4),(43277,4),(43282,4),(43284,4),(43287,4),(43289,4),(43296,4),(43297,4),(43306,4),(43307,4),(43309,4),(43314,4),(43315,4),(43318,4),(43320,4),(43321,4),(43323,4),(43330,4),(43339,4),(43343,4),(43345,4),(43350,4),(43355,4),(43363,4),(43366,4),(43372,4),(43375,4),(43381,4),(43383,4),(43388,4),(43392,4),(43394,4),(43396,4),(43410,4),(43411,4),(43417,4),(43421,4),(43425,4),(43428,4),(43446,4),(43455,4),(43459,4),(43460,4),(43483,4),(43484,4),(43489,4),(43490,4),(43501,4),(43509,4),(43516,4),(43529,4),(43533,4),(43535,4),(43550,4),(43554,4),(43555,4),(43560,4),(43563,4),(43574,4),(43580,4),(43581,4),(43585,4),(43588,4),(43602,4),(43603,4),(43604,4),(43607,4),(43625,4),(43632,4),(43636,4),(43638,4),(43640,4),(43642,4),(43648,4),(43657,4),(43668,4),(43672,4),(43700,4),(43711,4),(43714,4),(43723,4),(43737,4),(43738,4),(43739,4),(43743,4),(43753,4),(43755,4),(43769,4),(43772,4),(43776,4),(43790,4),(43799,4),(43807,4),(43814,4),(43816,4),(43819,4),(43824,4),(43828,4),(43830,4),(43838,4),(43848,4),(43851,4),(43853,4),(43855,4),(43867,4),(43869,4),(43871,4),(43875,4),(43895,4),(43899,4),(43911,4),(43914,4),(43918,4),(43940,4),(43945,4),(43957,4),(43962,4),(43965,4),(43974,4),(43976,4),(43988,4),(43989,4),(43992,4),(44005,4),(44006,4),(44009,4),(44015,4),(44016,4),(44023,4),(44032,4),(44036,4),(44037,4),(44054,4),(44055,4),(44059,4),(44067,4),(44072,4),(44078,4),(44081,4),(44085,4),(44094,4),(44104,4),(44108,4),(44111,4),(44113,4),(44118,4),(44121,4),(44130,4),(44134,4),(44140,4),(44143,4),(44164,4),(44165,4),(44172,4),(44173,4),(44183,4),(44185,4),(44195,4),(44197,4),(44204,4),(44208,4),(44210,4),(44213,4),(44214,4),(44225,4),(44227,4),(44230,4),(44234,4),(44237,4),(44239,4),(44243,4),(44255,4),(44257,4),(44277,4),(44279,4),(44284,4),(44289,4),(44305,4),(44307,4),(44311,4),(44312,4),(44313,4),(44325,4),(44329,4),(44331,4),(44333,4),(44334,4),(44339,4),(44340,4),(44347,4),(44349,4),(44351,4),(44356,4),(44359,4),(44361,4),(44367,4),(44371,4),(44398,4),(44399,4),(44437,4),(44442,4),(44458,4),(44468,4),(44487,4),(44488,4),(44489,4),(44496,4),(44497,4),(44502,4),(44503,4),(44509,4),(44517,4),(44518,4),(44531,4),(44540,4),(44549,4),(44550,4),(44559,4),(44560,4),(44562,4),(44563,4),(44586,4),(44589,4),(44593,4),(44598,4),(44608,4),(44609,4),(44614,4),(44617,4),(44618,4),(44623,4),(44631,4),(44636,4),(44642,4),(44662,4),(44673,4),(44674,4),(44679,4),(44693,4),(44699,4),(44701,4),(44704,4),(44706,4),(44714,4),(44718,4),(44720,4),(44725,4),(44727,4),(44732,4),(44742,4),(44744,4),(44751,4),(44757,4),(44773,4),(44778,4),(44783,4),(44790,4),(44800,4),(44810,4),(44816,4),(44820,4),(44821,4),(44824,4),(44826,4),(44857,4),(44860,4),(44861,4),(44863,4),(44864,4),(44868,4),(44870,4),(44877,4),(44885,4),(44886,4),(44893,4),(44904,4),(44920,4),(44924,4),(44929,4),(44930,4),(44935,4),(44936,4),(44940,4),(44952,4),(44955,4),(44967,4),(44978,4),(44982,4),(44989,4),(44990,4),(44993,4),(45012,4),(45015,4),(45021,4),(45026,4),(45037,4),(45038,4),(45065,4),(45067,4),(45068,4),(45071,4),(45073,4),(45079,4),(45093,4),(45098,4),(45103,4),(45110,4),(45114,4),(45121,4),(45127,4),(45129,4),(45132,4),(45133,4),(45134,4),(45147,4),(45168,4),(45180,4),(45184,4),(45202,4),(45204,4),(45212,4),(45213,4),(45218,4),(45220,4),(45222,4),(45233,4),(45240,4),(45254,4),(45261,4),(45266,4),(45268,4),(45270,4),(45274,4),(45279,4),(45282,4),(45297,4),(45302,4),(45305,4),(45333,4),(45334,4),(45337,4),(45343,4),(45345,4),(45347,4),(45365,4),(45372,4),(45374,4),(45377,4),(45378,4),(45381,4),(45387,4),(45393,4),(45398,4),(45401,4),(45404,4),(45408,4),(45420,4),(45421,4),(45428,4),(45431,4),(45436,4),(45456,4),(45457,4),(45462,4),(45467,4),(45468,4),(45480,4),(45486,4),(45503,4),(45510,4),(45521,4),(45525,4),(45526,4),(45528,4),(45534,4),(45566,4),(45571,4),(45574,4),(45580,4),(45586,4),(45589,4),(45592,4),(45594,4),(45595,4),(45598,4),(45601,4),(45608,4),(45612,4),(45618,4),(45631,4),(45638,4),(45643,4),(45649,4),(45661,4),(45664,4),(45672,4),(45677,4),(45681,4),(45682,4),(45690,4),(45691,4),(45693,4),(45701,4),(45711,4),(45719,4),(45730,4),(45734,4),(45740,4),(45746,4),(45751,4),(45767,4),(45782,4),(45792,4),(45797,4),(45799,4),(45803,4),(45813,4),(45817,4),(45824,4),(45825,4),(45833,4),(45838,4),(45847,4),(45852,4),(45855,4),(45860,4),(45862,4),(45869,4),(45876,4),(45883,4),(45884,4),(45885,4),(45888,4),(45889,4),(45898,4),(45911,4),(45916,4),(45918,4),(45919,4),(45923,4),(45935,4),(45938,4),(45939,4),(45944,4),(45961,4),(45963,4),(45966,4),(45968,4),(45970,4),(45974,4),(45986,4),(45993,4),(45997,4),(45999,4),(46004,4),(46010,4),(46011,4),(46017,4),(46023,4),(46043,4),(46045,4),(46047,4),(46053,4),(46057,4),(46070,4),(46079,4),(46083,4),(46087,4),(46088,4),(46091,4),(46094,4),(46095,4),(46103,4),(46104,4),(46109,4),(46113,4),(46127,4),(46133,4),(46149,4),(46155,4),(46168,4),(46170,4),(46171,4),(46177,4),(46192,4),(46194,4),(46199,4),(46202,4),(46210,4),(46213,4),(46218,4),(46223,4),(46230,4),(46232,4),(46257,4),(46259,4),(46264,4),(46290,4),(46291,4),(46297,4),(46299,4),(46304,4),(46306,4),(46309,4),(46311,4),(46322,4),(46328,4),(46331,4),(46335,4),(46346,4),(46349,4),(46350,4),(46359,4),(46360,4),(46366,4),(46369,4),(46371,4),(46373,4),(46379,4),(46391,4),(46392,4),(46416,4),(46420,4),(46433,4),(46437,4),(46442,4),(46449,4),(46460,4),(46467,4),(46473,4),(46475,4),(46477,4),(46478,4),(46479,4),(46480,4),(46489,4),(46491,4),(46496,4),(46500,4),(46501,4),(46505,4),(46518,4),(46521,4),(46522,4),(46524,4),(46531,4),(46534,4),(46535,4),(46541,4),(46546,4),(46547,4),(46553,4),(46561,4),(46566,4),(46572,4),(46580,4),(46582,4),(46590,4),(46591,4),(46600,4),(46601,4),(46606,4),(46607,4),(46609,4),(46611,4),(46622,4),(46630,4),(46635,4),(46638,4),(46648,4),(46651,4),(46654,4),(46656,4),(46660,4),(46663,4),(46671,4),(46675,4),(46679,4),(46708,4),(46711,4),(46713,4),(46715,4),(46731,4),(46741,4),(46745,4),(46749,4),(46759,4),(46764,4),(46767,4),(46768,4),(46774,4),(46784,4),(46789,4),(46794,4),(46798,4),(46801,4),(46802,4),(46804,4),(46810,4),(46819,4),(46821,4),(46826,4),(46828,4),(46831,4),(46839,4),(46852,4),(46856,4),(46868,4),(46869,4),(46871,4),(46877,4),(46894,4),(46895,4),(46920,4),(46925,4),(46937,4),(46950,4),(46963,4),(46974,4),(46975,4),(46991,4),(47002,4),(47008,4),(47011,4),(47017,4),(47028,4),(47030,4),(47046,4),(47050,4),(47052,4),(47061,4),(47062,4),(47067,4),(47068,4),(47069,4),(47076,4),(47094,4),(47110,4),(47121,4),(47122,4),(47144,4),(47153,4),(47154,4),(47155,4),(47157,4),(47168,4),(47177,4),(47186,4),(47190,4),(47203,4),(47206,4),(47208,4),(47210,4),(47212,4),(47219,4),(47221,4),(47224,4),(47225,4),(47235,4),(47250,4),(47258,4),(47270,4),(47271,4),(47277,4),(47278,4),(47279,4),(47290,4),(47292,4),(47301,4),(47302,4),(47311,4),(47315,4),(47324,4),(47333,4),(47362,4),(47367,4),(47369,4),(47370,4),(47373,4),(47382,4),(47384,4),(47386,4),(47399,4),(47402,4),(47405,4),(47409,4),(47410,4),(47416,4),(47427,4),(47433,4),(47468,4),(47469,4),(47471,4),(47479,4),(47481,4),(47491,4),(47493,4),(47498,4),(47513,4),(47515,4),(47523,4),(47538,4),(47548,4),(47553,4),(47560,4),(47561,4),(47570,4),(47572,4),(47587,4),(47599,4),(47601,4),(47602,4),(47604,4),(47613,4),(47614,4),(47621,4),(47623,4),(47626,4),(47627,4),(47630,4),(47637,4),(47645,4),(47648,4),(47652,4),(47677,4),(47685,4),(47687,4),(47693,4),(47699,4),(47700,4),(47705,4),(47706,4),(47718,4),(47722,4),(47723,4),(47726,4),(47728,4),(47735,4),(47759,4),(47773,4),(47774,4),(47778,4),(47785,4),(47804,4),(47813,4),(47829,4),(47832,4),(47837,4),(47850,4),(47862,4),(47873,4),(47875,4),(47876,4),(47878,4),(47879,4),(47884,4),(47892,4),(47911,4),(47917,4),(47921,4),(47928,4),(47936,4),(47938,4),(47940,4),(47953,4),(47956,4),(47957,4),(47959,4),(47961,4),(47971,4),(47974,4),(47975,4),(47985,4),(47997,4),(47998,4),(48003,4),(48015,4),(48017,4),(48018,4),(48023,4),(48024,4),(48025,4),(48027,4),(48029,4),(48031,4),(48032,4),(48033,4),(48037,4),(48040,4),(48046,4),(48052,4),(48061,4),(48084,4),(48085,4),(48093,4),(48094,4),(48102,4),(48107,4),(48108,4),(48109,4),(48126,4),(48132,4),(48153,4),(48159,4),(48166,4),(48184,4),(48188,4),(48201,4),(48205,4),(48208,4),(48215,4),(48219,4),(48222,4),(48233,4),(48236,4),(48241,4),(48243,4),(48248,4),(48252,4),(48267,4),(48269,4),(48271,4),(48278,4),(48286,4),(48290,4),(48293,4),(48297,4),(48301,4),(48303,4),(48305,4),(48308,4),(48310,4),(48316,4),(48321,4),(48323,4),(48324,4),(48327,4),(48331,4),(48341,4),(48354,4),(48356,4),(48358,4),(48364,4),(48365,4),(48377,4),(48384,4),(48386,4),(48389,4),(48391,4),(48392,4),(48401,4),(48402,4),(48403,4),(48405,4),(48419,4),(48428,4),(48434,4),(48455,4),(48457,4),(48468,4),(48475,4),(48477,4),(48478,4),(48484,4),(48485,4),(48489,4),(48490,4),(48497,4),(48501,4),(48503,4),(48512,4),(48525,4),(48532,4),(48541,4),(48542,4),(48552,4),(48569,4),(48572,4),(48582,4),(48593,4),(48614,4),(48617,4),(48636,4),(48638,4),(48647,4),(48655,4),(48663,4),(48672,4),(48678,4),(48679,4),(48686,4),(48690,4),(48693,4),(48696,4),(48698,4),(48701,4),(48702,4),(48708,4),(48709,4),(48711,4),(48722,4),(48734,4),(48740,4),(48741,4),(48744,4),(48745,4),(48749,4),(48750,4),(48755,4),(48760,4),(48763,4),(48788,4),(48794,4),(48798,4),(48801,4),(48802,4),(48819,4),(48820,4),(48822,4),(48824,4),(48830,4),(48834,4),(48842,4),(48849,4),(48850,4),(48854,4),(48863,4),(48869,4),(48880,4),(48881,4),(48883,4),(48885,4),(48890,4),(48892,4),(48899,4),(48901,4),(48915,4),(48919,4),(48936,4),(48941,4),(48944,4),(48945,4),(48950,4),(48952,4),(48955,4),(48956,4),(48965,4),(48968,4),(48969,4),(48977,4),(48984,4),(49002,4),(49013,4),(49015,4),(49018,4),(49022,4),(49043,4),(49046,4),(49051,4),(49053,4),(49058,4),(49060,4),(49069,4),(49082,4),(49083,4),(49086,4),(49088,4),(49091,4),(49094,4),(49096,4),(49101,4),(49111,4),(49115,4),(49119,4),(49123,4),(49125,4),(49132,4),(49136,4),(49146,4),(49147,4),(49149,4),(49156,4),(49159,4),(49171,4),(49174,4),(49181,4),(49182,4),(49188,4),(49192,4),(49200,4),(49204,4),(49218,4),(49219,4),(49233,4),(49234,4),(49247,4),(49252,4),(49253,4),(49259,4),(49267,4),(49281,4),(49297,4),(49310,4),(49315,4),(49316,4),(49318,4),(49324,4),(49329,4),(49332,4),(49338,4),(49354,4),(49365,4),(49371,4),(49373,4),(49374,4),(49381,4),(49382,4),(49387,4),(49389,4),(49394,4),(49396,4),(49409,4),(49423,4),(49433,4),(49436,4),(49439,4),(49449,4),(49463,4),(49466,4),(49469,4),(49474,4),(49480,4),(49487,4),(49500,4),(49505,4),(49506,4),(49507,4),(49516,4),(49518,4),(49519,4),(49523,4),(49526,4),(49529,4),(49534,4),(49536,4),(49538,4),(49559,4),(49560,4),(49580,4),(49592,4),(49593,4),(49596,4),(49605,4),(49610,4),(49619,4),(49620,4),(49639,4),(49641,4),(49652,4),(49659,4),(49665,4),(49675,4),(49676,4),(49678,4),(49679,4),(49680,4),(49686,4),(49691,4),(49692,4),(49706,4),(49711,4),(49717,4),(49728,4),(49766,4),(49767,4),(49777,4),(49779,4),(49784,4),(49787,4),(49789,4),(49794,4),(49796,4),(49807,4),(49809,4),(49811,4),(49820,4),(49821,4),(49826,4),(49833,4),(49846,4),(49850,4),(49855,4),(49856,4),(49867,4),(49884,4),(49890,4),(49891,4),(49909,4),(49926,4),(49928,4),(49930,4),(49944,4),(49959,4),(49960,4),(49967,4),(49971,4),(49975,4),(49977,4),(49979,4),(49983,4),(49988,4),(49991,4),(49998,4),(50001,4),(50002,4),(50003,4),(50011,4),(50014,4),(50028,4),(50029,4),(50032,4),(50036,4),(50039,4),(50052,4),(50058,4),(50061,4),(50071,4),(50072,4),(50075,4),(50078,4),(50082,4),(50084,4),(50092,4),(50097,4),(50099,4),(50101,4),(50117,4),(50118,4),(50121,4),(50123,4),(50125,4),(50132,4),(50133,4),(50144,4),(50145,4),(50149,4),(50175,4),(50178,4),(50179,4),(50181,4),(50191,4),(50193,4),(50199,4),(50204,4),(50213,4),(50226,4),(50239,4),(50240,4),(50242,4),(50247,4),(50248,4),(50249,4),(50253,4),(50266,4),(50280,4),(50281,4),(50290,4),(50298,4),(50305,4),(50312,4),(50314,4),(50315,4),(50318,4),(50327,4),(50331,4),(50334,4),(50338,4),(50339,4),(50340,4),(50341,4),(50351,4),(50353,4),(50358,4),(50373,4),(50388,4),(50408,4),(50411,4),(50412,4),(50413,4),(50417,4),(50423,4),(50427,4),(50443,4),(50448,4),(50452,4),(50453,4),(50464,4),(50465,4),(50467,4),(50473,4),(50487,4),(50489,4),(50493,4),(50495,4),(50506,4),(50507,4),(50517,4),(50522,4),(50527,4),(50531,4),(50538,4),(50540,4),(50545,4),(50549,4),(50550,4),(50552,4),(50559,4),(50570,4),(50588,4),(50594,4),(50597,4),(50601,4),(50602,4),(50605,4),(50608,4),(50611,4),(50632,4),(50640,4),(50646,4),(50652,4),(50656,4),(50661,4),(50663,4),(50665,4),(50676,4),(50677,4),(50683,4),(50701,4),(50707,4),(50714,4),(50721,4),(50723,4),(50728,4),(50738,4),(50745,4),(50750,4),(50751,4),(50752,4),(50778,4),(50781,4),(50789,4),(50793,4),(50811,4),(50813,4),(50819,4),(50833,4),(50835,4),(50840,4),(50861,4),(50862,4),(50865,4),(50874,4),(50876,4),(50891,4),(50898,4),(50919,4),(50925,4),(50929,4),(50931,4),(50937,4),(50938,4),(50945,4),(50957,4),(50959,4),(50964,4),(50967,4),(50972,4),(50976,4),(50980,4),(50981,4),(50985,4),(50987,4),(51000,4),(51005,4),(51018,4),(51029,4),(51031,4),(51035,4),(51038,4),(51040,4),(51041,4),(51044,4),(51055,4),(51056,4),(51065,4),(51067,4),(51076,4),(51083,4),(51104,4),(51111,4),(51113,4),(51117,4),(51118,4),(51134,4),(51148,4),(51154,4),(51160,4),(51161,4),(51171,4),(51175,4),(51179,4),(51183,4),(51186,4),(51192,4),(51194,4),(51206,4),(51211,4),(51214,4),(51217,4),(51218,4),(51220,4),(51228,4),(51229,4),(51230,4),(51231,4),(51238,4),(51251,4),(51256,4),(51259,4),(51270,4),(51278,4),(51284,4),(51286,4),(51288,4),(51289,4),(51292,4),(51294,4),(51295,4),(51301,4),(51306,4),(51324,4),(51329,4),(51336,4),(51337,4),(51339,4),(51342,4),(51369,4),(51370,4),(51373,4),(51383,4),(51397,4),(51401,4),(51408,4),(51411,4),(51414,4),(51419,4),(51425,4),(51427,4),(51429,4),(51434,4),(51439,4),(51447,4),(51448,4),(51450,4),(51453,4),(51456,4),(51467,4),(51469,4),(51473,4),(51491,4),(51493,4),(51497,4),(51498,4),(51502,4),(51505,4),(51509,4),(51512,4),(51515,4),(51523,4),(51533,4),(51541,4),(51544,4),(51549,4),(51552,4),(51554,4),(51566,4),(51574,4),(51575,4),(51576,4),(51577,4),(51583,4),(51590,4),(51591,4),(51595,4),(51596,4),(51604,4),(51615,4),(51633,4),(51639,4),(51642,4),(51643,4),(51646,4),(51647,4),(51664,4),(51669,4),(51686,4),(51706,4),(51707,4),(51710,4),(51711,4),(51714,4),(51716,4),(51719,4),(51728,4),(51733,4),(51734,4),(51739,4),(51741,4),(51747,4),(51752,4),(51758,4),(51761,4),(51767,4),(51769,4),(51771,4),(51775,4),(51776,4),(51784,4),(51789,4),(51790,4),(51791,4),(51797,4),(51803,4),(51808,4),(51813,4),(51816,4),(51826,4),(51834,4),(51838,4),(51841,4),(51843,4),(51847,4),(51848,4),(51857,4),(51862,4),(51866,4),(51884,4),(51886,4),(51893,4),(51894,4),(51897,4),(51907,4),(51912,4),(51916,4),(51917,4),(51922,4),(51930,4),(51931,4),(51932,4),(51937,4),(51938,4),(51945,4),(51948,4),(51953,4),(51955,4),(51958,4),(51961,4),(51963,4),(51968,4),(51969,4),(51980,4),(51983,4),(51994,4),(52000,4),(52003,4),(52010,4),(52018,4),(52022,4),(52034,4),(52038,4),(52039,4),(52063,4),(52071,4),(52082,4),(52087,4),(52089,4),(52090,4),(52096,4),(52099,4),(52101,4),(52109,4),(52110,4),(52111,4),(52112,4),(52116,4),(52121,4),(52126,4),(52134,4),(52140,4),(52152,4),(52162,4),(52170,4),(52178,4),(52181,4),(52186,4),(52188,4),(52194,4),(52198,4),(52212,4),(52219,4),(52221,4),(52222,4),(52227,4),(52240,4),(52251,4),(52252,4),(52253,4),(52256,4),(52270,4),(52271,4),(52272,4),(52273,4),(52275,4),(52280,4),(52283,4),(52291,4),(52292,4),(52315,4),(52317,4),(52320,4),(52330,4),(52345,4),(52346,4),(52351,4),(52354,4),(52367,4),(52371,4),(52373,4),(52375,4),(52377,4),(52380,4),(52393,4),(52406,4),(52408,4),(52411,4),(52414,4),(52426,4),(52440,4),(52448,4),(52459,4),(52460,4),(52463,4),(52470,4),(52473,4),(52474,4),(52475,4),(52500,4),(52503,4),(52507,4),(52516,4),(52523,4),(52525,4),(52526,4),(52528,4),(52531,4),(52546,4),(52548,4),(52567,4),(52572,4),(52579,4),(52600,4),(52605,4),(52612,4),(52621,4),(52644,4),(52645,4),(52648,4),(52654,4),(52663,4),(52665,4),(52671,4),(52679,4),(52682,4),(52696,4),(52699,4),(52708,4),(52711,4),(52722,4),(52724,4),(52727,4),(52730,4),(52733,4),(52748,4),(52749,4),(52756,4),(52764,4),(52770,4),(52775,4),(52776,4),(52784,4),(52791,4),(52792,4),(52795,4),(52801,4),(52804,4),(52814,4),(52817,4),(52824,4),(52829,4),(52836,4),(52838,4),(52842,4),(52845,4),(52846,4),(52848,4),(52849,4),(52859,4),(52861,4),(52873,4),(52880,4),(52881,4),(52884,4),(52887,4),(52891,4),(52893,4),(52919,4),(52930,4),(52933,4),(52939,4),(52944,4),(52945,4),(52951,4),(52955,4),(52960,4),(52968,4),(52970,4),(52972,4),(52977,4),(52980,4),(52982,4),(52993,4),(52995,4),(53003,4),(53010,4),(53011,4),(53019,4),(53021,4),(53028,4),(53030,4),(53033,4),(53034,4),(53036,4),(53038,4),(53039,4),(53043,4),(53048,4),(53053,4),(53058,4),(53059,4),(53060,4),(53067,4),(53071,4),(53072,4),(53077,4),(53079,4),(53105,4),(53106,4),(53112,4),(53115,4),(53117,4),(53136,4),(53142,4),(53146,4),(53147,4),(53149,4),(53160,4),(53161,4),(53162,4),(53173,4),(53175,4),(53177,4),(53203,4),(53204,4),(53222,4),(53225,4),(53228,4),(53232,4),(53236,4),(53244,4),(53245,4),(53247,4),(53250,4),(53254,4),(53273,4),(53290,4),(53291,4),(53292,4),(53303,4),(53305,4),(53308,4),(53309,4),(53316,4),(53324,4),(53325,4),(53331,4),(53336,4),(53347,4),(53355,4),(53356,4),(53369,4),(53370,4),(53384,4),(53402,4),(53413,4),(53415,4),(53417,4),(53422,4),(53423,4),(53425,4),(53432,4),(53433,4),(53437,4),(53445,4),(53449,4),(53469,4),(53472,4),(53480,4),(53487,4),(53489,4),(53496,4),(53498,4),(53512,4),(53522,4),(53527,4),(53544,4),(53549,4),(53558,4),(53561,4),(53571,4),(53574,4),(53582,4),(53586,4),(53587,4),(53592,4),(53593,4),(53609,4),(53611,4),(53621,4),(53630,4),(53646,4),(53647,4),(53669,4),(53670,4),(53672,4),(53676,4),(53680,4),(53686,4),(53696,4),(53700,4),(53701,4),(53708,4),(53715,4),(53742,4),(53744,4),(53754,4),(53755,4),(53762,4),(53772,4),(53775,4),(53776,4),(53777,4),(53784,4),(53785,4),(53795,4),(53796,4),(53800,4),(53802,4),(53806,4),(53807,4),(53810,4),(53812,4),(53818,4),(53825,4),(53831,4),(53837,4),(53841,4),(53847,4),(53850,4),(53857,4),(53876,4),(53879,4),(53884,4),(53886,4),(53896,4),(53903,4),(53907,4),(53909,4),(53911,4),(53917,4),(53918,4),(53922,4),(53924,4),(53925,4),(53927,4),(53933,4),(53944,4),(53945,4),(53951,4),(53953,4),(53975,4),(53984,4),(53988,4),(53990,4),(53994,4),(53996,4),(53998,4),(54005,4),(54015,4),(54017,4),(54022,4),(54024,4),(54025,4),(54033,4),(54040,4),(54057,4),(54063,4),(54070,4),(54075,4),(54076,4),(54078,4),(54081,4),(54083,4),(54106,4),(54111,4),(54112,4),(54119,4),(54121,4),(54133,4),(54135,4),(54141,4),(54153,4),(54159,4),(54174,4),(54180,4),(54187,4),(54191,4),(54193,4),(54202,4),(54203,4),(54206,4),(54208,4),(54212,4),(54213,4),(54222,4),(54230,4),(54241,4),(54253,4),(54257,4),(54258,4),(54262,4),(54264,4),(54276,4),(54278,4),(54279,4),(54282,4),(54298,4),(54305,4),(54314,4),(54317,4),(54322,4),(54325,4),(54327,4),(54340,4),(54347,4),(54353,4),(54358,4),(54359,4),(54374,4),(54379,4),(54381,4),(54384,4),(54390,4),(54393,4),(54394,4),(54401,4),(54411,4),(54418,4),(54421,4),(54426,4),(54427,4),(54439,4),(54440,4),(54442,4),(54451,4),(54454,4),(54455,4),(54464,4),(54465,4),(54467,4),(54468,4),(54493,4),(54496,4),(54503,4),(54509,4),(54523,4),(54527,4),(54533,4),(54534,4),(54538,4),(54554,4),(54557,4),(54559,4),(54563,4),(54565,4),(54567,4),(54569,4),(54578,4),(54580,4),(54586,4),(54592,4),(54606,4),(54611,4),(54623,4),(54629,4),(54630,4),(54639,4),(54642,4),(54660,4),(54666,4),(54672,4),(54677,4),(54684,4),(54689,4),(54698,4),(54704,4),(54708,4),(54718,4),(54721,4),(54736,4),(54737,4),(54739,4),(54751,4),(54761,4),(54770,4),(54771,4),(54773,4),(54780,4),(54781,4),(54790,4),(54796,4),(54810,4),(54816,4),(54817,4),(54825,4),(54839,4),(54848,4),(54849,4),(54858,4),(54860,4),(54875,4),(54877,4),(54882,4),(54891,4),(54909,4),(54931,4),(54932,4),(54940,4),(54942,4),(54946,4),(54965,4),(54967,4),(54974,4),(54977,4),(54980,4),(54982,4),(55000,4),(55014,4),(55021,4),(55039,4),(55043,4),(55052,4),(55069,4),(55072,4),(55077,4),(55080,4),(55082,4),(55087,4),(55097,4),(55104,4),(55105,4),(55114,4),(55116,4),(55117,4),(55130,4),(55134,4),(55153,4),(55158,4),(55163,4),(55165,4),(55170,4),(55171,4),(55175,4),(55177,4),(55189,4),(55199,4),(55200,4),(55211,4),(55216,4),(55225,4),(55226,4),(55228,4),(55234,4),(55237,4),(55241,4),(55244,4),(55247,4),(55252,4),(55253,4),(55258,4),(55267,4),(55273,4),(55276,4),(55277,4),(55282,4),(55283,4),(55291,4),(55292,4),(55298,4),(55306,4),(55308,4),(55320,4),(55322,4),(55324,4),(55329,4),(55331,4),(55344,4),(55349,4),(55354,4),(55365,4),(55369,4),(55380,4),(55387,4),(55390,4),(55393,4),(55399,4),(55402,4),(55408,4),(55411,4),(55418,4),(55420,4),(55432,4),(55433,4),(55435,4),(55445,4),(55446,4),(55453,4),(55461,4),(55462,4),(55465,4),(55470,4),(55473,4),(55479,4),(55484,4),(55486,4),(55495,4),(55496,4),(55498,4),(55500,4),(55507,4),(55508,4),(55518,4),(55527,4),(55528,4),(55534,4),(55536,4),(55542,4),(55545,4),(55546,4),(55548,4),(55559,4),(55560,4),(55565,4),(55569,4),(55577,4),(55582,4),(55583,4),(55585,4),(55601,4),(55603,4),(55604,4),(55620,4),(55621,4),(55645,4),(55646,4),(55654,4),(55658,4),(55663,4),(55674,4),(55677,4),(55678,4),(55690,4),(55692,4),(55693,4),(55694,4),(55695,4),(55703,4),(55717,4),(55726,4),(55729,4),(55733,4),(55740,4),(55757,4),(55767,4),(55768,4),(55773,4),(55774,4),(55788,4),(55790,4),(55798,4),(55804,4),(55811,4),(55812,4),(55819,4),(55822,4),(55829,4),(55845,4),(55850,4),(55852,4),(55856,4),(55871,4),(55875,4),(55876,4),(55878,4),(55889,4),(55896,4),(55906,4),(55909,4),(55910,4),(55915,4),(55916,4),(55925,4),(55928,4),(55934,4),(55940,4),(55946,4),(55948,4),(55966,4),(55967,4),(55968,4),(55974,4),(55981,4),(55999,4),(56000,4),(56007,4),(56011,4),(56014,4),(56022,4),(56029,4),(56031,4),(56033,4),(56034,4),(56036,4),(56038,4),(56039,4),(56059,4),(56060,4),(56076,4),(56080,4),(56081,4),(56083,4),(56084,4),(56107,4),(56118,4),(56120,4),(56125,4),(56133,4),(56143,4),(56146,4),(56156,4),(56157,4),(56162,4),(56165,4),(56168,4),(56170,4),(56172,4),(56185,4),(56188,4),(56212,4),(56218,4),(56235,4),(56236,4),(56242,4),(56255,4),(56257,4),(56269,4),(56279,4),(56280,4),(56281,4),(56285,4),(56286,4),(56293,4),(56301,4),(56312,4),(56313,4),(56329,4),(56330,4),(56343,4),(56345,4),(56351,4),(56356,4),(56359,4),(56360,4),(56363,4),(56364,4),(56369,4),(56391,4),(56396,4),(56402,4),(56411,4),(56423,4),(56427,4),(56439,4),(56449,4),(56451,4),(56462,4),(56463,4),(56465,4),(56468,4),(56479,4),(56480,4),(56481,4),(56483,4),(56487,4),(56496,4),(56497,4),(56501,4),(56512,4),(56514,4),(56516,4),(56518,4),(56520,4),(56534,4),(56542,4),(56546,4),(56554,4),(56576,4),(56581,4),(56605,4),(56606,4),(56614,4),(56628,4),(56631,4),(56632,4),(56646,4),(56650,4),(56655,4),(56657,4),(56659,4),(56660,4),(56664,4),(56667,4),(56670,4),(56672,4),(56676,4),(56678,4),(56684,4),(56701,4),(56703,4),(56708,4),(56716,4),(56718,4),(56727,4),(56732,4),(56738,4),(56744,4),(56745,4),(56746,4),(56747,4),(56755,4),(56756,4),(56762,4),(56773,4),(56779,4),(56783,4),(56792,4),(56794,4),(56799,4),(56801,4),(56802,4),(56803,4),(56812,4),(56815,4),(56819,4),(56826,4),(56827,4),(56828,4),(56833,4),(56835,4),(56870,4),(56871,4),(56879,4),(56884,4),(56908,4),(56923,4),(56929,4),(56932,4),(56933,4),(56942,4),(56946,4),(56948,4),(56982,4),(56984,4),(56987,4),(56999,4),(57002,4),(57007,4),(57010,4),(57011,4),(57014,4),(57020,4),(57024,4),(57034,4),(57058,4),(57059,4),(57070,4),(57074,4),(57082,4),(57085,4),(57094,4),(57095,4),(57097,4),(57098,4),(57101,4),(57126,4),(57147,4),(57148,4),(57150,4),(57161,4),(57182,4),(57194,4),(57196,4),(57199,4),(57204,4),(57206,4),(57207,4),(57209,4),(57233,4),(57240,4),(57248,4),(57257,4),(57268,4),(57286,4),(57288,4),(57291,4),(57301,4),(57302,4),(57304,4),(57305,4),(57308,4),(57316,4),(57319,4),(57323,4),(57325,4),(57334,4),(57338,4),(57341,4),(57342,4),(57350,4),(57353,4),(57368,4),(57373,4),(57377,4),(57380,4),(57385,4),(57388,4),(57395,4),(57408,4),(57414,4),(57415,4),(57431,4),(57440,4),(57447,4),(57450,4),(57457,4),(57474,4),(57475,4),(57492,4),(57494,4),(57497,4),(57506,4),(57507,4),(57512,4),(57517,4),(57521,4),(57522,4),(57527,4),(57532,4),(57536,4),(57537,4),(57543,4),(57547,4),(57550,4),(57558,4),(57563,4),(57564,4),(57574,4),(57581,4),(57584,4),(57592,4),(57596,4),(57619,4),(57643,4),(57645,4),(57657,4),(57659,4),(57663,4),(57664,4),(57666,4),(57669,4),(57674,4),(57677,4),(57679,4),(57680,4),(57684,4),(57695,4),(57697,4),(57701,4),(57706,4),(57714,4),(57719,4),(57721,4),(57744,4),(57751,4),(57754,4),(57771,4),(57777,4),(57779,4),(57792,4),(57796,4),(57798,4),(57801,4),(57802,4),(57812,4),(57816,4),(57821,4),(57826,4),(57828,4),(57837,4),(57851,4),(57860,4),(57863,4),(57866,4),(57868,4),(57875,4),(57883,4),(57885,4),(57887,4),(57892,4),(57893,4),(57898,4),(57902,4),(57910,4),(57918,4),(57923,4),(57927,4),(57928,4),(57930,4),(57939,4),(57940,4),(57949,4),(57958,4),(57959,4),(57962,4),(57966,4),(57974,4),(57979,4),(57981,4),(57996,4),(58009,4),(58012,4),(58014,4),(58027,4),(58028,4),(58035,4),(58063,4),(58064,4),(58067,4),(58070,4),(58073,4),(58079,4),(58080,4),(58088,4),(58093,4),(58095,4),(58098,4),(58114,4),(58130,4),(58143,4),(58147,4),(58148,4),(58167,4),(58175,4),(58200,4),(58202,4),(58215,4),(58223,4),(58230,4),(58231,4),(58232,4),(58233,4),(58238,4),(58240,4),(58249,4),(58250,4),(58254,4),(58259,4),(58261,4),(58271,4),(58277,4),(58281,4),(58282,4),(58292,4),(58295,4),(58299,4),(58300,4),(58304,4),(58307,4),(58320,4),(58323,4),(58337,4),(58348,4),(58350,4),(58353,4),(58364,4),(58372,4),(58380,4),(58381,4),(58390,4),(58397,4),(58401,4),(58409,4),(58414,4),(58416,4),(58430,4),(58440,4),(58441,4),(58442,4),(58458,4),(58461,4),(58462,4),(58470,4),(58472,4),(58476,4),(58485,4),(58495,4),(58498,4),(58502,4),(58507,4),(58509,4),(58510,4),(58515,4),(58518,4),(58521,4),(58526,4),(58527,4),(58529,4),(58533,4),(58540,4),(58542,4),(58543,4),(58545,4),(58546,4),(58548,4),(58549,4),(58564,4),(58566,4),(58575,4),(58588,4),(58597,4),(58598,4),(58603,4),(58618,4),(58622,4),(58666,4),(58678,4),(58684,4),(58685,4),(58692,4),(58698,4),(58699,4),(58703,4),(58707,4),(58719,4),(58720,4),(58724,4),(58731,4),(58739,4),(58742,4),(58747,4),(58748,4),(58750,4),(58756,4),(58764,4),(58765,4),(58768,4),(58772,4),(58778,4),(58781,4),(58783,4),(58792,4),(58806,4),(58811,4),(58821,4),(58826,4),(58832,4),(58834,4),(58837,4),(58838,4),(58839,4),(58841,4),(58844,4),(58850,4),(58852,4),(58858,4),(58860,4),(58878,4),(58886,4),(58903,4),(58919,4),(58924,4),(58932,4),(58937,4),(58938,4),(58945,4),(58946,4),(58949,4),(58958,4),(58964,4),(58981,4),(58982,4),(58986,4),(58990,4),(58994,4),(58995,4),(58997,4),(59001,4),(59003,4),(59017,4),(59020,4),(59043,4),(59045,4),(59059,4),(59069,4),(59072,4),(59074,4),(59088,4),(59094,4),(59101,4),(59112,4),(59117,4),(59130,4),(59137,4),(59139,4),(59141,4),(59150,4),(59158,4),(59171,4),(59172,4),(59173,4),(59196,4),(59200,4),(59204,4),(59205,4),(59212,4),(59215,4),(59219,4),(59225,4),(59229,4),(59236,4),(59239,4),(59249,4),(59250,4),(59253,4),(59254,4),(59257,4),(59258,4),(59259,4),(59266,4),(59272,4),(59285,4),(59293,4),(59298,4),(59328,4),(59361,4),(59367,4),(59369,4),(59373,4),(59374,4),(59379,4),(59382,4),(59385,4),(59390,4),(59398,4),(59445,4),(59446,4),(59452,4),(59453,4),(59454,4),(59468,4),(59478,4),(59484,4),(59491,4),(59494,4),(59500,4),(59502,4),(59511,4),(59513,4),(59519,4),(59525,4),(59529,4),(59533,4),(59540,4),(59549,4),(59552,4),(59553,4),(59556,4),(59561,4),(59563,4),(59565,4),(59568,4),(59575,4),(59581,4),(59588,4),(59613,4),(59632,4),(59633,4),(59650,4),(59651,4),(59656,4),(59660,4),(59664,4),(59672,4),(59675,4),(59677,4),(59680,4),(59682,4),(59694,4),(59702,4),(59706,4),(59713,4),(59719,4),(59721,4),(59732,4),(59737,4),(59746,4),(59761,4),(59780,4),(59792,4),(59799,4),(59805,4),(59807,4),(59816,4),(59817,4),(59821,4),(59823,4),(59831,4),(59838,4),(59839,4),(59840,4),(59842,4),(59844,4),(59850,4),(59853,4),(59855,4),(59856,4),(59857,4),(59858,4),(59861,4),(59879,4),(59882,4),(59900,4),(59913,4),(59929,4),(59949,4),(59954,4),(59967,4),(59971,4),(59974,4),(59976,4),(59977,4),(59981,4),(59997,4),(60005,4),(60007,4),(60018,4),(60021,4),(60026,4),(60027,4),(60028,4),(60030,4),(60038,4),(60041,4),(60044,4),(60046,4),(60050,4),(60061,4),(60085,4),(60095,4),(60097,4),(60100,4),(60101,4),(60112,4),(60115,4),(60118,4),(60123,4),(60124,4),(60132,4),(60140,4),(60141,4),(60149,4),(60150,4),(60162,4),(60176,4),(60177,4),(60189,4),(60202,4),(60205,4),(60208,4),(60218,4),(60219,4),(60229,4),(60230,4),(60233,4),(60234,4),(60240,4),(60250,4),(60264,4),(60265,4),(60269,4),(60275,4),(60282,4),(60285,4),(60298,4),(60299,4),(60303,4),(60318,4),(60319,4),(60328,4),(60329,4),(60331,4),(60333,4),(60350,4),(60366,4),(60368,4),(60383,4),(60387,4),(60395,4),(60398,4),(60403,4),(60405,4),(60414,4),(60420,4),(60425,4),(60426,4),(60430,4),(60442,4),(60444,4),(60445,4),(60460,4),(60464,4),(60469,4),(60471,4),(60473,4),(60480,4),(60487,4),(60490,4),(60491,4),(60494,4),(60501,4),(60505,4),(60517,4),(60518,4),(60523,4),(60525,4),(60527,4),(60529,4),(60540,4),(60541,4),(60553,4),(60558,4),(60563,4),(60565,4),(60570,4),(60572,4),(60574,4),(60590,4),(60598,4),(60599,4),(60608,4),(60609,4),(60619,4),(60623,4),(60624,4),(60632,4),(60649,4),(60656,4),(60658,4),(60660,4),(60662,4),(60664,4),(60668,4),(60669,4),(60670,4),(60675,4),(60676,4),(60686,4),(60690,4),(60701,4),(60704,4),(60714,4),(60716,4),(60724,4),(60731,4),(60743,4),(60745,4),(60747,4),(60761,4),(60778,4),(60790,4),(60794,4),(60823,4),(60826,4),(60827,4),(60830,4),(60838,4),(60841,4),(60843,4),(60845,4),(60848,4),(60850,4),(60855,4),(60859,4),(60862,4),(60865,4),(60867,4),(60870,4),(60873,4),(60875,4),(60884,4),(60896,4),(60905,4),(60909,4),(60911,4),(60920,4),(60925,4),(60938,4),(60951,4),(60953,4),(60955,4),(60965,4),(60969,4),(60977,4),(60978,4),(60981,4),(60989,4),(60991,4),(60996,4),(61001,4),(61002,4),(61005,4),(61006,4),(61012,4),(61013,4),(61017,4),(61023,4),(61035,4),(61045,4),(61046,4),(61057,4),(61063,4),(61073,4),(61075,4),(61089,4),(61098,4),(61102,4),(61107,4),(61109,4),(61131,4),(61145,4),(61148,4),(61153,4),(61156,4),(61159,4),(61178,4),(61179,4),(61195,4),(61204,4),(61208,4),(61210,4),(61211,4),(61212,4),(61218,4),(61228,4),(61237,4),(61238,4),(61243,4),(61245,4),(61250,4),(61253,4),(61261,4),(61280,4),(61286,4),(61288,4),(61298,4),(61313,4),(61324,4),(61328,4),(61338,4),(61349,4),(61356,4),(61358,4),(61367,4),(61372,4),(61382,4),(61386,4),(61393,4),(61399,4),(61403,4),(61410,4),(61425,4),(61436,4),(61437,4),(61438,4),(61440,4),(61441,4),(61443,4),(61449,4),(61480,4),(61484,4),(61488,4),(61496,4),(61505,4),(61506,4),(61511,4),(61512,4),(61522,4),(61534,4),(61555,4),(61558,4),(61563,4),(61585,4),(61586,4),(61593,4),(61597,4),(61598,4),(61606,4),(61609,4),(61612,4),(61615,4),(61616,4),(61625,4),(61627,4),(61636,4),(61644,4),(61648,4),(61649,4),(61652,4),(61654,4),(61661,4),(61677,4),(61680,4),(61681,4),(61686,4),(61688,4),(61700,4),(61706,4),(61708,4),(61710,4),(61720,4),(61725,4),(61726,4),(61736,4),(61748,4),(61749,4),(61765,4),(61766,4),(61779,4),(61783,4),(61788,4),(61794,4),(61799,4),(61809,4),(61813,4),(61820,4),(61823,4),(61828,4),(61837,4),(61845,4),(61887,4),(61888,4),(61891,4),(61910,4),(61918,4),(61921,4),(61926,4),(61929,4),(61938,4),(61961,4),(61973,4),(61980,4),(61984,4),(61989,4),(61997,4),(61999,4),(62009,4),(62013,4),(62014,4),(62022,4),(62025,4),(62029,4),(62031,4),(62035,4),(62046,4),(62049,4),(62050,4),(62055,4),(62057,4),(62058,4),(62060,4),(62062,4),(62063,4),(62070,4),(62075,4),(62082,4),(62086,4),(62091,4),(62105,4),(62114,4),(62118,4),(62129,4),(62131,4),(62133,4),(62152,4),(62153,4),(62165,4),(62171,4),(62175,4),(62180,4),(62181,4),(62183,4),(62185,4),(62186,4),(62192,4),(62199,4),(62211,4),(62215,4),(62218,4),(62223,4),(62226,4),(62230,4),(62236,4),(62237,4),(62241,4),(62242,4),(62273,4),(62281,4),(62284,4),(62287,4),(62288,4),(62292,4),(62306,4),(62308,4),(62311,4),(62313,4),(62314,4),(62322,4),(62334,4),(62335,4),(62336,4),(62343,4),(62345,4),(62347,4),(62360,4),(62366,4),(62374,4),(62375,4),(62380,4),(62390,4),(62393,4),(62394,4),(62395,4),(62406,4),(62414,4),(62416,4),(62417,4),(62421,4),(62437,4),(62442,4),(62444,4),(62451,4),(62460,4),(62468,4),(62475,4),(62479,4),(62480,4),(62488,4),(62489,4),(62506,4),(62508,4),(62510,4),(62514,4),(62516,4),(62518,4),(62522,4),(62523,4),(62527,4),(62532,4),(62534,4),(62542,4),(62544,4),(62550,4),(62551,4),(62560,4),(62587,4),(62593,4),(62596,4),(62606,4),(62612,4),(62613,4),(62616,4),(62624,4),(62629,4),(62631,4),(62636,4),(62639,4),(62650,4),(62658,4),(62659,4),(62661,4),(62668,4),(62674,4),(62689,4),(62695,4),(62699,4),(62708,4),(62710,4),(62711,4),(62716,4),(62727,4),(62734,4),(62747,4),(62767,4),(62795,4),(62800,4),(62808,4),(62809,4),(62818,4),(62820,4),(62821,4),(62824,4),(62827,4),(62837,4),(62838,4),(62841,4),(62852,4),(62857,4),(62861,4),(62871,4),(62881,4),(62882,4),(62888,4),(62889,4),(62892,4),(62897,4),(62900,4),(62906,4),(62916,4),(62923,4),(62930,4),(62935,4),(62943,4),(62954,4),(62957,4),(62966,4),(62971,4),(62974,4),(62981,4),(62985,4),(62986,4),(62995,4),(62998,4),(63000,4),(63002,4),(63005,4),(63006,4),(63009,4),(63023,4),(63037,4),(63049,4),(63069,4),(63072,4),(63078,4),(63081,4),(63083,4),(63091,4),(63093,4),(63106,4),(63109,4),(63110,4),(63131,4),(63136,4),(63142,4),(63148,4),(63159,4),(63168,4),(63170,4),(63177,4),(63179,4),(63188,4),(63190,4),(63191,4),(63194,4),(63195,4),(63197,4),(63212,4),(63220,4),(63230,4),(63234,4),(63238,4),(63248,4),(63250,4),(63254,4),(63260,4),(63266,4),(63284,4),(63285,4),(63288,4),(63297,4),(63307,4),(63316,4),(63320,4),(63333,4),(63335,4),(63342,4),(63346,4),(63349,4),(63354,4),(63356,4),(63361,4),(63365,4),(63367,4),(63371,4),(63372,4),(63374,4),(63375,4),(63382,4),(63390,4),(63397,4),(63398,4),(63399,4),(63402,4),(63403,4),(63409,4),(63411,4),(63413,4),(63418,4),(63431,4),(63434,4),(63444,4),(63450,4),(63453,4),(63454,4),(63459,4),(63461,4),(63462,4),(63466,4),(63468,4),(63472,4),(63473,4),(63474,4),(63481,4),(63482,4),(63496,4),(63500,4),(63505,4),(63513,4),(63528,4),(63529,4),(63533,4),(63536,4),(63541,4),(63542,4),(63547,4),(63548,4),(63549,4),(63555,4),(63556,4),(63562,4),(63580,4),(63581,4),(63590,4),(63594,4),(63597,4),(63605,4),(63607,4),(63613,4),(63621,4),(63627,4),(63644,4),(63645,4),(63657,4),(63658,4),(63667,4),(63669,4),(63684,4),(63686,4),(63690,4),(63691,4),(63694,4),(63707,4),(63708,4),(63712,4),(63713,4),(63721,4),(63726,4),(63733,4),(63734,4),(63741,4),(63748,4),(63750,4),(63752,4),(63758,4),(63759,4),(63770,4),(63774,4),(63778,4),(63783,4),(63791,4),(63797,4),(63800,4),(63811,4),(63813,4),(63832,4),(63839,4),(63842,4),(63845,4),(63852,4),(63856,4),(63858,4),(63865,4),(63869,4),(63878,4),(63883,4),(63884,4),(63922,4),(63940,4),(63941,4),(63948,4),(63949,4),(63953,4),(63966,4),(63973,4),(63977,4),(63979,4),(63982,4),(63985,4),(63989,4),(63991,4),(64017,4),(64019,4),(64020,4),(64021,4),(64058,4),(64063,4),(64076,4),(64088,4),(64089,4),(64106,4),(64110,4),(64115,4),(64121,4),(64125,4),(64128,4),(64136,4),(64137,4),(64142,4),(64143,4),(64144,4),(64155,4),(64164,4),(64165,4),(64187,4),(64188,4),(64191,4),(64195,4),(64202,4),(64206,4),(64207,4),(64216,4),(64218,4),(64223,4),(64241,4),(64247,4),(64261,4),(64289,4),(64298,4),(64301,4),(64302,4),(64304,4),(64305,4),(64306,4),(64322,4),(64330,4),(64334,4),(64338,4),(64342,4),(64352,4),(64376,4),(64380,4),(64391,4),(64396,4),(64410,4),(64415,4),(64420,4),(64423,4),(64432,4),(64433,4),(64441,4),(64446,4),(64452,4),(64461,4),(64476,4),(64478,4),(64504,4),(64514,4),(64517,4),(64518,4),(64526,4),(64536,4),(64541,4),(64553,4),(64560,4),(64567,4),(64571,4),(64585,4),(64586,4),(64589,4),(64592,4),(64595,4),(64596,4),(64629,4),(64633,4),(64634,4),(64636,4),(64648,4),(64652,4),(64653,4),(64659,4),(64663,4),(64674,4),(64680,4),(64684,4),(64685,4),(64694,4),(64703,4),(64707,4),(64718,4),(64726,4),(64729,4),(64754,4),(64762,4),(64773,4),(64776,4),(64788,4),(64789,4),(64790,4),(64793,4),(64803,4),(64804,4),(64805,4),(64809,4),(64811,4),(64813,4),(64817,4),(64818,4),(64823,4),(64824,4),(64832,4),(64836,4),(64849,4),(64875,4),(64877,4),(64878,4),(64882,4),(64885,4),(64886,4),(64889,4),(64892,4),(64897,4),(64903,4),(64906,4),(64916,4),(64918,4),(64933,4),(64938,4),(64940,4),(64942,4),(64943,4),(64953,4),(64961,4),(64962,4),(64977,4),(64980,4),(64997,4),(64999,4),(65007,4),(65011,4),(65019,4),(65020,4),(65030,4),(65044,4),(65047,4),(65053,4),(65061,4),(65073,4),(65075,4),(65084,4),(65085,4),(65088,4),(65093,4),(65096,4),(65099,4),(65104,4),(65106,4),(65112,4),(65115,4),(65119,4),(65130,4),(65139,4),(65151,4),(65155,4),(65160,4),(65182,4),(65186,4),(65192,4),(65197,4),(65205,4),(65211,4),(65213,4),(65215,4),(65221,4),(65233,4),(65245,4),(65246,4),(65253,4),(65274,4),(65285,4),(65292,4),(65293,4),(65300,4),(65301,4),(65312,4),(65314,4),(65320,4),(65336,4),(65341,4),(65346,4),(65347,4),(65361,4),(65364,4),(65370,4),(65375,4),(65377,4),(65382,4),(65392,4),(65406,4),(65410,4),(65411,4),(65423,4),(65438,4),(65456,4),(65457,4),(65464,4),(65473,4),(65477,4),(65482,4),(65497,4),(65502,4),(65507,4),(65509,4),(65513,4),(65514,4),(65518,4),(65521,4),(65531,4),(65532,4),(65544,4),(65556,4),(65558,4),(65561,4),(65566,4),(65567,4),(65569,4),(65576,4),(65580,4),(65584,4),(65600,4),(65611,4),(65613,4),(65630,4),(65633,4),(65636,4),(65645,4),(65646,4),(65649,4),(65659,4),(65665,4),(65677,4),(65682,4),(65684,4),(65690,4),(65691,4),(65692,4),(65693,4),(65697,4),(65711,4),(65715,4),(65716,4),(65721,4),(65728,4),(65737,4),(65746,4),(65749,4),(65754,4),(65758,4),(65765,4),(65767,4),(65768,4),(65775,4),(65777,4),(65780,4),(65785,4),(65786,4),(65794,4),(65813,4),(65827,4),(65829,4),(65830,4),(65840,4),(65841,4),(65848,4),(65849,4),(65856,4),(65859,4),(65861,4),(65864,4),(65865,4),(65867,4),(65877,4),(65883,4),(65886,4),(65892,4),(65900,4),(65905,4),(65906,4),(65916,4),(65928,4),(65929,4),(65931,4),(65932,4),(65939,4),(65960,4),(65962,4),(65970,4),(65978,4),(65983,4),(65985,4),(65995,4),(66004,4),(66006,4),(66009,4),(66015,4),(66022,4),(66023,4),(66029,4),(66031,4),(66043,4),(66046,4),(66051,4),(66054,4),(66068,4),(66077,4),(66081,4),(66083,4),(66084,4),(66093,4),(66113,4),(66122,4),(66124,4),(66130,4),(66141,4),(66150,4),(66153,4),(66158,4),(66160,4),(66163,4),(66179,4),(66192,4),(66193,4),(66197,4),(66205,4),(66206,4),(66215,4),(66216,4),(66218,4),(66224,4),(66234,4),(66235,4),(66242,4),(66248,4),(66256,4),(66267,4),(66269,4),(66273,4),(66274,4),(66276,4),(66282,4),(66284,4),(66288,4),(66299,4),(66302,4),(66307,4),(66309,4),(66326,4),(66333,4),(66348,4),(66351,4),(66361,4),(66366,4),(66367,4),(66376,4),(66377,4),(66394,4),(66401,4),(66402,4),(66406,4),(66408,4),(66411,4),(66413,4),(66414,4),(66418,4),(66422,4),(66423,4),(66425,4),(66432,4),(66440,4),(66446,4),(66447,4),(66462,4),(66465,4),(66474,4),(66479,4),(66488,4),(66489,4),(66496,4),(66498,4),(66503,4),(66508,4),(66516,4),(66522,4),(66530,4),(66535,4),(66546,4),(66554,4),(66565,4),(66572,4),(66573,4),(66576,4),(66582,4),(66585,4),(66586,4),(66588,4),(66589,4),(66593,4),(66597,4),(66600,4),(66602,4),(66605,4),(66607,4),(66609,4),(66612,4),(66635,4),(66646,4),(66661,4),(66668,4),(66679,4),(66686,4),(66688,4),(66693,4),(66695,4),(66712,4),(66718,4),(66727,4),(66742,4),(66747,4),(66757,4),(66766,4),(66773,4),(66777,4),(66782,4),(66790,4),(66795,4),(66800,4),(66801,4),(66803,4),(66813,4),(66820,4),(66830,4),(66839,4),(66846,4),(66849,4),(66853,4),(66868,4),(66870,4),(66873,4),(66878,4),(66888,4),(66900,4),(66911,4),(66926,4),(66946,4),(66947,4),(66951,4),(66954,4),(66955,4),(66958,4),(66960,4),(66963,4),(66965,4),(66966,4),(66974,4),(66975,4),(66980,4),(66987,4),(66988,4),(66993,4),(67002,4),(67006,4),(67020,4),(67026,4),(67031,4),(67050,4),(67064,4),(67065,4),(67066,4),(67067,4),(67069,4),(67070,4),(67076,4),(67090,4),(67091,4),(67095,4),(67096,4),(67099,4),(67101,4),(67109,4),(67113,4),(67120,4),(67122,4),(67125,4),(67128,4),(67137,4),(67147,4),(67152,4),(67157,4),(67161,4),(67166,4),(67167,4),(67186,4),(67189,4),(67191,4),(67214,4),(67220,4),(67230,4),(67231,4),(67244,4),(67246,4),(67247,4),(67252,4),(67254,4),(67257,4),(67260,4),(67276,4),(67280,4),(67292,4),(67305,4),(67309,4),(67310,4),(67311,4),(67313,4),(67322,4),(67325,4),(67334,4),(67336,4),(67338,4),(67341,4),(67344,4),(67350,4),(67351,4),(67357,4),(67368,4),(67371,4),(67375,4),(67376,4),(67378,4),(67381,4),(67382,4),(67391,4),(67393,4),(67403,4),(67406,4),(67420,4),(67421,4),(67424,4),(67428,4),(67432,4),(67445,4),(67448,4),(67450,4),(67457,4),(67458,4),(67461,4),(67466,4),(67476,4),(67483,4),(67503,4),(67505,4),(67506,4),(67507,4),(67516,4),(67521,4),(67524,4),(67530,4),(67531,4),(67532,4),(67536,4),(67541,4),(67548,4),(67549,4),(67550,4),(67551,4),(67554,4),(67558,4),(67559,4),(67563,4),(67566,4),(67567,4),(67570,4),(67574,4),(67579,4),(67580,4),(67585,4),(67586,4),(67588,4),(67600,4),(67608,4),(67613,4),(67614,4),(67615,4),(67620,4),(67621,4),(67633,4),(67635,4),(67638,4),(67646,4),(67648,4),(67662,4),(67667,4),(67668,4),(67679,4),(67681,4),(67683,4),(67685,4),(67697,4),(67698,4),(67714,4),(67715,4),(67718,4),(67720,4),(67737,4),(67745,4),(67747,4),(67750,4),(67752,4),(67768,4),(67769,4),(67771,4),(67774,4),(67793,4),(67798,4),(67800,4),(67806,4),(67808,4),(67811,4),(67815,4),(67819,4),(67824,4),(67825,4),(67835,4),(67856,4),(67861,4),(67864,4),(67867,4),(67885,4),(67896,4),(67907,4),(67915,4),(67921,4),(67942,4),(67948,4),(67955,4),(67959,4),(67965,4),(67978,4),(67987,4),(67990,4),(67992,4),(67993,4),(67997,4),(68002,4),(68005,4),(68007,4),(68009,4),(68016,4),(68018,4),(68019,4),(68020,4),(68023,4),(68066,4),(68068,4),(68079,4),(68103,4),(68104,4),(68137,4),(68138,4),(68139,4),(68144,4),(68146,4),(68151,4),(68168,4),(68182,4),(68183,4),(68195,4),(68206,4),(68215,4),(68217,4),(68229,4),(68238,4),(68240,4),(68241,4),(68247,4),(68258,4),(68260,4),(68262,4),(68263,4),(68270,4),(68271,4),(68273,4),(68279,4),(68285,4),(68286,4),(68289,4),(68299,4),(68309,4),(68315,4),(68327,4),(68331,4),(68333,4),(68334,4),(68337,4),(68354,4),(68358,4),(68359,4),(68361,4),(68370,4),(68379,4),(68384,4),(68387,4),(68388,4),(68392,4),(68395,4),(68405,4),(68406,4),(68415,4),(68418,4),(68423,4),(68427,4),(68431,4),(68435,4),(68438,4),(68449,4),(68454,4),(68459,4),(68461,4),(68476,4),(68478,4),(68479,4),(68485,4),(68501,4),(68508,4),(68509,4),(68516,4),(68520,4),(68527,4),(68528,4),(68530,4),(68533,4),(68537,4),(68542,4),(68551,4),(68564,4),(68568,4),(68571,4),(68572,4),(68590,4),(68592,4),(68595,4),(68604,4),(68616,4),(68617,4),(68618,4),(68622,4),(68626,4),(68633,4),(68636,4),(68647,4),(68649,4),(68651,4),(68653,4),(68661,4),(68664,4),(68670,4),(68672,4),(68682,4),(68692,4),(68698,4),(68699,4),(68701,4),(68708,4),(68710,4),(68724,4),(68727,4),(68740,4),(68743,4),(68748,4),(68761,4),(68762,4),(68777,4),(68779,4),(68791,4),(68795,4),(68808,4),(68817,4),(68818,4),(68821,4),(68822,4),(68837,4),(68873,4),(68883,4),(68890,4),(68893,4),(68898,4),(68903,4),(68907,4),(68913,4),(68918,4),(68926,4),(68942,4),(68948,4),(68950,4),(68952,4),(68953,4),(68961,4),(68962,4),(68968,4),(68985,4),(69005,4),(69020,4),(69025,4),(69042,4),(69049,4),(69054,4),(69067,4),(69068,4),(69070,4),(69072,4),(69103,4),(69120,4),(69123,4),(69129,4),(69130,4),(69148,4),(69149,4),(69154,4),(69162,4),(69173,4),(69175,4),(69176,4),(69187,4),(69207,4),(69211,4),(69214,4),(69222,4),(69224,4),(69229,4),(69234,4),(69236,4),(69240,4),(69258,4),(69264,4),(69299,4),(69304,4),(69318,4),(69326,4),(69327,4),(69328,4),(69341,4),(69344,4),(69360,4),(69363,4),(69370,4),(69371,4),(69374,4),(69377,4),(69382,4),(69385,4),(69394,4),(69400,4),(69422,4),(69423,4),(69430,4),(69431,4),(69442,4),(69443,4),(69448,4),(69455,4),(69458,4),(69467,4),(69469,4),(69470,4),(69473,4),(69478,4),(69479,4),(69491,4),(69494,4),(69498,4),(69510,4),(69511,4),(69513,4),(69517,4),(69518,4),(69526,4),(69527,4),(69531,4),(69534,4),(69547,4),(69569,4),(69572,4),(69575,4),(69578,4),(69595,4),(69600,4),(69603,4),(69606,4),(69607,4),(69615,4),(69618,4),(69624,4),(69639,4),(69645,4),(69652,4),(69654,4),(69655,4),(69665,4),(69671,4),(69676,4),(69677,4),(69683,4),(69685,4),(69689,4),(69693,4),(69706,4),(69725,4),(69730,4),(69757,4),(69764,4),(69771,4),(69772,4),(69775,4),(69781,4),(69783,4),(69784,4),(69787,4),(69793,4),(69796,4),(69807,4),(69808,4),(69817,4),(69827,4),(69834,4),(69842,4),(69856,4),(69864,4),(69865,4),(69869,4),(69877,4),(69884,4),(69885,4),(69888,4),(69889,4),(69906,4),(69907,4),(69914,4),(69928,4),(69933,4),(69937,4),(69946,4),(69949,4),(69953,4),(69965,4),(69966,4),(69969,4),(69972,4),(69973,4),(69977,4),(69990,4),(70000,4),(70003,4),(70008,4),(70009,4),(70011,4),(70030,4),(70048,4),(70052,4),(70053,4),(70056,4),(70075,4),(70079,4),(70089,4),(70100,4),(70107,4),(70115,4),(70116,4),(70117,4),(70126,4),(70127,4),(70139,4),(70141,4),(70156,4),(70158,4),(70176,4),(70182,4),(70183,4),(70184,4),(70192,4),(70195,4),(70198,4),(70199,4),(70212,4),(70221,4),(70229,4),(70234,4),(70253,4),(70254,4),(70255,4),(70261,4),(70266,4),(70269,4),(70270,4),(70271,4),(70272,4),(70273,4),(70279,4),(70280,4),(70283,4),(70284,4),(70289,4),(70290,4),(70292,4),(70301,4),(70320,4),(70322,4),(70323,4),(70338,4),(70344,4),(70345,4),(70349,4),(70357,4),(70359,4),(70365,4),(70366,4),(70381,4),(70385,4),(70386,4),(70390,4),(70395,4),(70397,4),(70401,4),(70408,4),(70409,4),(70410,4),(70412,4),(70417,4),(70422,4),(70434,4),(70438,4),(70440,4),(70445,4),(70450,4),(70452,4),(70460,4),(70464,4),(70466,4),(70469,4),(70470,4),(70474,4),(70477,4),(70505,4),(70525,4),(70526,4),(70539,4),(70544,4),(70545,4),(70558,4),(70563,4),(70567,4),(70586,4),(70587,4),(70591,4),(70592,4),(70593,4),(70597,4),(70599,4),(70620,4),(70642,4),(70645,4),(70649,4),(70653,4),(70677,4),(70682,4),(70686,4),(70689,4),(70694,4),(70695,4),(70698,4),(70700,4),(70706,4),(70712,4),(70717,4),(70719,4),(70720,4),(70724,4),(70725,4),(70753,4),(70759,4),(70765,4),(70768,4),(70771,4),(70772,4),(70778,4),(70779,4),(70782,4),(70787,4),(70796,4),(70798,4),(70826,4),(70827,4),(70830,4),(70841,4),(70851,4),(70852,4),(70855,4),(70861,4),(70871,4),(70872,4),(70877,4),(70879,4),(70880,4),(70882,4),(70884,4),(70898,4),(70913,4),(70918,4),(70933,4),(70939,4),(70943,4),(70944,4),(70946,4),(70953,4),(70958,4),(70966,4),(70973,4),(70978,4),(70982,4),(70987,4),(71003,4),(71008,4),(71029,4),(71035,4),(71037,4),(71041,4),(71050,4),(71054,4),(71062,4),(71067,4),(71070,4),(71079,4),(71085,4),(71087,4),(71092,4),(71100,4),(71101,4),(71111,4),(71115,4),(71121,4),(71138,4),(71139,4),(71142,4),(71144,4),(71145,4),(71157,4),(71162,4),(71164,4),(71173,4),(71199,4),(71211,4),(71217,4),(71219,4),(71221,4),(71240,4),(71243,4),(71246,4),(71253,4),(71256,4),(71266,4),(71270,4),(71275,4),(71278,4),(71286,4),(71290,4),(71291,4),(71296,4),(71297,4),(71309,4),(71314,4),(71315,4),(71320,4),(71326,4),(71327,4),(71331,4),(71348,4),(71361,4),(71364,4),(71372,4),(71376,4),(71377,4),(71379,4),(71384,4),(71387,4),(71389,4),(71395,4),(71396,4),(71407,4),(71412,4),(71416,4),(71420,4),(71423,4),(71431,4),(71442,4),(71444,4),(71447,4),(71456,4),(71457,4),(71462,4),(71476,4),(71482,4),(71489,4),(71491,4),(71492,4),(71505,4),(71510,4),(71526,4),(71534,4),(71537,4),(71550,4),(71551,4),(71555,4),(71559,4),(71565,4),(71566,4),(71573,4),(71596,4),(71604,4),(71608,4),(71615,4),(71626,4),(71637,4),(71644,4),(71660,4),(71663,4),(71664,4),(71669,4),(71678,4),(71680,4),(71684,4),(71689,4),(71690,4),(71704,4),(71705,4),(71707,4),(71709,4),(71714,4),(71719,4),(71720,4),(71721,4),(71724,4),(71743,4),(71747,4),(71748,4),(71750,4),(71755,4),(71763,4),(71767,4),(71768,4),(71769,4),(71772,4),(71776,4),(71785,4),(71786,4),(71799,4),(71824,4),(71828,4),(71841,4),(71847,4),(71849,4),(71855,4),(71858,4),(71869,4),(71882,4),(71894,4),(71906,4),(71910,4),(71912,4),(71913,4),(71914,4),(71916,4),(71918,4),(71922,4),(71923,4),(71926,4),(71928,4),(71929,4),(71931,4),(71932,4),(71938,4),(71969,4),(71970,4),(71972,4),(71984,4),(71991,4),(72003,4),(72023,4),(72025,4),(72026,4),(72028,4),(72032,4),(72049,4),(72061,4),(72062,4),(72083,4),(72089,4),(72090,4),(72094,4),(72102,4),(72103,4),(72112,4),(72115,4),(72120,4),(72122,4),(72134,4),(72135,4),(72152,4),(72154,4),(72159,4),(72162,4),(72165,4),(72179,4),(72180,4),(72193,4),(72201,4),(72222,4),(72225,4),(72229,4),(72230,4),(72232,4),(72233,4),(72237,4),(72242,4),(72249,4),(72250,4),(72252,4),(72264,4),(72270,4),(72280,4),(72281,4),(72282,4),(72289,4),(72290,4),(72294,4),(72295,4),(72296,4),(72298,4),(72301,4),(72308,4),(72311,4),(72313,4),(72324,4),(72329,4),(72348,4),(72350,4),(72351,4),(72353,4),(72362,4),(72366,4),(72370,4),(72378,4),(72386,4),(72389,4),(72390,4),(72395,4),(72397,4),(72402,4),(72403,4),(72415,4),(72425,4),(72430,4),(72439,4),(72443,4),(72453,4),(72504,4),(72508,4),(72515,4),(72516,4),(72520,4),(72522,4),(72530,4),(72539,4),(72541,4),(72562,4),(72566,4),(72575,4),(72577,4),(72582,4),(72589,4),(72593,4),(72616,4),(72621,4),(72622,4),(72628,4),(72632,4),(72647,4),(72650,4),(72668,4),(72671,4),(72679,4),(72681,4),(72692,4),(72701,4),(72704,4),(72708,4),(72728,4),(72730,4),(72731,4),(72737,4),(72738,4),(72749,4),(72760,4),(72762,4),(72763,4),(72774,4),(72775,4),(72799,4),(72804,4),(72806,4),(72808,4),(72811,4),(72812,4),(72820,4),(72826,4),(72827,4),(72834,4),(72839,4),(72842,4),(72849,4),(72853,4),(72865,4),(72882,4),(72889,4),(72893,4),(72905,4),(72907,4),(72913,4),(72927,4),(72940,4),(72947,4),(72948,4),(72952,4),(72953,4),(72954,4),(72956,4),(72960,4),(72971,4),(72979,4),(72985,4),(72989,4),(72990,4),(72997,4),(73005,4),(73008,4),(73016,4),(73029,4),(73031,4),(73033,4),(73040,4),(73044,4),(73052,4),(73060,4),(73070,4),(73079,4),(73085,4),(73087,4),(73089,4),(73099,4),(73100,4),(73105,4),(73125,4),(73135,4),(73137,4),(73148,4),(73150,4),(73155,4),(73157,4),(73161,4),(73162,4),(73180,4),(73189,4),(73190,4),(73202,4),(73206,4),(73211,4),(73218,4),(73231,4),(73245,4),(73250,4),(73252,4),(73263,4),(73264,4),(73272,4),(73274,4),(73277,4),(73286,4),(73290,4),(73294,4),(73296,4),(73300,4),(73305,4),(73307,4),(73310,4),(73313,4),(73318,4),(73328,4),(73338,4),(73354,4),(73356,4),(73361,4),(73365,4),(73366,4),(73371,4),(73387,4),(73392,4),(73396,4),(73398,4),(73400,4),(73401,4),(73411,4),(73430,4),(73436,4),(73441,4),(73453,4),(73454,4),(73456,4),(73468,4),(73473,4),(73474,4),(73480,4),(73482,4),(73485,4),(73490,4),(73493,4),(73495,4),(73498,4),(73499,4),(73518,4),(73524,4),(73538,4),(73539,4),(73557,4),(73588,4),(73590,4),(73593,4),(73597,4),(73608,4),(73609,4),(73617,4),(73622,4),(73631,4),(73633,4),(73642,4),(73644,4),(73646,4),(73647,4),(73652,4),(73656,4),(73684,4),(73690,4),(73693,4),(73694,4),(73700,4),(73712,4),(73719,4),(73720,4),(73726,4),(73731,4),(73755,4),(73758,4),(73770,4),(73782,4),(73787,4),(73792,4),(73793,4),(73805,4),(73808,4),(73809,4),(73813,4),(73824,4),(73837,4),(73848,4),(73850,4),(73854,4),(73863,4),(73874,4),(73892,4),(73902,4),(73904,4),(73906,4),(73912,4),(73921,4),(73926,4),(73935,4),(73938,4),(73942,4),(73947,4),(73952,4),(73964,4),(73965,4),(73981,4),(73991,4),(73994,4),(73998,4),(74000,4),(74005,4),(74009,4),(74011,4),(74015,4),(74029,4),(74037,4),(74041,4),(74052,4),(74077,4),(74079,4),(74083,4),(74090,4),(74092,4),(74093,4),(74094,4),(74095,4),(74096,4),(74099,4),(74101,4),(74102,4),(74107,4),(74113,4),(74116,4),(74123,4),(74125,4),(74152,4),(74154,4),(74155,4),(74157,4),(74164,4),(74165,4),(74168,4),(74169,4),(74171,4),(74183,4),(74189,4),(74197,4),(74206,4),(74208,4),(74209,4),(74212,4),(74216,4),(74218,4),(74219,4),(74228,4),(74244,4),(74246,4),(74255,4),(74267,4),(74268,4),(74270,4),(74271,4),(74286,4),(74291,4),(74299,4),(74313,4),(74316,4),(74333,4),(74338,4),(74363,4),(74366,4),(74367,4),(74369,4),(74385,4),(74396,4),(74400,4),(74412,4),(74414,4),(74429,4),(74431,4),(74437,4),(74448,4),(74454,4),(74456,4),(74468,4),(74475,4),(74493,4),(74496,4),(74506,4),(74513,4),(74515,4),(74518,4),(74521,4),(74525,4),(74527,4),(74529,4),(74538,4),(74551,4),(74554,4),(74560,4),(74575,4),(74580,4),(74585,4),(74591,4),(74599,4),(74600,4),(74601,4),(74610,4),(74618,4),(74622,4),(74623,4),(74625,4),(74631,4),(74633,4),(74637,4),(74644,4),(74659,4),(74666,4),(74670,4),(74673,4),(74681,4),(74682,4),(74685,4),(74691,4),(74693,4),(74696,4),(74703,4),(74704,4),(74708,4),(74711,4),(74714,4),(74715,4),(74718,4),(74727,4),(74733,4),(74739,4),(74740,4),(74747,4),(74751,4),(74766,4),(74768,4),(74771,4),(74773,4),(74787,4),(74792,4),(74798,4),(74801,4),(74811,4),(74816,4),(74821,4),(74822,4),(74846,4),(74850,4),(74853,4),(74854,4),(74857,4),(74858,4),(74863,4),(74865,4),(74866,4),(74869,4),(74871,4),(74877,4),(74883,4),(74890,4),(74896,4),(74900,4),(74913,4),(74915,4),(74918,4),(74928,4),(74930,4),(74940,4),(74942,4),(74950,4),(74967,4),(74972,4),(74985,4),(74986,4),(74995,4),(74998,4),(75012,4),(75016,4),(75017,4),(75021,4),(75022,4),(75023,4),(75028,4),(75032,4),(75035,4),(75040,4),(75053,4),(75055,4),(75057,4),(75062,4),(75064,4),(75077,4),(75078,4),(75084,4),(75098,4),(75108,4),(75116,4),(75126,4),(75145,4),(75156,4),(75158,4),(75159,4),(75176,4),(75179,4),(75182,4),(75188,4),(75199,4),(75210,4),(75220,4),(75228,4),(75233,4),(75234,4),(75236,4),(75237,4),(75241,4),(75245,4),(75246,4),(75253,4),(75276,4),(75280,4),(75281,4),(75287,4),(75293,4),(75297,4),(75302,4),(75320,4),(75321,4),(75328,4),(75334,4),(75344,4),(75350,4),(75358,4),(75359,4),(75377,4),(75379,4),(75381,4),(75382,4),(75393,4),(75395,4),(75404,4),(75409,4),(75411,4),(75415,4),(75423,4),(75424,4),(75425,4),(75438,4),(75443,4),(75447,4),(75453,4),(75457,4),(75464,4),(75468,4),(75469,4),(75471,4),(75472,4),(75479,4),(75481,4),(75482,4),(75485,4),(75487,4),(75489,4),(75499,4),(75500,4),(75505,4),(75507,4),(75511,4),(75517,4),(75539,4),(75546,4),(75555,4),(75556,4),(75558,4),(75566,4),(75571,4),(75620,4),(75621,4),(75629,4),(75634,4),(75649,4),(75653,4),(75654,4),(75667,4),(75669,4),(75679,4),(75693,4),(75698,4),(75726,4),(75730,4),(75745,4),(75753,4),(75759,4),(75761,4),(75765,4),(75766,4),(75771,4),(75772,4),(75778,4),(75779,4),(75783,4),(75801,4),(75803,4),(75804,4),(75806,4),(75812,4),(75815,4),(75819,4),(75820,4),(75837,4),(75839,4),(75840,4),(75845,4),(75847,4),(75857,4),(75860,4),(75869,4),(75884,4),(75887,4),(75903,4),(75909,4),(75937,4),(75948,4),(75952,4),(75962,4),(75967,4),(75968,4),(75974,4),(75980,4),(75995,4),(75997,4),(75999,4),(76000,4),(76014,4),(76025,4),(76027,4),(76035,4),(76052,4),(76053,4),(76057,4),(76062,4),(76065,4),(76066,4),(76068,4),(76074,4),(76075,4),(76090,4),(76102,4),(76105,4),(76111,4),(76115,4),(76125,4),(76127,4),(76144,4),(76152,4),(76157,4),(76164,4),(76175,4),(76179,4),(76180,4),(76184,4),(76191,4),(76193,4),(76203,4),(76206,4),(76214,4),(76218,4),(76220,4),(76224,4),(76228,4),(76234,4),(76238,4),(76241,4),(76259,4),(76268,4),(76269,4),(76275,4),(76296,4),(76305,4),(76307,4),(76324,4),(76334,4),(76335,4),(76356,4),(76357,4),(76368,4),(76374,4),(76388,4),(76392,4),(76396,4),(76399,4),(76407,4),(76414,4),(76421,4),(76427,4),(76429,4),(76436,4),(76437,4),(76439,4),(76449,4),(76456,4),(76464,4),(76465,4),(76466,4),(76472,4),(76487,4),(76489,4),(76493,4),(76496,4),(76501,4),(76514,4),(76522,4),(76530,4),(76539,4),(76544,4),(76549,4),(76561,4),(76566,4),(76569,4),(76579,4),(76590,4),(76592,4),(76596,4),(76616,4),(76624,4),(76629,4),(76653,4),(76662,4),(76665,4),(76678,4),(76680,4),(76687,4),(76714,4),(76719,4),(76723,4),(76735,4),(76736,4),(76737,4),(76750,4),(76761,4),(76762,4),(76767,4),(76773,4),(76774,4),(76775,4),(76782,4),(76788,4),(76792,4),(76800,4),(76802,4),(76803,4),(76811,4),(76826,4),(76828,4),(76836,4),(76848,4),(76851,4),(76853,4),(76858,4),(76859,4),(76865,4),(76868,4),(76876,4),(76895,4),(76901,4),(76903,4),(76905,4),(76914,4),(76918,4),(76927,4),(76928,4),(76933,4),(76934,4),(76944,4),(76946,4),(76954,4),(76969,4),(76973,4),(76984,4),(76989,4),(76994,4),(77005,4),(77010,4),(77017,4),(77018,4),(77020,4),(77021,4),(77027,4),(77029,4),(77032,4),(77042,4),(77050,4),(77052,4),(77053,4),(77056,4),(77063,4),(77064,4),(77067,4),(77068,4),(77070,4),(77079,4),(77081,4),(77083,4),(77089,4),(77090,4),(77092,4),(77093,4),(77098,4),(77106,4),(77114,4),(77122,4),(77128,4),(77132,4),(77143,4),(77145,4),(77155,4),(77160,4),(77171,4),(77177,4),(77182,4),(77190,4),(77203,4),(77214,4),(77215,4),(77219,4),(77229,4),(77232,4),(77243,4),(77249,4),(77252,4),(77253,4),(77257,4),(77259,4),(77261,4),(77264,4),(77276,4),(77277,4),(77284,4),(77293,4),(77306,4),(77311,4),(77315,4),(77320,4),(77327,4),(77340,4),(77342,4),(77346,4),(77347,4),(77364,4),(77373,4),(77374,4),(77377,4),(77378,4),(77379,4),(77383,4),(77408,4),(77409,4),(77412,4),(77420,4),(77423,4),(77425,4),(77426,4),(77427,4),(77430,4),(77448,4),(77452,4),(77454,4),(77457,4),(77458,4),(77460,4),(77461,4),(77462,4),(77464,4),(77468,4),(77474,4),(77479,4),(77491,4),(77498,4),(77502,4),(77509,4),(77511,4),(77515,4),(77519,4),(77524,4),(77529,4),(77532,4),(77543,4),(77545,4),(77548,4),(77558,4),(77560,4),(77562,4),(77580,4),(77581,4),(77586,4),(77588,4),(77589,4),(77591,4),(77595,4),(77600,4),(77610,4),(77611,4),(77622,4),(77623,4),(77635,4),(77638,4),(77640,4),(77648,4),(77661,4),(77666,4),(77673,4),(77680,4),(77686,4),(77705,4),(77719,4),(77720,4),(77729,4),(77736,4),(77738,4),(77739,4),(77740,4),(77746,4),(77752,4),(77753,4),(77755,4),(77761,4),(77764,4),(77772,4),(77776,4),(77777,4),(77780,4),(77788,4),(77794,4),(77797,4),(77799,4),(77820,4),(77826,4),(77830,4),(77838,4),(77843,4),(77846,4),(77848,4),(77850,4),(77853,4),(77861,4),(77862,4),(77863,4),(77878,4),(77880,4),(77887,4),(77902,4),(77903,4),(77907,4),(77908,4),(77910,4),(77912,4),(77923,4),(77924,4),(77931,4),(77935,4),(77944,4),(77952,4),(77955,4),(77961,4),(77963,4),(77967,4),(77983,4),(77986,4),(77988,4),(78010,4),(78018,4),(78039,4),(78050,4),(78062,4),(78063,4),(78064,4),(78067,4),(78070,4),(78076,4),(78079,4),(78093,4),(78100,4),(78114,4),(78117,4),(78118,4),(78128,4),(78132,4),(78141,4),(78143,4),(78158,4),(78161,4),(78165,4),(78187,4),(78202,4),(78208,4),(78211,4),(78233,4),(78249,4),(78253,4),(78256,4),(78260,4),(78266,4),(78278,4),(78282,4),(78290,4),(78313,4),(78319,4),(78321,4),(78329,4),(78346,4),(78347,4),(78349,4),(78355,4),(78357,4),(78360,4),(78361,4),(78386,4),(78404,4),(78405,4),(78416,4),(78417,4),(78431,4),(78433,4),(78442,4),(78446,4),(78452,4),(78454,4),(78456,4),(78460,4),(78466,4),(78476,4),(78479,4),(78481,4),(78495,4),(78508,4),(78512,4),(78527,4),(78531,4),(78537,4),(78538,4),(78540,4),(78543,4),(78547,4),(78548,4),(78555,4),(78557,4),(78558,4),(78593,4),(78594,4),(78604,4),(78624,4),(78627,4),(78630,4),(78635,4),(78639,4),(78655,4),(78665,4),(78666,4),(78694,4),(78697,4),(78700,4),(78702,4),(78706,4),(78716,4),(78724,4),(78725,4),(78728,4),(78731,4),(78736,4),(78750,4),(78758,4),(78764,4),(78770,4),(78793,4),(78794,4),(78800,4),(78811,4),(78815,4),(78816,4),(78852,4),(78858,4),(78867,4),(78869,4),(78875,4),(78879,4),(78887,4),(78890,4),(78892,4),(78900,4),(78906,4),(78910,4),(78914,4),(78920,4),(78922,4),(78932,4),(78934,4),(78935,4),(78936,4),(78937,4),(78958,4),(78959,4),(78961,4),(78966,4),(78967,4),(78976,4),(78981,4),(78989,4),(78995,4),(79003,4),(79007,4),(79017,4),(79021,4),(79025,4),(79028,4),(79032,4),(79033,4),(79048,4),(79061,4),(79066,4),(79076,4),(79082,4),(79084,4),(79088,4),(79092,4),(79095,4),(79096,4),(79098,4),(79103,4),(79105,4),(79107,4),(79129,4),(79130,4),(79132,4),(79134,4),(79140,4),(79145,4),(79148,4),(79153,4),(79154,4),(79157,4),(79164,4),(79167,4),(79172,4),(79176,4),(79177,4),(79181,4),(79196,4),(79212,4),(79214,4),(79229,4),(79239,4),(79240,4),(79248,4),(79254,4),(79263,4),(79265,4),(79266,4),(79271,4),(79272,4),(79275,4),(79288,4),(79294,4),(79296,4),(79301,4),(79302,4),(79316,4),(79322,4),(79328,4),(79333,4),(79335,4),(79336,4),(79344,4),(79372,4),(79387,4),(79396,4),(79400,4),(79401,4),(79402,4),(79403,4),(79408,4),(79412,4),(79414,4),(79420,4),(79425,4),(79428,4),(79432,4),(79434,4),(79436,4),(79440,4),(79446,4),(79447,4),(79460,4),(79470,4),(79472,4),(79473,4),(79477,4),(79481,4),(79483,4),(79493,4),(79498,4),(79519,4),(79524,4),(79534,4),(79540,4),(79544,4),(79548,4),(79553,4),(79558,4),(79577,4),(79578,4),(79579,4),(79587,4),(79608,4),(79614,4),(79628,4),(79629,4),(79635,4),(79645,4),(79651,4),(79658,4),(79667,4),(79668,4),(79669,4),(79675,4),(79690,4),(79705,4),(79730,4),(79739,4),(79742,4),(79752,4),(79761,4),(79762,4),(79774,4),(79782,4),(79789,4),(79799,4),(79800,4),(79811,4),(79819,4),(79821,4),(79830,4),(79841,4),(79845,4),(79855,4),(79859,4),(79861,4),(79863,4),(79873,4),(79878,4),(79880,4),(79886,4),(79891,4),(79906,4),(79918,4),(79930,4),(79931,4),(79938,4),(79939,4),(79945,4),(79953,4),(79955,4),(79974,4),(79993,4),(79996,4),(79997,4),(80014,4),(80021,4),(80023,4),(80036,4),(80039,4),(80041,4),(80044,4),(80046,4),(80049,4),(80050,4),(80054,4),(80058,4),(80061,4),(80062,4),(80069,4),(80075,4),(80078,4),(80092,4),(80099,4),(80107,4),(80116,4),(80118,4),(80139,4),(80142,4),(80143,4),(80159,4),(80161,4),(80171,4),(80172,4),(80173,4),(80181,4),(80182,4),(80191,4),(80192,4),(80196,4),(80205,4),(80207,4),(80221,4),(80222,4),(80224,4),(80232,4),(80235,4),(80237,4),(80239,4),(80243,4),(80245,4),(80254,4),(80255,4),(80260,4),(80266,4),(80271,4),(80272,4),(80284,4),(80299,4),(80304,4),(80314,4),(80337,4),(80338,4),(80346,4),(80351,4),(80354,4),(80364,4),(80367,4),(80369,4),(80371,4),(80372,4),(80376,4),(80377,4),(80383,4),(80384,4),(80391,4),(80394,4),(80398,4),(80404,4),(80405,4),(80409,4),(80412,4),(80424,4),(80431,4),(80453,4),(80460,4),(80471,4),(80472,4),(80494,4),(80499,4),(80501,4),(80503,4),(80506,4),(80511,4),(80512,4),(80522,4),(80536,4),(80550,4),(80554,4),(80563,4),(80565,4),(80568,4),(80574,4),(80578,4),(80580,4),(80586,4),(80587,4),(80595,4),(80600,4),(80603,4),(80605,4),(80606,4),(80611,4),(80614,4),(80625,4),(80627,4),(80628,4),(80634,4),(80635,4),(80639,4),(80640,4),(80643,4),(80644,4),(80656,4),(80657,4),(80671,4),(80673,4),(80682,4),(80686,4),(80688,4),(80691,4),(80692,4),(80695,4),(80697,4),(80698,4),(80700,4),(80701,4),(80714,4),(80715,4),(80718,4),(80727,4),(80731,4),(80736,4),(80741,4),(80746,4),(80747,4),(80750,4),(80754,4),(80759,4),(80767,4),(80768,4),(80790,4),(80797,4),(80798,4),(80804,4),(80806,4),(80810,4),(80825,4),(80827,4),(80829,4),(80834,4),(80836,4),(80840,4),(80862,4),(80866,4),(80869,4),(80871,4),(80872,4),(80873,4),(80886,4),(80895,4),(80899,4),(80902,4),(80910,4),(80928,4),(80933,4),(80934,4),(80936,4),(80950,4),(80971,4),(80973,4),(80975,4),(80982,4),(81001,4),(81031,4),(81032,4),(81035,4),(81045,4),(81050,4),(81053,4),(81054,4),(81057,4),(81059,4),(81066,4),(81068,4),(81073,4),(81078,4),(81080,4),(81083,4),(81086,4),(81095,4),(81103,4),(81104,4),(81106,4),(81110,4),(81112,4),(81114,4),(81125,4),(81134,4),(81137,4),(81138,4),(81163,4),(81173,4),(81176,4),(81185,4),(81194,4),(81200,4),(81201,4),(81203,4),(81208,4),(81209,4),(81217,4),(81218,4),(81227,4),(81234,4),(81237,4),(81242,4),(81244,4),(81245,4),(81247,4),(81257,4),(81276,4),(81297,4),(81320,4),(81323,4),(81325,4),(81335,4),(81343,4),(81344,4),(81362,4),(81366,4),(81371,4),(81386,4),(81405,4),(81418,4),(81423,4),(81432,4),(81464,4),(81469,4),(81470,4),(81480,4),(81483,4),(81484,4),(81487,4),(81506,4),(81514,4),(81515,4),(81517,4),(81522,4),(81523,4),(81531,4),(81532,4),(81557,4),(81558,4),(81562,4),(81567,4),(81573,4),(81579,4),(81581,4),(81589,4),(81595,4),(81597,4),(81604,4),(81609,4),(81616,4),(81628,4),(81633,4),(81649,4),(81651,4),(81654,4),(81656,4),(81660,4),(81661,4),(81669,4),(81679,4),(81684,4),(81687,4),(81690,4),(81701,4),(81706,4),(81711,4),(81713,4),(81714,4),(81725,4),(81742,4),(81744,4),(81748,4),(81749,4),(81751,4),(81767,4),(81768,4),(81771,4),(81776,4),(81781,4),(81783,4),(81784,4),(81791,4),(81794,4),(81813,4),(81838,4),(81843,4),(81849,4),(81861,4),(81864,4),(81865,4),(81868,4),(81869,4),(81874,4),(81877,4),(81882,4),(81886,4),(81891,4),(81900,4),(81911,4),(81912,4),(81923,4),(81932,4),(81937,4),(81938,4),(81951,4),(81953,4),(81970,4),(81974,4),(81987,4),(81996,4),(81997,4),(82008,4),(82012,4),(82018,4),(82021,4),(82034,4),(82035,4),(82043,4),(82048,4),(82050,4),(82053,4),(82059,4),(82065,4),(82082,4),(82091,4),(82093,4),(82113,4),(82121,4),(82125,4),(82126,4),(82132,4),(82137,4),(82139,4),(82144,4),(82145,4),(82150,4),(82155,4),(82166,4),(82183,4),(82202,4),(82208,4),(82209,4),(82212,4),(82224,4),(82226,4),(82228,4),(82231,4),(82237,4),(82246,4),(82247,4),(82250,4),(82251,4),(82252,4),(82256,4),(82262,4),(82268,4),(82276,4),(82281,4),(82284,4),(82287,4),(82288,4),(82295,4),(82308,4),(82311,4),(82313,4),(82323,4),(82331,4),(82334,4),(82340,4),(82351,4),(82355,4),(82367,4),(82373,4),(82374,4),(82380,4),(82382,4),(82396,4),(82409,4),(82415,4),(82417,4),(82431,4),(82432,4),(82435,4),(82444,4),(82445,4),(82450,4),(82451,4),(82474,4),(82476,4),(82485,4),(82486,4),(82488,4),(82506,4),(82509,4),(82512,4),(82518,4),(82519,4),(82532,4),(82539,4),(82547,4),(82548,4),(82549,4),(82553,4),(82562,4),(82563,4),(82568,4),(82570,4),(82592,4),(82593,4),(82599,4),(82616,4),(82619,4),(82621,4),(82645,4),(82647,4),(82650,4),(82653,4),(82655,4),(82656,4),(82660,4),(82661,4),(82663,4),(82669,4),(82681,4),(82682,4),(82685,4),(82694,4),(82704,4),(82707,4),(82711,4),(82713,4),(82720,4),(82726,4),(82729,4),(82733,4),(82734,4),(82736,4),(82741,4),(82746,4),(82765,4),(82777,4),(82779,4),(82782,4),(82788,4),(82791,4),(82798,4),(82800,4),(82804,4),(82808,4),(82812,4),(82825,4),(82838,4),(82842,4),(82854,4),(82860,4),(82864,4),(82871,4),(82872,4),(82899,4),(82900,4),(82913,4),(82915,4),(82916,4),(82918,4),(82927,4),(82929,4),(82931,4),(82934,4),(82952,4),(82959,4),(82969,4),(82975,4),(82994,4),(82999,4),(83001,4),(83014,4),(83015,4),(83024,4),(83025,4),(83027,4),(83028,4),(83032,4),(83047,4),(83048,4),(83054,4),(83058,4),(83060,4),(83066,4),(83067,4),(83069,4),(83093,4),(83098,4),(83109,4),(83112,4),(83115,4),(83117,4),(83119,4),(83121,4),(83132,4),(83137,4),(83138,4),(83153,4),(83154,4),(83157,4),(83165,4),(83174,4),(83191,4),(83196,4),(83197,4),(83201,4),(83212,4),(83227,4),(83229,4),(83235,4),(83244,4),(83254,4),(83271,4),(83275,4),(83277,4),(83279,4),(83281,4),(83282,4),(83296,4),(83311,4),(83315,4),(83320,4),(83324,4),(83326,4),(83334,4),(83336,4),(83340,4),(83344,4),(83345,4),(83369,4),(83370,4),(83375,4),(83392,4),(83398,4),(83408,4),(83413,4),(83415,4),(83417,4),(83432,4),(83453,4),(83454,4),(83471,4),(83472,4),(83478,4),(83480,4),(83484,4),(83489,4),(83490,4),(83528,4),(83530,4),(83532,4),(83535,4),(83539,4),(83540,4),(83553,4),(83554,4),(83557,4),(83560,4),(83572,4),(83579,4),(83582,4),(83589,4),(83596,4),(83597,4),(83598,4),(83603,4),(83619,4),(83633,4),(83634,4),(83656,4),(83657,4),(83661,4),(83666,4),(83676,4),(83678,4),(83684,4),(83688,4),(83694,4),(83702,4),(83707,4),(83715,4),(83718,4),(83726,4),(83732,4),(83737,4),(83743,4),(83766,4),(83769,4),(83772,4),(83778,4),(83789,4),(83816,4),(83818,4),(83835,4),(83853,4),(83854,4),(83856,4),(83857,4),(83859,4),(83862,4),(83872,4),(83877,4),(83882,4),(83883,4),(83886,4),(83887,4),(83891,4),(83894,4),(83895,4),(83909,4),(83911,4),(83913,4),(83917,4),(83925,4),(83930,4),(83950,4),(83956,4),(83972,4),(83980,4),(83982,4),(83987,4),(83994,4),(83996,4),(83997,4),(84004,4),(84015,4),(84019,4),(84032,4),(84037,4),(84039,4),(84060,4),(84061,4),(84062,4),(84069,4),(84073,4),(84076,4),(84089,4),(84092,4),(84099,4),(84105,4),(84117,4),(84118,4),(84120,4),(84121,4),(84136,4),(84149,4),(84161,4),(84184,4),(84186,4),(84189,4),(84192,4),(84194,4),(84201,4),(84214,4),(84221,4),(84223,4),(84229,4),(84233,4),(84237,4),(84242,4),(84245,4),(84247,4),(84252,4),(84253,4),(84261,4),(84263,4),(84291,4),(84296,4),(84302,4),(84310,4),(84316,4),(84331,4),(84353,4),(84374,4),(84379,4),(84380,4),(84389,4),(84398,4),(84403,4),(84413,4),(84416,4),(84419,4),(84431,4),(84432,4),(84434,4),(84437,4),(84438,4),(84439,4),(84449,4),(84456,4),(84459,4),(84464,4),(84467,4),(84473,4),(84487,4),(84492,4),(84493,4),(84495,4),(84502,4),(84506,4),(84511,4),(84514,4),(84525,4),(84533,4),(84537,4),(84545,4),(84566,4),(84570,4),(84572,4),(84573,4),(84575,4),(84586,4),(84587,4),(84603,4),(84604,4),(84605,4),(84619,4),(84625,4),(84626,4),(84631,4),(84636,4),(84639,4),(84644,4),(84650,4),(84651,4),(84663,4),(84667,4),(84671,4),(84682,4),(84691,4),(84703,4),(84706,4),(84713,4),(84716,4),(84717,4),(84725,4),(84727,4),(84731,4),(84732,4),(84750,4),(84751,4),(84757,4),(84760,4),(84767,4),(84779,4),(84780,4),(84787,4),(84793,4),(84801,4),(84803,4),(84806,4),(84813,4),(84816,4),(84817,4),(84830,4),(84833,4),(84852,4),(84854,4),(84858,4),(84859,4),(84867,4),(84870,4),(84872,4),(84881,4),(84883,4),(84884,4),(84892,4),(84893,4),(84902,4),(84916,4),(84919,4),(84920,4),(84921,4),(84936,4),(84962,4),(84976,4),(84983,4),(84990,4),(84991,4),(84993,4),(84996,4),(85005,4),(85021,4),(85027,4),(85031,4),(85038,4),(85046,4),(85049,4),(85051,4),(85053,4),(85056,4),(85059,4),(85072,4),(85076,4),(85086,4),(85087,4),(85088,4),(85089,4),(85096,4),(85105,4),(85110,4),(85114,4),(85116,4),(85123,4),(85128,4),(85133,4),(85148,4),(85152,4),(85157,4),(85163,4),(85166,4),(85179,4),(85182,4),(85188,4),(85190,4),(85199,4),(85204,4),(85205,4),(85219,4),(85221,4),(85228,4),(85230,4),(85235,4),(85241,4),(85252,4),(85255,4),(85257,4),(85265,4),(85276,4),(85281,4),(85284,4),(85289,4),(85298,4),(85299,4),(85302,4),(85307,4),(85317,4),(85319,4),(85334,4),(85337,4),(85346,4),(85348,4),(85352,4),(85354,4),(85355,4),(85356,4),(85360,4),(85364,4),(85366,4),(85370,4),(85376,4),(85377,4),(85381,4),(85382,4),(85387,4),(85393,4),(85399,4),(85400,4),(85401,4),(85402,4),(85407,4),(85412,4),(85422,4),(85425,4),(85426,4),(85437,4),(85455,4),(85462,4),(85464,4),(85465,4),(85471,4),(85472,4),(85477,4),(85481,4),(85501,4),(85509,4),(85511,4),(85512,4),(85516,4),(85536,4),(85537,4),(85541,4),(85551,4),(85557,4),(85570,4),(85572,4),(85575,4),(85583,4),(85589,4),(85599,4),(85600,4),(85604,4),(85608,4),(85614,4),(85616,4),(85621,4),(85622,4),(85628,4),(85629,4),(85635,4),(85647,4),(85652,4),(85660,4),(85661,4),(85665,4),(85666,4),(85674,4),(85694,4),(85701,4),(85709,4),(85712,4),(85721,4),(85723,4),(85735,4),(85736,4),(85743,4),(85744,4),(85746,4),(85756,4),(85762,4),(85773,4),(85774,4),(85780,4),(85785,4),(85789,4),(85791,4),(85802,4),(85803,4),(85806,4),(85813,4),(85814,4),(85818,4),(85824,4),(85826,4),(85833,4),(85851,4),(85855,4),(85859,4),(85861,4),(85870,4),(85878,4),(85884,4),(85886,4),(85888,4),(85891,4),(85894,4),(85895,4),(85897,4),(85912,4),(85930,4),(85939,4),(85942,4),(85967,4),(85968,4),(85970,4),(85974,4),(85975,4),(85979,4),(85981,4),(85986,4),(86006,4),(86013,4),(86028,4),(86029,4),(86030,4),(86033,4),(86040,4),(86044,4),(86045,4),(86052,4),(86057,4),(86061,4),(86063,4),(86064,4),(86067,4),(86079,4),(86082,4),(86088,4),(86091,4),(86092,4),(86093,4),(86097,4),(86102,4),(86105,4),(86113,4),(86131,4),(86134,4),(86135,4),(86154,4),(86155,4),(86160,4),(86171,4),(86174,4),(86175,4),(86181,4),(86182,4),(86188,4),(86195,4),(86196,4),(86198,4),(86201,4),(86202,4),(86211,4),(86221,4),(86223,4),(86230,4),(86231,4),(86233,4),(86235,4),(86246,4),(86248,4),(86252,4),(86255,4),(86257,4),(86259,4),(86264,4),(86270,4),(86280,4),(86281,4),(86289,4),(86290,4),(86291,4),(86299,4),(86301,4),(86310,4),(86313,4),(86315,4),(86322,4),(86324,4),(86327,4),(86334,4),(86338,4),(86342,4),(86354,4),(86355,4),(86361,4),(86363,4),(86368,4),(86370,4),(86374,4),(86375,4),(86376,4),(86377,4),(86380,4),(86381,4),(86388,4),(86399,4),(86401,4),(86406,4),(86409,4),(86422,4),(86423,4),(86428,4),(86429,4),(86431,4),(86436,4),(86446,4),(86452,4),(86455,4),(86457,4),(86468,4),(86470,4),(86472,4),(86474,4),(86485,4),(86486,4),(86496,4),(86503,4),(86505,4),(86506,4),(86508,4),(86515,4),(86525,4),(86528,4),(86529,4),(86543,4),(86557,4),(86572,4),(86578,4),(86591,4),(86597,4),(86605,4),(86611,4),(86613,4),(86621,4),(86624,4),(86630,4),(86632,4),(86636,4),(86637,4),(86664,4),(86669,4),(86676,4),(86687,4),(86691,4),(86692,4),(86701,4),(86716,4),(86723,4),(86726,4),(86731,4),(86738,4),(86739,4),(86740,4),(86742,4),(86762,4),(86765,4),(86768,4),(86770,4),(86777,4),(86788,4),(86793,4),(86806,4),(86807,4),(86816,4),(86819,4),(86826,4),(86839,4),(86857,4),(86874,4),(86875,4),(86877,4),(86892,4),(86894,4),(86900,4),(86902,4),(86907,4),(86908,4),(86921,4),(86924,4),(86935,4),(86943,4),(86944,4),(86963,4),(86965,4),(86972,4),(86975,4),(86976,4),(86993,4),(87006,4),(87008,4),(87014,4),(87030,4),(87033,4),(87036,4),(87058,4),(87062,4),(87063,4),(87072,4),(87073,4),(87092,4),(87102,4),(87114,4),(87125,4),(87128,4),(87146,4),(87149,4),(87153,4),(87156,4),(87160,4),(87176,4),(87180,4),(87188,4),(87197,4),(87210,4),(87213,4),(87216,4),(87217,4),(87228,4),(87230,4),(87251,4),(87252,4),(87257,4),(87258,4),(87267,4),(87270,4),(87279,4),(87296,4),(87305,4),(87322,4),(87325,4),(87327,4),(87331,4),(87337,4),(87345,4),(87347,4),(87362,4),(87366,4),(87370,4),(87393,4),(87395,4),(87416,4),(87420,4),(87425,4),(87428,4),(87446,4),(87447,4),(87458,4),(87471,4),(87472,4),(87476,4),(87479,4),(87483,4),(87487,4),(87500,4),(87506,4),(87507,4),(87513,4),(87515,4),(87517,4),(87523,4),(87524,4),(87528,4),(87530,4),(87532,4),(87534,4),(87535,4),(87541,4),(87552,4),(87557,4),(87571,4),(87584,4),(87597,4),(87605,4),(87606,4),(87611,4),(87620,4),(87623,4),(87626,4),(87630,4),(87641,4),(87647,4),(87649,4),(87665,4),(87669,4),(87671,4),(87675,4),(87676,4),(87684,4),(87686,4),(87689,4),(87705,4),(87707,4),(87709,4),(87712,4),(87719,4),(87725,4),(87726,4),(87727,4),(87740,4),(87741,4),(87745,4),(87753,4),(87757,4),(87766,4),(87770,4),(87772,4),(87776,4),(87789,4),(87792,4),(87807,4),(87819,4),(87820,4),(87821,4),(87825,4),(87827,4),(87843,4),(87855,4),(87859,4),(87860,4),(87861,4),(87880,4),(87884,4),(87888,4),(87894,4),(87903,4),(87912,4),(87919,4),(87922,4),(87926,4),(87927,4),(87929,4),(87930,4),(87932,4),(87938,4),(87941,4),(87955,4),(87956,4),(87962,4),(87972,4),(87974,4),(87984,4),(87987,4),(87991,4),(87994,4),(87997,4),(88002,4),(88008,4),(88015,4),(88026,4),(88031,4),(88032,4),(88033,4),(88039,4),(88043,4),(88047,4),(88050,4),(88057,4),(88058,4),(88097,4),(88099,4),(88111,4),(88124,4),(88138,4),(88139,4),(88144,4),(88146,4),(88158,4),(88164,4),(88168,4),(88170,4),(88178,4),(88189,4),(88191,4),(88193,4),(88195,4),(88198,4),(88213,4),(88214,4),(88215,4),(88226,4),(88235,4),(88239,4),(88243,4),(88244,4),(88247,4),(88248,4),(88249,4),(88253,4),(88256,4),(88260,4),(88262,4),(88263,4),(88273,4),(88274,4),(88284,4),(88289,4),(88294,4),(88315,4),(88318,4),(88321,4),(88328,4),(88333,4),(88334,4),(88348,4),(88353,4),(88363,4),(88364,4),(88373,4),(88374,4),(88379,4),(88383,4),(88396,4),(88398,4),(88399,4),(88413,4),(88419,4),(88421,4),(88428,4),(88435,4),(88436,4),(88437,4),(88438,4),(88447,4),(88448,4),(88451,4),(88456,4),(88459,4),(88466,4),(88472,4),(88473,4),(88478,4),(88481,4),(88500,4),(88502,4),(88503,4),(88505,4),(88506,4),(88509,4),(88512,4),(88517,4),(88524,4),(88528,4),(88530,4),(88532,4),(88540,4),(88541,4),(88542,4),(88544,4),(88545,4),(88547,4),(88549,4),(88561,4),(88565,4),(88567,4),(88579,4),(88581,4),(88584,4),(88586,4),(88589,4),(88596,4),(88600,4),(88623,4),(88625,4),(88626,4),(88629,4),(88632,4),(88634,4),(88635,4),(88639,4),(88649,4),(88655,4),(88664,4),(88665,4),(88671,4),(88677,4),(88683,4),(88685,4),(88686,4),(88689,4),(88694,4),(88695,4),(88697,4),(88705,4),(88722,4),(88726,4),(88733,4),(88738,4),(88739,4),(88741,4),(88746,4),(88757,4),(88758,4),(88769,4),(88770,4),(88772,4),(88773,4),(88775,4),(88776,4),(88785,4),(88788,4),(88793,4),(88802,4),(88807,4),(88817,4),(88826,4),(88827,4),(88833,4),(88843,4),(88850,4),(88857,4),(88859,4),(88865,4),(88866,4),(88889,4),(88890,4),(88893,4),(88895,4),(88897,4),(88900,4),(88903,4),(88907,4),(88908,4),(88913,4),(88915,4),(88931,4),(88944,4),(88955,4),(88956,4),(88962,4),(88963,4),(88967,4),(88968,4),(88973,4),(88981,4),(88982,4),(88985,4),(88992,4),(88996,4),(88997,4),(89003,4),(89008,4),(89010,4),(89019,4),(89020,4),(89026,4),(89036,4),(89042,4),(89043,4),(89046,4),(89059,4),(89060,4),(89082,4),(89106,4),(89111,4),(89112,4),(89119,4),(89120,4),(89121,4),(89128,4),(89134,4),(89139,4),(89140,4),(89141,4),(89152,4),(89153,4),(89155,4),(89156,4),(89157,4),(89163,4),(89164,4),(89165,4),(89175,4),(89182,4),(89186,4),(89194,4),(89197,4),(89204,4),(89213,4),(89225,4),(89232,4),(89234,4),(89236,4),(89252,4),(89266,4),(89280,4),(89288,4),(89292,4),(89299,4),(89304,4),(89305,4),(89306,4),(89310,4),(89317,4),(89335,4),(89336,4),(89337,4),(89338,4),(89342,4),(89363,4),(89366,4),(89374,4),(89375,4),(89376,4),(89378,4),(89380,4),(89382,4),(89389,4),(89391,4),(89406,4),(89412,4),(89432,4),(89434,4),(89441,4),(89442,4),(89445,4),(89446,4),(89449,4),(89457,4),(89459,4),(89466,4),(89469,4),(89492,4),(89504,4),(89505,4),(89523,4),(89528,4),(89536,4),(89540,4),(89542,4),(89545,4),(89547,4),(89549,4),(89553,4),(89557,4),(89558,4),(89561,4),(89579,4),(89582,4),(89586,4),(89591,4),(89596,4),(89600,4),(89616,4),(89620,4),(89622,4),(89625,4),(89631,4),(89632,4),(89633,4),(89634,4),(89638,4),(89644,4),(89647,4),(89650,4),(89655,4),(89661,4),(89669,4),(89681,4),(89682,4),(89687,4),(89688,4),(89689,4),(89692,4),(89705,4),(89707,4),(89717,4),(89721,4),(89729,4),(89731,4),(89732,4),(89738,4),(89742,4),(89752,4),(89753,4),(89765,4),(89767,4),(89773,4),(89785,4),(89792,4),(89801,4),(89802,4),(89813,4),(89819,4),(89822,4),(89831,4),(89833,4),(89860,4),(89883,4),(89906,4),(89909,4),(89912,4),(89913,4),(89921,4),(89928,4),(89939,4),(89946,4),(89953,4),(89955,4),(89956,4),(89958,4),(89959,4),(89972,4),(89975,4),(89976,4),(89977,4),(89981,4),(89984,4),(89994,4),(90011,4),(90013,4),(90015,4),(90026,4),(90037,4),(90049,4),(90052,4),(90053,4),(90064,4),(90066,4),(90074,4),(90075,4),(90080,4),(90087,4),(90088,4),(90091,4),(90097,4),(90113,4),(90117,4),(90122,4),(90133,4),(90145,4),(90147,4),(90155,4),(90160,4),(90174,4),(90178,4),(90180,4),(90184,4),(90186,4),(90191,4),(90204,4),(90209,4),(90211,4),(90212,4),(90218,4),(90233,4),(90235,4),(90242,4),(90245,4),(90246,4),(90251,4),(90252,4),(90253,4),(90257,4),(90266,4),(90274,4),(90293,4),(90294,4),(90303,4),(90308,4),(90309,4),(90312,4),(90314,4),(90329,4),(90338,4),(90340,4),(90345,4),(90350,4),(90352,4),(90359,4),(90365,4),(90368,4),(90370,4),(90372,4),(90374,4),(90384,4),(90400,4),(90405,4),(90412,4),(90416,4),(90430,4),(90433,4),(90436,4),(90451,4),(90452,4),(90453,4),(90455,4),(90458,4),(90459,4),(90468,4),(90472,4),(90473,4),(90478,4),(90492,4),(90495,4),(90506,4),(90508,4),(90510,4),(90520,4),(90551,4),(90558,4),(90562,4),(90563,4),(90566,4),(90572,4),(90574,4),(90589,4),(90593,4),(90604,4),(90616,4),(90619,4),(90621,4),(90628,4),(90637,4),(90644,4),(90658,4),(90663,4),(90665,4),(90668,4),(90670,4),(90676,4),(90689,4),(90694,4),(90696,4),(90718,4),(90719,4),(90722,4),(90759,4),(90766,4),(90769,4),(90774,4),(90776,4),(90791,4),(90795,4),(90797,4),(90800,4),(90804,4),(90805,4),(90809,4),(90818,4),(90829,4),(90833,4),(90838,4),(90841,4),(90848,4),(90854,4),(90870,4),(90871,4),(90878,4),(90887,4),(90889,4),(90897,4),(90900,4),(90902,4),(90903,4),(90909,4),(90911,4),(90918,4),(90934,4),(90939,4),(90947,4),(90950,4),(90953,4),(90955,4),(90959,4),(90964,4),(90983,4),(91001,4),(91009,4),(91013,4),(91019,4),(91023,4),(91026,4),(91028,4),(91033,4),(91037,4),(91038,4),(91048,4),(91051,4),(91052,4),(91055,4),(91063,4),(91065,4),(91077,4),(91083,4),(91084,4),(91086,4),(91090,4),(91094,4),(91096,4),(91097,4),(91100,4),(91101,4),(91106,4),(91117,4),(91118,4),(91121,4),(91123,4),(91139,4),(91142,4),(91143,4),(91145,4),(91148,4),(91162,4),(91165,4),(91170,4),(91183,4),(91184,4),(91186,4),(91187,4),(91188,4),(91191,4),(91201,4),(91204,4),(91213,4),(91218,4),(91222,4),(91224,4),(91225,4),(91229,4),(91234,4),(91257,4),(91264,4),(91272,4),(91274,4),(91277,4),(91283,4),(91294,4),(91296,4),(91308,4),(91313,4),(91314,4),(91316,4),(91323,4),(91324,4),(91326,4),(91329,4),(91339,4),(91345,4),(91346,4),(91359,4),(91362,4),(91364,4),(91368,4),(91369,4),(91372,4),(91374,4),(91375,4),(91382,4),(91390,4),(91397,4),(91398,4),(91415,4),(91418,4),(91432,4),(91447,4),(91449,4),(91451,4),(91452,4),(91456,4),(91461,4),(91467,4),(91468,4),(91471,4),(91475,4),(91477,4),(91478,4),(91479,4),(91480,4),(91481,4),(91486,4),(91525,4),(91531,4),(91534,4),(91544,4),(91546,4),(91550,4),(91551,4),(91552,4),(91555,4),(91559,4),(91560,4),(91568,4),(91569,4),(91575,4),(91579,4),(91582,4),(91612,4),(91616,4),(91620,4),(91622,4),(91624,4),(91631,4),(91635,4),(91641,4),(91644,4),(91652,4),(91661,4),(91663,4),(91674,4),(91675,4),(91681,4),(91686,4),(91692,4),(91700,4),(91709,4),(91712,4),(91714,4),(91719,4),(91725,4),(91750,4),(91756,4),(91766,4),(91768,4),(91783,4),(91791,4),(91792,4),(91793,4),(91798,4),(91801,4),(91805,4),(91810,4),(91814,4),(91819,4),(91820,4),(91839,4),(91842,4),(91846,4),(91847,4),(91849,4),(91856,4),(91857,4),(91859,4),(91862,4),(91871,4),(91893,4),(91895,4),(91898,4),(91901,4),(91911,4),(91922,4),(91924,4),(91930,4),(91937,4),(91938,4),(91939,4),(91942,4),(91943,4),(91948,4),(91961,4),(91964,4),(91971,4),(91982,4),(91985,4),(91988,4),(91997,4),(92000,4),(92011,4),(92012,4),(92026,4),(92042,4),(92044,4),(92049,4),(92063,4),(92064,4),(92073,4),(92087,4),(92089,4),(92091,4),(92101,4),(92105,4),(92106,4),(92110,4),(92143,4),(92186,4),(92206,4),(92213,4),(92215,4),(92217,4),(92225,4),(92226,4),(92237,4),(92248,4),(92263,4),(92266,4),(92272,4),(92278,4),(92281,4),(92289,4),(92292,4),(92297,4),(92298,4),(92303,4),(92304,4),(92310,4),(92311,4),(92319,4),(92320,4),(92329,4),(92342,4),(92343,4),(92350,4),(92361,4),(92364,4),(92368,4),(92370,4),(92374,4),(92376,4),(92388,4),(92394,4),(92396,4),(92406,4),(92422,4),(92430,4),(92440,4),(92442,4),(92456,4),(92462,4),(92463,4),(92464,4),(92471,4),(92479,4),(92482,4),(92484,4),(92490,4),(92501,4),(92503,4),(92504,4),(92505,4),(92514,4),(92522,4),(92525,4),(92530,4),(92535,4),(92540,4),(92542,4),(92547,4),(92548,4),(92551,4),(92563,4),(92571,4),(92577,4),(92581,4),(92586,4),(92597,4),(92598,4),(92602,4),(92614,4),(92628,4),(92635,4),(92642,4),(92649,4),(92660,4),(92661,4),(92674,4),(92675,4),(92678,4),(92683,4),(92702,4),(92706,4),(92723,4),(92733,4),(92739,4),(92746,4),(92756,4),(92761,4),(92770,4),(92777,4),(92778,4),(92782,4),(92784,4),(92787,4),(92789,4),(92800,4),(92802,4),(92807,4),(92814,4),(92821,4),(92833,4),(92840,4),(92846,4),(92864,4),(92865,4),(92870,4),(92898,4),(92905,4),(92909,4),(92915,4),(92924,4),(92928,4),(92932,4),(92937,4),(92940,4),(92946,4),(92963,4),(92967,4),(92968,4),(92971,4),(92975,4),(92979,4),(92991,4),(92993,4),(93000,4),(93002,4),(93007,4),(93008,4),(93010,4),(93013,4),(93020,4),(93021,4),(93027,4),(93046,4),(93051,4),(93063,4),(93070,4),(93071,4),(93073,4),(93080,4),(93087,4),(93096,4),(93125,4),(93127,4),(93129,4),(93132,4),(93137,4),(93139,4),(93142,4),(93153,4),(93154,4),(93158,4),(93166,4),(93167,4),(93185,4),(93189,4),(93190,4),(93195,4),(93199,4),(93201,4),(93204,4),(93232,4),(93238,4),(93242,4),(93263,4),(93264,4),(93266,4),(93268,4),(93276,4),(93282,4),(93290,4),(93299,4),(93302,4),(93309,4),(93312,4),(93327,4),(93339,4),(93344,4),(93345,4),(93347,4),(93350,4),(93352,4),(93364,4),(93386,4),(93388,4),(93405,4),(93418,4),(93420,4),(93422,4),(93428,4),(93437,4),(93440,4),(93443,4),(93447,4),(93452,4),(93454,4),(93456,4),(93473,4),(93474,4),(93476,4),(93481,4),(93482,4),(93490,4),(93496,4),(93521,4),(93522,4),(93530,4),(93532,4),(93540,4),(93541,4),(93544,4),(93557,4),(93574,4),(93578,4),(93580,4),(93584,4),(93595,4),(93598,4),(93607,4),(93610,4),(93613,4),(93621,4),(93629,4),(93633,4),(93640,4),(93642,4),(93663,4),(93669,4),(93674,4),(93687,4),(93692,4),(93693,4),(93719,4),(93725,4),(93733,4),(93755,4),(93765,4),(93771,4),(93794,4),(93796,4),(93803,4),(93806,4),(93808,4),(93809,4),(93812,4),(93813,4),(93817,4),(93822,4),(93823,4),(93830,4),(93831,4),(93836,4),(93840,4),(93845,4),(93853,4),(93855,4),(93863,4),(93868,4),(93880,4),(93882,4),(93886,4),(93888,4),(93903,4),(93913,4),(93925,4),(93935,4),(93939,4),(93940,4),(93942,4),(93943,4),(93955,4),(93957,4),(93967,4),(93972,4),(93978,4),(93980,4),(93983,4),(93995,4),(94009,4),(94022,4),(94036,4),(94070,4),(94073,4),(94080,4),(94081,4),(94095,4),(94107,4),(94124,4),(94137,4),(94141,4),(94152,4),(94154,4),(94155,4),(94162,4),(94167,4),(94179,4),(94181,4),(94186,4),(94194,4),(94200,4),(94202,4),(94204,4),(94210,4),(94215,4),(94222,4),(94233,4),(94237,4),(94242,4),(94254,4),(94266,4),(94270,4),(94295,4),(94297,4),(94298,4),(94299,4),(94301,4),(94309,4),(94311,4),(94313,4),(94315,4),(94317,4),(94328,4),(94331,4),(94336,4),(94343,4),(94349,4),(94355,4),(94368,4),(94371,4),(94375,4),(94389,4),(94390,4),(94397,4),(94398,4),(94408,4),(94412,4),(94413,4),(94416,4),(94419,4),(94428,4),(94429,4),(94431,4),(94434,4),(94435,4),(94438,4),(94441,4),(94443,4),(94444,4),(94457,4),(94460,4),(94464,4),(94466,4),(94471,4),(94477,4),(94478,4),(94482,4),(94485,4),(94495,4),(94500,4),(94509,4),(94531,4),(94542,4),(94543,4),(94555,4),(94560,4),(94561,4),(94563,4),(94564,4),(94568,4),(94578,4),(94579,4),(94581,4),(94582,4),(94583,4),(94585,4),(94609,4),(94610,4),(94615,4),(94617,4),(94621,4),(94630,4),(94652,4),(94655,4),(94658,4),(94662,4),(94667,4),(94677,4),(94680,4),(94694,4),(94708,4),(94713,4),(94717,4),(94722,4),(94723,4),(94725,4),(94727,4),(94740,4),(94742,4),(94746,4),(94750,4),(94762,4),(94765,4),(94768,4),(94769,4),(94773,4),(94777,4),(94804,4),(94806,4),(94808,4),(94809,4),(94815,4),(94818,4),(94820,4),(94826,4),(94833,4),(94856,4),(94866,4),(94870,4),(94876,4),(94878,4),(94880,4),(94881,4),(94893,4),(94897,4),(94911,4),(94926,4),(94937,4),(94942,4),(94947,4),(94951,4),(94954,4),(94958,4),(94961,4),(94964,4),(94994,4),(95001,4),(95007,4),(95012,4),(95014,4),(95018,4),(95019,4),(95021,4),(95035,4),(95040,4),(95043,4),(95068,4),(95069,4),(95079,4),(95084,4),(95088,4),(95091,4),(95093,4),(95096,4),(95105,4),(95113,4),(95117,4),(95133,4),(95134,4),(95137,4),(95141,4),(95163,4),(95168,4),(95176,4),(95181,4),(95189,4),(95198,4),(95208,4),(95210,4),(95212,4),(95215,4),(95220,4),(95226,4),(95240,4),(95245,4),(95247,4),(95266,4),(95273,4),(95278,4),(95281,4),(95285,4),(95293,4),(95294,4),(95300,4),(95306,4),(95311,4),(95316,4),(95317,4),(95326,4),(95329,4),(95335,4),(95337,4),(95346,4),(95349,4),(95350,4),(95371,4),(95372,4),(95380,4),(95381,4),(95386,4),(95388,4),(95392,4),(95395,4),(95396,4),(95398,4),(95405,4),(95421,4),(95430,4),(95433,4),(95449,4),(95450,4),(95451,4),(95452,4),(95464,4),(95468,4),(95474,4),(95475,4),(95477,4),(95480,4),(95484,4),(95487,4),(95497,4),(95500,4),(95514,4),(95519,4),(95522,4),(95529,4),(95533,4),(95545,4),(95554,4),(95556,4),(95557,4),(95566,4),(95574,4),(95575,4),(95578,4),(95592,4),(95601,4),(95607,4),(95612,4),(95618,4),(95624,4),(95627,4),(95633,4),(95635,4),(95637,4),(95646,4),(95648,4),(95651,4),(95655,4),(95658,4),(95660,4),(95664,4),(95665,4),(95668,4),(95677,4),(95684,4),(95691,4),(95692,4),(95694,4),(95700,4),(95715,4),(95716,4),(95733,4),(95741,4),(95746,4),(95751,4),(95756,4),(95759,4),(95760,4),(95764,4),(95765,4),(95772,4),(95774,4),(95778,4),(95784,4),(95788,4),(95807,4),(95808,4),(95818,4),(95819,4),(95822,4),(95824,4),(95841,4),(95848,4),(95849,4),(95851,4),(95855,4),(95861,4),(95862,4),(95867,4),(95868,4),(95869,4),(95870,4),(95874,4),(95888,4),(95912,4),(95913,4),(95917,4),(95920,4),(95921,4),(95929,4),(95935,4),(95937,4),(95938,4),(95942,4),(95949,4),(95954,4),(95955,4),(95960,4),(95963,4),(95972,4),(95973,4),(95975,4),(95994,4),(96002,4),(96021,4),(96022,4),(96025,4),(96036,4),(96038,4),(96044,4),(96045,4),(96048,4),(96050,4),(96051,4),(96053,4),(96090,4),(96101,4),(96105,4),(96111,4),(96116,4),(96129,4),(96140,4),(96143,4),(96150,4),(96161,4),(96162,4),(96168,4),(96171,4),(96172,4),(96179,4),(96183,4),(96191,4),(96192,4),(96196,4),(96199,4),(96202,4),(96206,4),(96208,4),(96211,4),(96212,4),(96213,4),(96237,4),(96253,4),(96256,4),(96263,4),(96266,4),(96274,4),(96295,4),(96298,4),(96307,4),(96310,4),(96311,4),(96313,4),(96318,4),(96327,4),(96344,4),(96345,4),(96346,4),(96355,4),(96358,4),(96366,4),(96367,4),(96378,4),(96384,4),(96385,4),(96390,4),(96394,4),(96398,4),(96399,4),(96404,4),(96410,4),(96413,4),(96426,4),(96430,4),(96441,4),(96447,4),(96452,4),(96455,4),(96469,4),(96471,4),(96472,4),(96473,4),(96477,4),(96495,4),(96507,4),(96511,4),(96519,4),(96521,4),(96531,4),(96536,4),(96537,4),(96545,4),(96551,4),(96556,4),(96560,4),(96561,4),(96563,4),(96565,4),(96571,4),(96583,4),(96584,4),(96602,4),(96610,4),(96620,4),(96638,4),(96639,4),(96650,4),(96659,4),(96661,4),(96665,4),(96668,4),(96671,4),(96676,4),(96677,4),(96683,4),(96685,4),(96696,4),(96698,4),(96708,4),(96729,4),(96731,4),(96735,4),(96746,4),(96749,4),(96751,4),(96767,4),(96770,4),(96785,4),(96786,4),(96790,4),(96795,4),(96803,4),(96813,4),(96816,4),(96818,4),(96826,4),(96827,4),(96848,4),(96853,4),(96854,4),(96859,4),(96860,4),(96862,4),(96864,4),(96873,4),(96874,4),(96895,4),(96906,4),(96907,4),(96910,4),(96914,4),(96917,4),(96932,4),(96934,4),(96935,4),(96937,4),(96938,4),(96944,4),(96954,4),(96955,4),(96962,4),(96965,4),(96972,4),(96979,4),(96982,4),(96988,4),(96999,4),(97000,4),(97003,4),(97004,4),(97013,4),(97033,4),(97052,4),(97062,4),(97064,4),(97065,4),(97070,4),(97073,4),(97075,4),(97076,4),(97081,4),(97085,4),(97088,4),(97092,4),(97093,4),(97109,4),(97116,4),(97118,4),(97120,4),(97124,4),(97125,4),(97133,4),(97134,4),(97136,4),(97138,4),(97142,4),(97143,4),(97150,4),(97153,4),(97165,4),(97172,4),(97185,4),(97189,4),(97195,4),(97196,4),(97200,4),(97204,4),(97205,4),(97211,4),(97216,4),(97217,4),(97237,4),(97257,4),(97264,4),(97283,4),(97286,4),(97295,4),(97296,4),(97297,4),(97298,4),(97299,4),(97306,4),(97314,4),(97332,4),(97334,4),(97345,4),(97363,4),(97365,4),(97377,4),(97378,4),(97383,4),(97392,4),(97398,4),(97411,4),(97412,4),(97421,4),(97424,4),(97426,4),(97431,4),(97433,4),(97445,4),(97456,4),(97464,4),(97466,4),(97468,4),(97479,4),(97485,4),(97488,4),(97508,4),(97519,4),(97527,4),(97529,4),(97534,4),(97536,4),(97548,4),(97550,4),(97562,4),(97587,4),(97588,4),(97589,4),(97593,4),(97594,4),(97607,4),(97610,4),(97613,4),(97618,4),(97628,4),(97630,4),(97631,4),(97642,4),(97652,4),(97653,4),(97678,4),(97681,4),(97685,4),(97687,4),(97688,4),(97691,4),(97695,4),(97720,4),(97744,4),(97745,4),(97746,4),(97756,4),(97757,4),(97760,4),(97768,4),(97777,4),(97786,4),(97787,4),(97791,4),(97792,4),(97794,4),(97813,4),(97814,4),(97819,4),(97836,4),(97837,4),(97846,4),(97859,4),(97865,4),(97887,4),(97895,4),(97896,4),(97897,4),(97904,4),(97909,4),(97914,4),(97920,4),(97926,4),(97927,4),(97937,4),(97939,4),(97942,4),(97944,4),(97946,4),(97954,4),(97963,4),(97985,4),(97989,4),(97991,4),(97998,4),(98010,4),(98019,4),(98025,4),(98038,4),(98042,4),(98043,4),(98062,4),(98067,4),(98068,4),(98086,4),(98087,4),(98090,4),(98098,4),(98103,4),(98104,4),(98114,4),(98116,4),(98121,4),(98125,4),(98130,4),(98131,4),(98136,4),(98137,4),(98147,4),(98155,4),(98159,4),(98167,4),(98174,4),(98187,4),(98193,4),(98211,4),(98218,4),(98220,4),(98226,4),(98231,4),(98232,4),(98235,4),(98238,4),(98253,4),(98265,4),(98270,4),(98272,4),(98276,4),(98278,4),(98281,4),(98282,4),(98290,4),(98291,4),(98295,4),(98302,4),(98306,4),(98310,4),(98311,4),(98322,4),(98326,4),(98327,4),(98334,4),(98341,4),(98343,4),(98349,4),(98358,4),(98365,4),(98372,4),(98378,4),(98380,4),(98385,4),(98393,4),(98407,4),(98412,4),(98422,4),(98423,4),(98427,4),(98431,4),(98446,4),(98447,4),(98449,4),(98452,4),(98484,4),(98485,4),(98486,4),(98494,4),(98502,4),(98509,4),(98515,4),(98520,4),(98521,4),(98522,4),(98525,4),(98528,4),(98530,4),(98531,4),(98532,4),(98533,4),(98541,4),(98550,4),(98557,4),(98562,4),(98563,4),(98574,4),(98580,4),(98584,4),(98591,4),(98598,4),(98602,4),(98603,4),(98605,4),(98609,4),(98611,4),(98634,4),(98635,4),(98636,4),(98647,4),(98650,4),(98658,4),(98660,4),(98662,4),(98664,4),(98666,4),(98667,4),(98672,4),(98679,4),(98691,4),(98704,4),(98708,4),(98713,4),(98726,4),(98729,4),(98740,4),(98749,4),(98751,4),(98752,4),(98754,4),(98756,4),(98761,4),(98766,4),(98767,4),(98773,4),(98783,4),(98785,4),(98791,4),(98793,4),(98801,4),(98803,4),(98810,4),(98814,4),(98818,4),(98823,4),(98835,4),(98841,4),(98848,4),(98850,4),(98865,4),(98872,4),(98877,4),(98883,4),(98896,4),(98902,4),(98903,4),(98909,4),(98912,4),(98926,4),(98927,4),(98934,4),(98951,4),(98955,4),(98974,4),(98979,4),(98980,4),(98984,4),(98987,4),(98988,4),(98994,4),(98995,4),(98998,4),(99000,4),(1,5),(2,5),(6,5),(10,5),(25,5),(30,5),(32,5),(38,5),(40,5),(56,5),(65,5),(66,5),(68,5),(70,5),(82,5),(83,5),(93,5),(101,5),(103,5),(110,5),(112,5),(113,5),(122,5),(130,5),(146,5),(157,5),(158,5),(160,5),(161,5),(169,5),(170,5),(191,5),(193,5),(200,5),(219,5),(222,5),(227,5),(229,5),(231,5),(249,5),(265,5),(270,5),(281,5),(290,5),(291,5),(295,5),(314,5),(319,5),(322,5),(324,5),(336,5),(366,5),(377,5),(391,5),(393,5),(401,5),(403,5),(404,5),(408,5),(412,5),(415,5),(417,5),(422,5),(433,5),(445,5),(446,5),(454,5),(457,5),(465,5),(486,5),(488,5),(489,5),(492,5),(495,5),(498,5),(500,5),(509,5),(512,5),(534,5),(535,5),(536,5),(546,5),(549,5),(563,5),(564,5),(575,5),(577,5),(578,5),(592,5),(593,5),(600,5),(602,5),(622,5),(627,5),(628,5),(632,5),(633,5),(638,5),(641,5),(644,5),(647,5),(648,5),(656,5),(657,5),(661,5),(663,5),(667,5),(669,5),(692,5),(702,5),(704,5),(720,5),(721,5),(728,5),(730,5),(735,5),(745,5),(748,5),(759,5),(764,5),(776,5),(780,5),(782,5),(789,5),(794,5),(800,5),(802,5),(815,5),(829,5),(840,5),(856,5),(857,5),(863,5),(867,5),(874,5),(876,5),(882,5),(883,5),(884,5),(886,5),(890,5),(892,5),(897,5),(904,5),(905,5),(913,5),(927,5),(930,5),(934,5),(937,5),(939,5),(945,5),(948,5),(954,5),(955,5),(981,5),(982,5),(984,5),(986,5),(988,5),(993,5),(995,5),(1003,5),(1005,5),(1012,5),(1015,5),(1021,5),(1042,5),(1043,5),(1045,5),(1048,5),(1064,5),(1072,5),(1076,5),(1077,5),(1079,5),(1084,5),(1093,5),(1101,5),(1108,5),(1114,5),(1119,5),(1123,5),(1124,5),(1127,5),(1129,5),(1131,5),(1135,5),(1143,5),(1155,5),(1159,5),(1160,5),(1166,5),(1171,5),(1177,5),(1180,5),(1183,5),(1187,5),(1193,5),(1195,5),(1198,5),(1201,5),(1210,5),(1213,5),(1224,5),(1230,5),(1231,5),(1237,5),(1248,5),(1250,5),(1255,5),(1270,5),(1282,5),(1292,5),(1294,5),(1298,5),(1299,5),(1300,5),(1303,5),(1304,5),(1309,5),(1316,5),(1321,5),(1335,5),(1342,5),(1346,5),(1347,5),(1352,5),(1353,5),(1358,5),(1361,5),(1365,5),(1369,5),(1370,5),(1373,5),(1384,5),(1397,5),(1398,5),(1399,5),(1403,5),(1410,5),(1416,5),(1426,5),(1429,5),(1432,5),(1435,5),(1455,5),(1458,5),(1466,5),(1470,5),(1472,5),(1488,5),(1489,5),(1490,5),(1495,5),(1507,5),(1508,5),(1509,5),(1513,5),(1524,5),(1527,5),(1530,5),(1531,5),(1540,5),(1546,5),(1552,5),(1555,5),(1562,5),(1564,5),(1565,5),(1579,5),(1599,5),(1602,5),(1604,5),(1625,5),(1627,5),(1629,5),(1631,5),(1632,5),(1637,5),(1642,5),(1645,5),(1649,5),(1654,5),(1671,5),(1672,5),(1688,5),(1693,5),(1696,5),(1697,5),(1713,5),(1715,5),(1718,5),(1720,5),(1723,5),(1726,5),(1729,5),(1744,5),(1746,5),(1750,5),(1752,5),(1759,5),(1771,5),(1780,5),(1783,5),(1784,5),(1788,5),(1802,5),(1824,5),(1826,5),(1830,5),(1835,5),(1838,5),(1841,5),(1854,5),(1867,5),(1869,5),(1870,5),(1872,5),(1877,5),(1880,5),(1885,5),(1886,5),(1896,5),(1900,5),(1904,5),(1908,5),(1933,5),(1936,5),(1943,5),(1946,5),(1954,5),(1956,5),(1957,5),(1959,5),(1966,5),(1968,5),(1970,5),(1972,5),(1975,5),(1979,5),(1981,5),(1982,5),(1984,5),(1987,5),(1991,5),(1993,5),(2001,5),(2010,5),(2014,5),(2018,5),(2024,5),(2032,5),(2036,5),(2037,5),(2046,5),(2052,5),(2054,5),(2056,5),(2058,5),(2063,5),(2065,5),(2068,5),(2070,5),(2072,5),(2078,5),(2080,5),(2081,5),(2082,5),(2089,5),(2093,5),(2100,5),(2101,5),(2105,5),(2126,5),(2139,5),(2144,5),(2150,5),(2154,5),(2157,5),(2161,5),(2173,5),(2178,5),(2185,5),(2196,5),(2201,5),(2202,5),(2209,5),(2219,5),(2220,5),(2222,5),(2234,5),(2237,5),(2240,5),(2241,5),(2245,5),(2249,5),(2255,5),(2258,5),(2259,5),(2262,5),(2269,5),(2286,5),(2291,5),(2292,5),(2302,5),(2305,5),(2306,5),(2310,5),(2318,5),(2319,5),(2322,5),(2352,5),(2354,5),(2357,5),(2365,5),(2375,5),(2387,5),(2391,5),(2397,5),(2403,5),(2423,5),(2429,5),(2442,5),(2444,5),(2452,5),(2463,5),(2479,5),(2483,5),(2485,5),(2494,5),(2495,5),(2503,5),(2522,5),(2524,5),(2526,5),(2533,5),(2560,5),(2564,5),(2569,5),(2584,5),(2590,5),(2595,5),(2616,5),(2621,5),(2639,5),(2643,5),(2646,5),(2653,5),(2654,5),(2658,5),(2668,5),(2676,5),(2688,5),(2693,5),(2706,5),(2707,5),(2708,5),(2717,5),(2723,5),(2727,5),(2732,5),(2733,5),(2747,5),(2754,5),(2755,5),(2760,5),(2765,5),(2766,5),(2767,5),(2769,5),(2773,5),(2775,5),(2780,5),(2781,5),(2789,5),(2802,5),(2814,5),(2815,5),(2818,5),(2819,5),(2828,5),(2832,5),(2833,5),(2838,5),(2854,5),(2857,5),(2860,5),(2865,5),(2866,5),(2876,5),(2884,5),(2892,5),(2898,5),(2902,5),(2905,5),(2909,5),(2913,5),(2915,5),(2916,5),(2917,5),(2928,5),(2932,5),(2936,5),(2938,5),(2939,5),(2941,5),(2944,5),(2948,5),(2952,5),(2955,5),(2956,5),(2957,5),(2967,5),(2971,5),(2974,5),(2976,5),(2993,5),(2998,5),(3001,5),(3003,5),(3005,5),(3020,5),(3021,5),(3036,5),(3039,5),(3041,5),(3042,5),(3048,5),(3051,5),(3068,5),(3081,5),(3086,5),(3088,5),(3094,5),(3107,5),(3109,5),(3147,5),(3151,5),(3156,5),(3159,5),(3160,5),(3163,5),(3169,5),(3183,5),(3189,5),(3190,5),(3198,5),(3199,5),(3200,5),(3207,5),(3209,5),(3220,5),(3223,5),(3238,5),(3244,5),(3260,5),(3262,5),(3266,5),(3267,5),(3273,5),(3295,5),(3297,5),(3303,5),(3313,5),(3314,5),(3315,5),(3321,5),(3324,5),(3326,5),(3335,5),(3336,5),(3337,5),(3356,5),(3358,5),(3364,5),(3368,5),(3372,5),(3394,5),(3404,5),(3410,5),(3425,5),(3427,5),(3443,5),(3444,5),(3456,5),(3458,5),(3461,5),(3493,5),(3497,5),(3499,5),(3502,5),(3506,5),(3516,5),(3518,5),(3526,5),(3532,5),(3543,5),(3545,5),(3559,5),(3560,5),(3561,5),(3568,5),(3571,5),(3572,5),(3575,5),(3576,5),(3595,5),(3599,5),(3605,5),(3617,5),(3620,5),(3623,5),(3624,5),(3627,5),(3636,5),(3637,5),(3639,5),(3646,5),(3664,5),(3671,5),(3673,5),(3687,5),(3689,5),(3691,5),(3692,5),(3695,5),(3698,5),(3716,5),(3724,5),(3737,5),(3757,5),(3761,5),(3765,5),(3775,5),(3777,5),(3778,5),(3779,5),(3781,5),(3782,5),(3786,5),(3789,5),(3799,5),(3801,5),(3808,5),(3810,5),(3815,5),(3820,5),(3844,5),(3846,5),(3865,5),(3869,5),(3873,5),(3881,5),(3883,5),(3887,5),(3890,5),(3895,5),(3898,5),(3899,5),(3914,5),(3915,5),(3921,5),(3927,5),(3928,5),(3929,5),(3933,5),(3935,5),(3938,5),(3947,5),(3949,5),(3962,5),(3971,5),(3983,5),(3988,5),(3992,5),(3999,5),(4002,5),(4003,5),(4008,5),(4011,5),(4012,5),(4025,5),(4028,5),(4037,5),(4039,5),(4041,5),(4043,5),(4052,5),(4054,5),(4071,5),(4076,5),(4080,5),(4082,5),(4086,5),(4092,5),(4096,5),(4098,5),(4116,5),(4126,5),(4138,5),(4140,5),(4141,5),(4142,5),(4144,5),(4157,5),(4158,5),(4163,5),(4175,5),(4183,5),(4199,5),(4208,5),(4211,5),(4218,5),(4219,5),(4222,5),(4225,5),(4228,5),(4234,5),(4252,5),(4258,5),(4275,5),(4277,5),(4278,5),(4283,5),(4296,5),(4302,5),(4320,5),(4325,5),(4327,5),(4335,5),(4339,5),(4344,5),(4345,5),(4346,5),(4364,5),(4369,5),(4379,5),(4380,5),(4388,5),(4399,5),(4406,5),(4411,5),(4418,5),(4422,5),(4434,5),(4440,5),(4449,5),(4453,5),(4454,5),(4473,5),(4489,5),(4507,5),(4514,5),(4522,5),(4526,5),(4542,5),(4545,5),(4550,5),(4559,5),(4560,5),(4571,5),(4579,5),(4580,5),(4583,5),(4588,5),(4589,5),(4599,5),(4614,5),(4627,5),(4630,5),(4637,5),(4643,5),(4644,5),(4652,5),(4666,5),(4668,5),(4671,5),(4680,5),(4690,5),(4712,5),(4717,5),(4723,5),(4741,5),(4743,5),(4745,5),(4748,5),(4755,5),(4758,5),(4776,5),(4781,5),(4808,5),(4812,5),(4820,5),(4824,5),(4830,5),(4834,5),(4849,5),(4853,5),(4856,5),(4868,5),(4870,5),(4880,5),(4881,5),(4891,5),(4905,5),(4907,5),(4912,5),(4913,5),(4918,5),(4920,5),(4924,5),(4936,5),(4940,5),(4946,5),(4953,5),(4954,5),(4960,5),(4973,5),(4974,5),(4977,5),(4995,5),(4996,5),(4998,5),(5006,5),(5010,5),(5027,5),(5029,5),(5037,5),(5040,5),(5046,5),(5051,5),(5054,5),(5055,5),(5059,5),(5062,5),(5066,5),(5077,5),(5083,5),(5086,5),(5087,5),(5097,5),(5112,5),(5122,5),(5128,5),(5130,5),(5134,5),(5148,5),(5150,5),(5159,5),(5165,5),(5166,5),(5169,5),(5171,5),(5172,5),(5174,5),(5176,5),(5177,5),(5184,5),(5185,5),(5189,5),(5195,5),(5196,5),(5203,5),(5207,5),(5208,5),(5210,5),(5212,5),(5213,5),(5215,5),(5216,5),(5231,5),(5235,5),(5237,5),(5256,5),(5261,5),(5280,5),(5281,5),(5285,5),(5288,5),(5292,5),(5304,5),(5307,5),(5308,5),(5316,5),(5337,5),(5351,5),(5355,5),(5363,5),(5367,5),(5377,5),(5388,5),(5389,5),(5392,5),(5399,5),(5400,5),(5416,5),(5434,5),(5436,5),(5440,5),(5446,5),(5455,5),(5462,5),(5463,5),(5469,5),(5473,5),(5483,5),(5490,5),(5492,5),(5498,5),(5508,5),(5509,5),(5510,5),(5522,5),(5526,5),(5533,5),(5537,5),(5538,5),(5542,5),(5557,5),(5558,5),(5559,5),(5561,5),(5562,5),(5569,5),(5570,5),(5574,5),(5575,5),(5583,5),(5586,5),(5587,5),(5595,5),(5618,5),(5622,5),(5626,5),(5628,5),(5629,5),(5630,5),(5632,5),(5652,5),(5654,5),(5656,5),(5664,5),(5665,5),(5680,5),(5682,5),(5685,5),(5699,5),(5700,5),(5707,5),(5709,5),(5716,5),(5717,5),(5731,5),(5735,5),(5737,5),(5738,5),(5740,5),(5742,5),(5747,5),(5750,5),(5760,5),(5767,5),(5769,5),(5779,5),(5780,5),(5783,5),(5790,5),(5798,5),(5806,5),(5823,5),(5827,5),(5831,5),(5848,5),(5854,5),(5855,5),(5859,5),(5862,5),(5864,5),(5866,5),(5869,5),(5872,5),(5873,5),(5874,5),(5878,5),(5879,5),(5888,5),(5893,5),(5897,5),(5904,5),(5905,5),(5911,5),(5913,5),(5920,5),(5921,5),(5937,5),(5945,5),(5954,5),(5960,5),(5967,5),(5970,5),(5974,5),(5982,5),(5990,5),(5991,5),(6001,5),(6014,5),(6015,5),(6024,5),(6029,5),(6031,5),(6033,5),(6038,5),(6040,5),(6043,5),(6048,5),(6049,5),(6051,5),(6056,5),(6059,5),(6064,5),(6075,5),(6078,5),(6082,5),(6094,5),(6097,5),(6103,5),(6106,5),(6110,5),(6116,5),(6117,5),(6122,5),(6123,5),(6133,5),(6140,5),(6164,5),(6173,5),(6180,5),(6181,5),(6185,5),(6187,5),(6189,5),(6199,5),(6209,5),(6232,5),(6233,5),(6235,5),(6236,5),(6248,5),(6249,5),(6250,5),(6252,5),(6261,5),(6262,5),(6267,5),(6286,5),(6288,5),(6296,5),(6297,5),(6299,5),(6305,5),(6354,5),(6373,5),(6374,5),(6381,5),(6385,5),(6386,5),(6404,5),(6415,5),(6426,5),(6435,5),(6451,5),(6461,5),(6467,5),(6473,5),(6474,5),(6477,5),(6485,5),(6488,5),(6489,5),(6492,5),(6504,5),(6505,5),(6508,5),(6518,5),(6520,5),(6523,5),(6525,5),(6530,5),(6590,5),(6591,5),(6596,5),(6597,5),(6611,5),(6616,5),(6617,5),(6619,5),(6622,5),(6635,5),(6639,5),(6643,5),(6645,5),(6652,5),(6653,5),(6657,5),(6662,5),(6672,5),(6679,5),(6683,5),(6685,5),(6690,5),(6692,5),(6699,5),(6710,5),(6712,5),(6723,5),(6724,5),(6728,5),(6747,5),(6753,5),(6759,5),(6761,5),(6779,5),(6797,5),(6799,5),(6801,5),(6802,5),(6803,5),(6810,5),(6811,5),(6819,5),(6821,5),(6830,5),(6835,5),(6837,5),(6845,5),(6846,5),(6851,5),(6856,5),(6862,5),(6865,5),(6873,5),(6879,5),(6880,5),(6881,5),(6892,5),(6897,5),(6904,5),(6905,5),(6906,5),(6912,5),(6914,5),(6921,5),(6931,5),(6957,5),(6968,5),(6969,5),(6970,5),(6973,5),(6974,5),(6986,5),(6995,5),(6997,5),(7000,5),(7010,5),(7012,5),(7018,5),(7027,5),(7029,5),(7030,5),(7047,5),(7052,5),(7064,5),(7084,5),(7090,5),(7101,5),(7104,5),(7105,5),(7106,5),(7133,5),(7134,5),(7142,5),(7143,5),(7149,5),(7151,5),(7162,5),(7166,5),(7168,5),(7169,5),(7172,5),(7173,5),(7175,5),(7180,5),(7187,5),(7188,5),(7190,5),(7191,5),(7192,5),(7197,5),(7216,5),(7222,5),(7224,5),(7225,5),(7231,5),(7245,5),(7249,5),(7260,5),(7261,5),(7266,5),(7267,5),(7274,5),(7276,5),(7286,5),(7288,5),(7302,5),(7303,5),(7307,5),(7312,5),(7320,5),(7326,5),(7328,5),(7332,5),(7334,5),(7335,5),(7359,5),(7362,5),(7364,5),(7365,5),(7368,5),(7381,5),(7383,5),(7393,5),(7395,5),(7411,5),(7423,5),(7426,5),(7451,5),(7454,5),(7455,5),(7477,5),(7481,5),(7485,5),(7490,5),(7497,5),(7510,5),(7511,5),(7512,5),(7515,5),(7516,5),(7521,5),(7522,5),(7526,5),(7534,5),(7535,5),(7536,5),(7543,5),(7551,5),(7552,5),(7561,5),(7569,5),(7570,5),(7573,5),(7575,5),(7583,5),(7604,5),(7613,5),(7619,5),(7622,5),(7625,5),(7627,5),(7630,5),(7641,5),(7656,5),(7661,5),(7667,5),(7669,5),(7670,5),(7676,5),(7682,5),(7684,5),(7685,5),(7693,5),(7702,5),(7709,5),(7712,5),(7715,5),(7725,5),(7744,5),(7747,5),(7756,5),(7766,5),(7769,5),(7772,5),(7774,5),(7777,5),(7780,5),(7781,5),(7786,5),(7793,5),(7806,5),(7809,5),(7817,5),(7823,5),(7830,5),(7831,5),(7834,5),(7835,5),(7840,5),(7847,5),(7857,5),(7858,5),(7859,5),(7868,5),(7874,5),(7879,5),(7880,5),(7886,5),(7890,5),(7891,5),(7901,5),(7904,5),(7908,5),(7915,5),(7920,5),(7929,5),(7934,5),(7951,5),(7955,5),(7957,5),(7987,5),(7997,5),(8002,5),(8003,5),(8005,5),(8012,5),(8027,5),(8043,5),(8045,5),(8049,5),(8053,5),(8085,5),(8091,5),(8095,5),(8103,5),(8104,5),(8105,5),(8106,5),(8113,5),(8118,5),(8120,5),(8126,5),(8127,5),(8128,5),(8133,5),(8142,5),(8145,5),(8146,5),(8150,5),(8151,5),(8152,5),(8159,5),(8161,5),(8163,5),(8170,5),(8180,5),(8187,5),(8191,5),(8205,5),(8211,5),(8216,5),(8222,5),(8224,5),(8231,5),(8232,5),(8233,5),(8236,5),(8247,5),(8250,5),(8255,5),(8264,5),(8276,5),(8283,5),(8303,5),(8309,5),(8316,5),(8317,5),(8322,5),(8323,5),(8325,5),(8330,5),(8331,5),(8335,5),(8349,5),(8367,5),(8369,5),(8370,5),(8376,5),(8386,5),(8391,5),(8393,5),(8400,5),(8401,5),(8404,5),(8405,5),(8418,5),(8419,5),(8424,5),(8425,5),(8426,5),(8428,5),(8430,5),(8435,5),(8449,5),(8457,5),(8463,5),(8466,5),(8482,5),(8486,5),(8491,5),(8495,5),(8499,5),(8504,5),(8510,5),(8516,5),(8521,5),(8524,5),(8525,5),(8526,5),(8534,5),(8542,5),(8547,5),(8549,5),(8551,5),(8554,5),(8555,5),(8556,5),(8559,5),(8567,5),(8582,5),(8586,5),(8593,5),(8595,5),(8596,5),(8604,5),(8610,5),(8616,5),(8620,5),(8628,5),(8637,5),(8644,5),(8648,5),(8651,5),(8653,5),(8661,5),(8665,5),(8667,5),(8668,5),(8676,5),(8677,5),(8679,5),(8692,5),(8700,5),(8708,5),(8712,5),(8713,5),(8717,5),(8724,5),(8728,5),(8736,5),(8737,5),(8742,5),(8743,5),(8751,5),(8753,5),(8759,5),(8771,5),(8793,5),(8796,5),(8799,5),(8801,5),(8810,5),(8815,5),(8824,5),(8834,5),(8851,5),(8857,5),(8891,5),(8892,5),(8897,5),(8900,5),(8903,5),(8911,5),(8915,5),(8918,5),(8931,5),(8932,5),(8935,5),(8941,5),(8950,5),(8952,5),(8961,5),(8965,5),(8966,5),(8973,5),(8976,5),(8979,5),(8985,5),(8986,5),(8988,5),(9015,5),(9016,5),(9024,5),(9031,5),(9032,5),(9049,5),(9058,5),(9061,5),(9073,5),(9084,5),(9088,5),(9089,5),(9092,5),(9102,5),(9110,5),(9117,5),(9137,5),(9143,5),(9154,5),(9155,5),(9168,5),(9169,5),(9183,5),(9184,5),(9185,5),(9186,5),(9188,5),(9198,5),(9199,5),(9204,5),(9208,5),(9214,5),(9219,5),(9221,5),(9226,5),(9246,5),(9265,5),(9290,5),(9298,5),(9299,5),(9303,5),(9305,5),(9306,5),(9307,5),(9319,5),(9320,5),(9327,5),(9337,5),(9344,5),(9351,5),(9352,5),(9360,5),(9376,5),(9377,5),(9379,5),(9381,5),(9382,5),(9394,5),(9397,5),(9400,5),(9417,5),(9419,5),(9427,5),(9433,5),(9435,5),(9436,5),(9443,5),(9448,5),(9455,5),(9461,5),(9465,5),(9467,5),(9468,5),(9485,5),(9488,5),(9508,5),(9510,5),(9518,5),(9520,5),(9526,5),(9527,5),(9535,5),(9537,5),(9543,5),(9551,5),(9554,5),(9569,5),(9578,5),(9590,5),(9627,5),(9631,5),(9632,5),(9633,5),(9634,5),(9636,5),(9637,5),(9663,5),(9665,5),(9666,5),(9667,5),(9676,5),(9678,5),(9683,5),(9694,5),(9696,5),(9701,5),(9710,5),(9721,5),(9725,5),(9726,5),(9728,5),(9745,5),(9748,5),(9755,5),(9759,5),(9764,5),(9783,5),(9793,5),(9805,5),(9809,5),(9810,5),(9815,5),(9818,5),(9824,5),(9828,5),(9831,5),(9835,5),(9839,5),(9842,5),(9844,5),(9845,5),(9867,5),(9876,5),(9883,5),(9884,5),(9889,5),(9892,5),(9893,5),(9914,5),(9917,5),(9925,5),(9933,5),(9940,5),(9941,5),(9944,5),(9946,5),(9950,5),(9963,5),(9967,5),(9969,5),(9973,5),(9976,5),(9988,5),(9989,5),(10006,5),(10008,5),(10023,5),(10032,5),(10044,5),(10046,5),(10054,5),(10069,5),(10075,5),(10082,5),(10086,5),(10095,5),(10097,5),(10105,5),(10106,5),(10114,5),(10126,5),(10130,5),(10140,5),(10141,5),(10146,5),(10151,5),(10155,5),(10161,5),(10167,5),(10174,5),(10176,5),(10183,5),(10189,5),(10190,5),(10206,5),(10207,5),(10211,5),(10215,5),(10220,5),(10221,5),(10234,5),(10243,5),(10254,5),(10276,5),(10282,5),(10290,5),(10291,5),(10292,5),(10300,5),(10301,5),(10304,5),(10309,5),(10310,5),(10312,5),(10316,5),(10319,5),(10329,5),(10331,5),(10337,5),(10342,5),(10360,5),(10361,5),(10362,5),(10363,5),(10387,5),(10389,5),(10398,5),(10402,5),(10404,5),(10407,5),(10415,5),(10432,5),(10435,5),(10441,5),(10449,5),(10456,5),(10459,5),(10460,5),(10461,5),(10469,5),(10471,5),(10472,5),(10474,5),(10476,5),(10482,5),(10486,5),(10488,5),(10495,5),(10498,5),(10502,5),(10505,5),(10509,5),(10512,5),(10514,5),(10539,5),(10540,5),(10541,5),(10543,5),(10556,5),(10560,5),(10561,5),(10564,5),(10589,5),(10593,5),(10599,5),(10609,5),(10611,5),(10621,5),(10633,5),(10636,5),(10643,5),(10644,5),(10655,5),(10656,5),(10662,5),(10667,5),(10675,5),(10678,5),(10680,5),(10685,5),(10690,5),(10691,5),(10696,5),(10698,5),(10713,5),(10714,5),(10717,5),(10723,5),(10727,5),(10741,5),(10755,5),(10758,5),(10759,5),(10776,5),(10818,5),(10822,5),(10845,5),(10852,5),(10855,5),(10865,5),(10882,5),(10885,5),(10891,5),(10892,5),(10894,5),(10896,5),(10898,5),(10903,5),(10916,5),(10922,5),(10926,5),(10933,5),(10938,5),(10941,5),(10953,5),(10966,5),(10967,5),(10972,5),(10973,5),(10978,5),(10987,5),(11009,5),(11013,5),(11017,5),(11022,5),(11024,5),(11030,5),(11036,5),(11052,5),(11054,5),(11055,5),(11069,5),(11070,5),(11072,5),(11076,5),(11083,5),(11084,5),(11090,5),(11094,5),(11099,5),(11104,5),(11105,5),(11125,5),(11146,5),(11149,5),(11156,5),(11166,5),(11170,5),(11177,5),(11179,5),(11180,5),(11190,5),(11191,5),(11196,5),(11208,5),(11209,5),(11210,5),(11213,5),(11217,5),(11224,5),(11226,5),(11232,5),(11235,5),(11237,5),(11239,5),(11248,5),(11256,5),(11261,5),(11271,5),(11278,5),(11280,5),(11281,5),(11286,5),(11294,5),(11300,5),(11304,5),(11305,5),(11308,5),(11309,5),(11313,5),(11324,5),(11327,5),(11342,5),(11349,5),(11350,5),(11353,5),(11359,5),(11360,5),(11367,5),(11368,5),(11375,5),(11376,5),(11379,5),(11387,5),(11391,5),(11392,5),(11396,5),(11412,5),(11413,5),(11418,5),(11421,5),(11433,5),(11440,5),(11456,5),(11467,5),(11472,5),(11475,5),(11479,5),(11480,5),(11485,5),(11497,5),(11510,5),(11511,5),(11515,5),(11517,5),(11518,5),(11524,5),(11532,5),(11541,5),(11547,5),(11548,5),(11552,5),(11553,5),(11554,5),(11571,5),(11573,5),(11587,5),(11590,5),(11596,5),(11600,5),(11608,5),(11619,5),(11622,5),(11623,5),(11624,5),(11632,5),(11637,5),(11638,5),(11641,5),(11645,5),(11648,5),(11666,5),(11669,5),(11672,5),(11680,5),(11682,5),(11683,5),(11690,5),(11693,5),(11700,5),(11709,5),(11714,5),(11718,5),(11721,5),(11742,5),(11767,5),(11771,5),(11773,5),(11778,5),(11779,5),(11782,5),(11786,5),(11791,5),(11795,5),(11801,5),(11802,5),(11805,5),(11806,5),(11812,5),(11829,5),(11841,5),(11843,5),(11853,5),(11854,5),(11874,5),(11875,5),(11887,5),(11899,5),(11914,5),(11918,5),(11921,5),(11929,5),(11931,5),(11937,5),(11938,5),(11947,5),(11951,5),(11956,5),(11961,5),(11966,5),(11971,5),(11974,5),(11991,5),(11996,5),(11999,5),(12002,5),(12016,5),(12034,5),(12048,5),(12049,5),(12054,5),(12055,5),(12074,5),(12075,5),(12077,5),(12080,5),(12082,5),(12087,5),(12093,5),(12094,5),(12099,5),(12100,5),(12101,5),(12107,5),(12109,5),(12125,5),(12135,5),(12143,5),(12145,5),(12161,5),(12167,5),(12175,5),(12189,5),(12190,5),(12197,5),(12198,5),(12206,5),(12212,5),(12213,5),(12214,5),(12222,5),(12227,5),(12229,5),(12232,5),(12241,5),(12246,5),(12253,5),(12258,5),(12265,5),(12267,5),(12286,5),(12294,5),(12296,5),(12301,5),(12317,5),(12324,5),(12326,5),(12329,5),(12350,5),(12352,5),(12366,5),(12371,5),(12379,5),(12380,5),(12392,5),(12394,5),(12402,5),(12419,5),(12422,5),(12428,5),(12485,5),(12486,5),(12487,5),(12489,5),(12492,5),(12493,5),(12497,5),(12500,5),(12503,5),(12506,5),(12507,5),(12514,5),(12516,5),(12519,5),(12521,5),(12522,5),(12535,5),(12542,5),(12558,5),(12560,5),(12564,5),(12566,5),(12576,5),(12585,5),(12605,5),(12620,5),(12621,5),(12623,5),(12624,5),(12629,5),(12631,5),(12632,5),(12640,5),(12649,5),(12650,5),(12660,5),(12666,5),(12668,5),(12673,5),(12682,5),(12692,5),(12707,5),(12711,5),(12717,5),(12731,5),(12738,5),(12743,5),(12744,5),(12745,5),(12749,5),(12753,5),(12754,5),(12757,5),(12766,5),(12774,5),(12787,5),(12788,5),(12807,5),(12810,5),(12819,5),(12828,5),(12835,5),(12836,5),(12839,5),(12848,5),(12866,5),(12876,5),(12881,5),(12891,5),(12895,5),(12912,5),(12930,5),(12937,5),(12941,5),(12950,5),(12958,5),(12972,5),(12979,5),(12982,5),(12983,5),(12994,5),(12997,5),(12998,5),(13000,5),(13005,5),(13011,5),(13015,5),(13017,5),(13018,5),(13022,5),(13027,5),(13029,5),(13033,5),(13034,5),(13040,5),(13051,5),(13052,5),(13057,5),(13060,5),(13066,5),(13076,5),(13079,5),(13080,5),(13082,5),(13085,5),(13086,5),(13094,5),(13100,5),(13103,5),(13108,5),(13113,5),(13126,5),(13135,5),(13137,5),(13141,5),(13143,5),(13145,5),(13156,5),(13158,5),(13159,5),(13163,5),(13167,5),(13169,5),(13175,5),(13179,5),(13180,5),(13183,5),(13190,5),(13193,5),(13203,5),(13231,5),(13248,5),(13261,5),(13265,5),(13268,5),(13276,5),(13277,5),(13280,5),(13281,5),(13288,5),(13292,5),(13293,5),(13297,5),(13299,5),(13309,5),(13314,5),(13318,5),(13326,5),(13330,5),(13333,5),(13335,5),(13336,5),(13360,5),(13369,5),(13370,5),(13374,5),(13375,5),(13384,5),(13386,5),(13392,5),(13395,5),(13402,5),(13414,5),(13418,5),(13419,5),(13422,5),(13427,5),(13433,5),(13442,5),(13444,5),(13446,5),(13451,5),(13464,5),(13468,5),(13469,5),(13488,5),(13501,5),(13510,5),(13519,5),(13521,5),(13524,5),(13541,5),(13542,5),(13545,5),(13546,5),(13550,5),(13551,5),(13552,5),(13570,5),(13571,5),(13572,5),(13574,5),(13575,5),(13581,5),(13582,5),(13583,5),(13586,5),(13588,5),(13598,5),(13600,5),(13604,5),(13619,5),(13622,5),(13633,5),(13634,5),(13642,5),(13645,5),(13647,5),(13650,5),(13651,5),(13654,5),(13656,5),(13660,5),(13666,5),(13682,5),(13695,5),(13697,5),(13698,5),(13705,5),(13707,5),(13718,5),(13723,5),(13728,5),(13736,5),(13739,5),(13751,5),(13758,5),(13772,5),(13779,5),(13782,5),(13790,5),(13801,5),(13804,5),(13805,5),(13806,5),(13811,5),(13818,5),(13820,5),(13824,5),(13831,5),(13841,5),(13843,5),(13845,5),(13846,5),(13862,5),(13872,5),(13876,5),(13884,5),(13894,5),(13902,5),(13904,5),(13922,5),(13933,5),(13939,5),(13945,5),(13951,5),(13962,5),(13965,5),(13974,5),(13988,5),(13991,5),(13994,5),(14011,5),(14014,5),(14019,5),(14030,5),(14031,5),(14036,5),(14041,5),(14042,5),(14049,5),(14051,5),(14057,5),(14059,5),(14065,5),(14074,5),(14077,5),(14088,5),(14090,5),(14091,5),(14095,5),(14103,5),(14106,5),(14108,5),(14114,5),(14118,5),(14122,5),(14130,5),(14132,5),(14133,5),(14142,5),(14145,5),(14147,5),(14157,5),(14161,5),(14165,5),(14168,5),(14172,5),(14182,5),(14188,5),(14195,5),(14196,5),(14209,5),(14211,5),(14222,5),(14224,5),(14226,5),(14228,5),(14231,5),(14232,5),(14240,5),(14241,5),(14242,5),(14248,5),(14263,5),(14268,5),(14269,5),(14271,5),(14273,5),(14274,5),(14275,5),(14276,5),(14292,5),(14295,5),(14302,5),(14309,5),(14313,5),(14315,5),(14320,5),(14321,5),(14323,5),(14328,5),(14330,5),(14355,5),(14356,5),(14367,5),(14368,5),(14373,5),(14379,5),(14385,5),(14391,5),(14392,5),(14394,5),(14400,5),(14405,5),(14408,5),(14419,5),(14420,5),(14425,5),(14426,5),(14441,5),(14444,5),(14455,5),(14460,5),(14467,5),(14479,5),(14481,5),(14491,5),(14493,5),(14498,5),(14500,5),(14508,5),(14520,5),(14522,5),(14525,5),(14526,5),(14527,5),(14533,5),(14544,5),(14550,5),(14551,5),(14557,5),(14565,5),(14571,5),(14574,5),(14578,5),(14583,5),(14584,5),(14585,5),(14589,5),(14596,5),(14603,5),(14610,5),(14617,5),(14630,5),(14632,5),(14635,5),(14642,5),(14643,5),(14649,5),(14650,5),(14651,5),(14662,5),(14668,5),(14676,5),(14686,5),(14697,5),(14712,5),(14715,5),(14722,5),(14734,5),(14743,5),(14744,5),(14745,5),(14748,5),(14750,5),(14756,5),(14757,5),(14760,5),(14764,5),(14770,5),(14779,5),(14787,5),(14807,5),(14810,5),(14813,5),(14820,5),(14824,5),(14826,5),(14830,5),(14847,5),(14855,5),(14861,5),(14862,5),(14872,5),(14873,5),(14880,5),(14887,5),(14889,5),(14893,5),(14898,5),(14902,5),(14911,5),(14912,5),(14914,5),(14921,5),(14932,5),(14935,5),(14950,5),(14951,5),(14956,5),(14967,5),(14971,5),(14977,5),(14983,5),(14997,5),(14999,5),(15007,5),(15008,5),(15014,5),(15017,5),(15018,5),(15019,5),(15025,5),(15039,5),(15044,5),(15047,5),(15049,5),(15053,5),(15055,5),(15057,5),(15059,5),(15060,5),(15062,5),(15066,5),(15072,5),(15080,5),(15091,5),(15106,5),(15108,5),(15120,5),(15122,5),(15123,5),(15129,5),(15134,5),(15135,5),(15137,5),(15146,5),(15152,5),(15156,5),(15162,5),(15179,5),(15187,5),(15188,5),(15194,5),(15195,5),(15199,5),(15222,5),(15223,5),(15243,5),(15279,5),(15286,5),(15288,5),(15301,5),(15306,5),(15307,5),(15308,5),(15320,5),(15323,5),(15326,5),(15332,5),(15336,5),(15358,5),(15359,5),(15375,5),(15402,5),(15408,5),(15411,5),(15421,5),(15424,5),(15431,5),(15434,5),(15438,5),(15446,5),(15458,5),(15482,5),(15498,5),(15506,5),(15507,5),(15510,5),(15512,5),(15522,5),(15526,5),(15538,5),(15546,5),(15555,5),(15571,5),(15572,5),(15575,5),(15577,5),(15589,5),(15597,5),(15598,5),(15601,5),(15603,5),(15622,5),(15624,5),(15630,5),(15637,5),(15638,5),(15645,5),(15651,5),(15658,5),(15661,5),(15666,5),(15668,5),(15669,5),(15673,5),(15678,5),(15683,5),(15685,5),(15690,5),(15702,5),(15712,5),(15722,5),(15723,5),(15732,5),(15736,5),(15752,5),(15753,5),(15763,5),(15787,5),(15790,5),(15796,5),(15803,5),(15812,5),(15813,5),(15818,5),(15821,5),(15835,5),(15836,5),(15843,5),(15844,5),(15846,5),(15856,5),(15857,5),(15876,5),(15894,5),(15897,5),(15900,5),(15902,5),(15925,5),(15928,5),(15940,5),(15946,5),(15952,5),(15957,5),(15958,5),(15959,5),(15966,5),(15984,5),(15989,5),(15997,5),(16000,5),(16003,5),(16019,5),(16028,5),(16029,5),(16031,5),(16051,5),(16057,5),(16060,5),(16064,5),(16070,5),(16076,5),(16082,5),(16091,5),(16101,5),(16107,5),(16111,5),(16117,5),(16120,5),(16126,5),(16141,5),(16142,5),(16148,5),(16164,5),(16166,5),(16168,5),(16171,5),(16172,5),(16178,5),(16183,5),(16188,5),(16193,5),(16195,5),(16198,5),(16202,5),(16204,5),(16215,5),(16220,5),(16227,5),(16228,5),(16235,5),(16240,5),(16242,5),(16251,5),(16260,5),(16265,5),(16266,5),(16268,5),(16270,5),(16271,5),(16272,5),(16276,5),(16279,5),(16289,5),(16300,5),(16303,5),(16304,5),(16315,5),(16323,5),(16324,5),(16327,5),(16334,5),(16338,5),(16341,5),(16347,5),(16348,5),(16352,5),(16361,5),(16368,5),(16374,5),(16377,5),(16379,5),(16382,5),(16387,5),(16395,5),(16397,5),(16402,5),(16403,5),(16406,5),(16419,5),(16433,5),(16438,5),(16447,5),(16451,5),(16467,5),(16482,5),(16483,5),(16485,5),(16492,5),(16498,5),(16499,5),(16511,5),(16520,5),(16530,5),(16532,5),(16545,5),(16547,5),(16548,5),(16549,5),(16554,5),(16568,5),(16570,5),(16571,5),(16572,5),(16574,5),(16577,5),(16581,5),(16583,5),(16584,5),(16586,5),(16587,5),(16593,5),(16594,5),(16617,5),(16620,5),(16623,5),(16625,5),(16627,5),(16633,5),(16643,5),(16656,5),(16660,5),(16663,5),(16668,5),(16671,5),(16672,5),(16673,5),(16676,5),(16680,5),(16681,5),(16687,5),(16693,5),(16704,5),(16715,5),(16716,5),(16733,5),(16736,5),(16744,5),(16746,5),(16747,5),(16749,5),(16761,5),(16763,5),(16773,5),(16787,5),(16788,5),(16790,5),(16798,5),(16811,5),(16825,5),(16827,5),(16829,5),(16847,5),(16848,5),(16849,5),(16858,5),(16859,5),(16863,5),(16872,5),(16877,5),(16885,5),(16886,5),(16892,5),(16896,5),(16903,5),(16922,5),(16924,5),(16927,5),(16931,5),(16937,5),(16942,5),(16944,5),(16945,5),(16946,5),(16950,5),(16957,5),(16961,5),(16964,5),(16974,5),(16977,5),(16979,5),(16980,5),(16981,5),(16982,5),(16991,5),(17006,5),(17009,5),(17024,5),(17026,5),(17038,5),(17039,5),(17043,5),(17053,5),(17056,5),(17061,5),(17062,5),(17065,5),(17080,5),(17094,5),(17096,5),(17104,5),(17106,5),(17108,5),(17109,5),(17116,5),(17122,5),(17126,5),(17127,5),(17128,5),(17133,5),(17139,5),(17152,5),(17154,5),(17155,5),(17164,5),(17165,5),(17166,5),(17167,5),(17180,5),(17205,5),(17224,5),(17226,5),(17234,5),(17256,5),(17260,5),(17261,5),(17276,5),(17281,5),(17291,5),(17316,5),(17317,5),(17318,5),(17326,5),(17331,5),(17332,5),(17334,5),(17335,5),(17339,5),(17349,5),(17350,5),(17354,5),(17361,5),(17365,5),(17374,5),(17380,5),(17399,5),(17405,5),(17416,5),(17417,5),(17419,5),(17420,5),(17424,5),(17426,5),(17439,5),(17445,5),(17447,5),(17448,5),(17452,5),(17465,5),(17483,5),(17486,5),(17491,5),(17499,5),(17500,5),(17501,5),(17504,5),(17506,5),(17510,5),(17512,5),(17513,5),(17519,5),(17523,5),(17533,5),(17535,5),(17537,5),(17542,5),(17555,5),(17564,5),(17567,5),(17572,5),(17574,5),(17577,5),(17580,5),(17582,5),(17584,5),(17599,5),(17602,5),(17604,5),(17605,5),(17617,5),(17620,5),(17622,5),(17627,5),(17634,5),(17641,5),(17657,5),(17660,5),(17665,5),(17682,5),(17690,5),(17697,5),(17699,5),(17700,5),(17718,5),(17730,5),(17732,5),(17760,5),(17765,5),(17773,5),(17782,5),(17787,5),(17790,5),(17792,5),(17794,5),(17797,5),(17798,5),(17804,5),(17810,5),(17812,5),(17813,5),(17816,5),(17821,5),(17827,5),(17831,5),(17843,5),(17850,5),(17857,5),(17859,5),(17860,5),(17868,5),(17871,5),(17872,5),(17873,5),(17878,5),(17883,5),(17887,5),(17894,5),(17903,5),(17919,5),(17920,5),(17921,5),(17925,5),(17927,5),(17932,5),(17936,5),(17938,5),(17942,5),(17947,5),(17950,5),(17966,5),(17976,5),(17979,5),(17988,5),(17993,5),(18005,5),(18010,5),(18011,5),(18013,5),(18017,5),(18018,5),(18020,5),(18023,5),(18025,5),(18031,5),(18032,5),(18048,5),(18050,5),(18060,5),(18061,5),(18069,5),(18095,5),(18096,5),(18104,5),(18109,5),(18116,5),(18121,5),(18128,5),(18131,5),(18132,5),(18137,5),(18140,5),(18141,5),(18144,5),(18156,5),(18168,5),(18173,5),(18181,5),(18186,5),(18191,5),(18195,5),(18196,5),(18206,5),(18208,5),(18216,5),(18226,5),(18235,5),(18239,5),(18242,5),(18243,5),(18247,5),(18264,5),(18268,5),(18269,5),(18270,5),(18273,5),(18278,5),(18284,5),(18286,5),(18292,5),(18296,5),(18297,5),(18298,5),(18305,5),(18308,5),(18311,5),(18326,5),(18329,5),(18339,5),(18344,5),(18368,5),(18370,5),(18373,5),(18395,5),(18399,5),(18400,5),(18408,5),(18410,5),(18414,5),(18422,5),(18423,5),(18434,5),(18435,5),(18437,5),(18442,5),(18464,5),(18467,5),(18469,5),(18470,5),(18471,5),(18474,5),(18481,5),(18489,5),(18493,5),(18495,5),(18496,5),(18497,5),(18503,5),(18510,5),(18512,5),(18515,5),(18523,5),(18526,5),(18528,5),(18533,5),(18540,5),(18542,5),(18543,5),(18556,5),(18561,5),(18576,5),(18615,5),(18624,5),(18625,5),(18632,5),(18639,5),(18643,5),(18654,5),(18657,5),(18661,5),(18674,5),(18679,5),(18683,5),(18686,5),(18711,5),(18716,5),(18728,5),(18736,5),(18737,5),(18739,5),(18740,5),(18744,5),(18746,5),(18756,5),(18771,5),(18776,5),(18780,5),(18788,5),(18794,5),(18806,5),(18814,5),(18817,5),(18823,5),(18824,5),(18826,5),(18834,5),(18841,5),(18847,5),(18864,5),(18888,5),(18907,5),(18909,5),(18914,5),(18922,5),(18927,5),(18931,5),(18934,5),(18935,5),(18938,5),(18945,5),(18948,5),(18951,5),(18953,5),(18968,5),(18979,5),(18990,5),(18991,5),(18993,5),(19003,5),(19005,5),(19009,5),(19013,5),(19019,5),(19023,5),(19037,5),(19040,5),(19047,5),(19058,5),(19059,5),(19076,5),(19078,5),(19082,5),(19086,5),(19088,5),(19090,5),(19096,5),(19099,5),(19107,5),(19115,5),(19118,5),(19126,5),(19136,5),(19147,5),(19149,5),(19152,5),(19155,5),(19163,5),(19174,5),(19180,5),(19182,5),(19183,5),(19188,5),(19191,5),(19198,5),(19201,5),(19227,5),(19231,5),(19243,5),(19248,5),(19252,5),(19255,5),(19276,5),(19286,5),(19287,5),(19291,5),(19292,5),(19300,5),(19304,5),(19312,5),(19323,5),(19330,5),(19355,5),(19365,5),(19389,5),(19390,5),(19392,5),(19400,5),(19403,5),(19404,5),(19406,5),(19417,5),(19420,5),(19425,5),(19438,5),(19455,5),(19456,5),(19480,5),(19490,5),(19497,5),(19502,5),(19504,5),(19508,5),(19509,5),(19510,5),(19521,5),(19536,5),(19552,5),(19553,5),(19557,5),(19568,5),(19569,5),(19571,5),(19581,5),(19583,5),(19585,5),(19586,5),(19603,5),(19606,5),(19617,5),(19626,5),(19628,5),(19644,5),(19646,5),(19647,5),(19653,5),(19656,5),(19658,5),(19668,5),(19670,5),(19674,5),(19676,5),(19681,5),(19683,5),(19693,5),(19696,5),(19697,5),(19698,5),(19702,5),(19714,5),(19715,5),(19719,5),(19720,5),(19721,5),(19726,5),(19734,5),(19763,5),(19769,5),(19770,5),(19771,5),(19776,5),(19778,5),(19780,5),(19783,5),(19795,5),(19801,5),(19807,5),(19808,5),(19814,5),(19817,5),(19822,5),(19824,5),(19830,5),(19840,5),(19852,5),(19853,5),(19859,5),(19862,5),(19865,5),(19866,5),(19868,5),(19876,5),(19878,5),(19881,5),(19885,5),(19888,5),(19892,5),(19900,5),(19902,5),(19906,5),(19907,5),(19916,5),(19925,5),(19929,5),(19934,5),(19939,5),(19940,5),(19946,5),(19947,5),(19952,5),(19955,5),(19966,5),(19970,5),(19973,5),(19974,5),(19975,5),(19981,5),(19990,5),(19991,5),(19992,5),(19994,5),(19999,5),(20010,5),(20013,5),(20015,5),(20035,5),(20040,5),(20048,5),(20049,5),(20055,5),(20061,5),(20065,5),(20071,5),(20074,5),(20090,5),(20105,5),(20110,5),(20112,5),(20119,5),(20122,5),(20124,5),(20125,5),(20129,5),(20136,5),(20144,5),(20148,5),(20155,5),(20160,5),(20165,5),(20167,5),(20195,5),(20199,5),(20202,5),(20206,5),(20207,5),(20210,5),(20212,5),(20213,5),(20229,5),(20230,5),(20234,5),(20240,5),(20245,5),(20265,5),(20275,5),(20277,5),(20278,5),(20279,5),(20292,5),(20293,5),(20295,5),(20307,5),(20324,5),(20327,5),(20336,5),(20341,5),(20342,5),(20347,5),(20349,5),(20354,5),(20365,5),(20385,5),(20387,5),(20389,5),(20396,5),(20404,5),(20409,5),(20411,5),(20412,5),(20413,5),(20424,5),(20425,5),(20427,5),(20428,5),(20432,5),(20446,5),(20452,5),(20454,5),(20459,5),(20466,5),(20469,5),(20470,5),(20474,5),(20482,5),(20489,5),(20491,5),(20494,5),(20499,5),(20504,5),(20512,5),(20515,5),(20518,5),(20522,5),(20530,5),(20536,5),(20539,5),(20546,5),(20549,5),(20561,5),(20562,5),(20564,5),(20567,5),(20576,5),(20584,5),(20594,5),(20615,5),(20618,5),(20620,5),(20637,5),(20642,5),(20643,5),(20645,5),(20650,5),(20655,5),(20656,5),(20658,5),(20666,5),(20667,5),(20671,5),(20691,5),(20693,5),(20696,5),(20699,5),(20701,5),(20706,5),(20708,5),(20713,5),(20714,5),(20717,5),(20744,5),(20747,5),(20750,5),(20757,5),(20759,5),(20760,5),(20761,5),(20766,5),(20775,5),(20789,5),(20797,5),(20798,5),(20813,5),(20814,5),(20815,5),(20822,5),(20828,5),(20833,5),(20842,5),(20850,5),(20855,5),(20860,5),(20863,5),(20864,5),(20865,5),(20867,5),(20880,5),(20887,5),(20891,5),(20902,5),(20923,5),(20924,5),(20940,5),(20943,5),(20944,5),(20946,5),(20949,5),(20954,5),(20963,5),(20967,5),(20969,5),(20974,5),(20978,5),(20993,5),(20995,5),(21005,5),(21007,5),(21008,5),(21016,5),(21026,5),(21031,5),(21047,5),(21048,5),(21051,5),(21056,5),(21062,5),(21078,5),(21079,5),(21084,5),(21087,5),(21089,5),(21093,5),(21096,5),(21100,5),(21102,5),(21128,5),(21132,5),(21135,5),(21137,5),(21140,5),(21145,5),(21147,5),(21157,5),(21158,5),(21163,5),(21175,5),(21178,5),(21179,5),(21180,5),(21187,5),(21189,5),(21200,5),(21204,5),(21226,5),(21228,5),(21245,5),(21246,5),(21255,5),(21257,5),(21263,5),(21271,5),(21279,5),(21281,5),(21290,5),(21292,5),(21301,5),(21308,5),(21310,5),(21316,5),(21325,5),(21331,5),(21336,5),(21339,5),(21347,5),(21350,5),(21356,5),(21358,5),(21362,5),(21366,5),(21376,5),(21380,5),(21384,5),(21395,5),(21397,5),(21410,5),(21418,5),(21427,5),(21444,5),(21445,5),(21449,5),(21452,5),(21460,5),(21471,5),(21472,5),(21475,5),(21476,5),(21483,5),(21486,5),(21487,5),(21492,5),(21506,5),(21507,5),(21510,5),(21511,5),(21516,5),(21531,5),(21533,5),(21537,5),(21547,5),(21548,5),(21549,5),(21558,5),(21563,5),(21568,5),(21572,5),(21580,5),(21584,5),(21588,5),(21591,5),(21608,5),(21610,5),(21628,5),(21644,5),(21645,5),(21647,5),(21650,5),(21654,5),(21664,5),(21668,5),(21670,5),(21674,5),(21684,5),(21693,5),(21695,5),(21700,5),(21704,5),(21705,5),(21712,5),(21713,5),(21719,5),(21726,5),(21727,5),(21736,5),(21738,5),(21739,5),(21749,5),(21766,5),(21774,5),(21775,5),(21776,5),(21784,5),(21799,5),(21802,5),(21803,5),(21804,5),(21826,5),(21831,5),(21838,5),(21846,5),(21860,5),(21869,5),(21870,5),(21875,5),(21878,5),(21881,5),(21893,5),(21898,5),(21899,5),(21911,5),(21913,5),(21920,5),(21923,5),(21931,5),(21937,5),(21944,5),(21951,5),(21953,5),(21954,5),(21966,5),(21979,5),(21989,5),(21993,5),(21994,5),(22020,5),(22035,5),(22064,5),(22073,5),(22075,5),(22076,5),(22086,5),(22091,5),(22092,5),(22093,5),(22095,5),(22102,5),(22112,5),(22122,5),(22130,5),(22134,5),(22135,5),(22138,5),(22148,5),(22160,5),(22164,5),(22166,5),(22174,5),(22175,5),(22176,5),(22185,5),(22190,5),(22195,5),(22198,5),(22202,5),(22211,5),(22212,5),(22213,5),(22214,5),(22227,5),(22231,5),(22238,5),(22245,5),(22252,5),(22256,5),(22274,5),(22275,5),(22280,5),(22286,5),(22289,5),(22297,5),(22298,5),(22303,5),(22308,5),(22319,5),(22321,5),(22326,5),(22336,5),(22359,5),(22360,5),(22392,5),(22398,5),(22403,5),(22409,5),(22417,5),(22418,5),(22420,5),(22433,5),(22436,5),(22442,5),(22443,5),(22448,5),(22462,5),(22465,5),(22471,5),(22478,5),(22492,5),(22494,5),(22500,5),(22516,5),(22528,5),(22530,5),(22534,5),(22539,5),(22542,5),(22544,5),(22559,5),(22569,5),(22571,5),(22590,5),(22591,5),(22592,5),(22594,5),(22595,5),(22597,5),(22605,5),(22613,5),(22616,5),(22624,5),(22633,5),(22640,5),(22655,5),(22659,5),(22663,5),(22664,5),(22666,5),(22673,5),(22674,5),(22676,5),(22688,5),(22695,5),(22697,5),(22698,5),(22700,5),(22707,5),(22709,5),(22715,5),(22720,5),(22727,5),(22729,5),(22731,5),(22732,5),(22737,5),(22743,5),(22745,5),(22747,5),(22748,5),(22751,5),(22762,5),(22764,5),(22783,5),(22789,5),(22793,5),(22794,5),(22811,5),(22819,5),(22827,5),(22829,5),(22830,5),(22835,5),(22842,5),(22847,5),(22848,5),(22849,5),(22851,5),(22855,5),(22857,5),(22860,5),(22873,5),(22874,5),(22876,5),(22885,5),(22890,5),(22893,5),(22894,5),(22899,5),(22906,5),(22909,5),(22920,5),(22930,5),(22936,5),(22937,5),(22942,5),(22945,5),(22955,5),(22960,5),(22977,5),(22982,5),(22984,5),(22986,5),(22994,5),(22996,5),(23001,5),(23007,5),(23025,5),(23029,5),(23046,5),(23049,5),(23064,5),(23066,5),(23069,5),(23071,5),(23078,5),(23091,5),(23097,5),(23114,5),(23115,5),(23118,5),(23122,5),(23124,5),(23143,5),(23148,5),(23156,5),(23159,5),(23161,5),(23163,5),(23166,5),(23167,5),(23169,5),(23178,5),(23179,5),(23182,5),(23183,5),(23184,5),(23196,5),(23203,5),(23212,5),(23214,5),(23218,5),(23224,5),(23226,5),(23234,5),(23239,5),(23240,5),(23241,5),(23245,5),(23276,5),(23277,5),(23282,5),(23289,5),(23290,5),(23299,5),(23301,5),(23305,5),(23308,5),(23312,5),(23339,5),(23340,5),(23344,5),(23346,5),(23349,5),(23350,5),(23355,5),(23357,5),(23361,5),(23362,5),(23365,5),(23373,5),(23378,5),(23379,5),(23384,5),(23388,5),(23397,5),(23418,5),(23423,5),(23432,5),(23435,5),(23437,5),(23470,5),(23471,5),(23482,5),(23494,5),(23497,5),(23502,5),(23512,5),(23515,5),(23524,5),(23538,5),(23539,5),(23542,5),(23556,5),(23559,5),(23566,5),(23568,5),(23572,5),(23576,5),(23578,5),(23580,5),(23582,5),(23585,5),(23599,5),(23602,5),(23607,5),(23614,5),(23619,5),(23620,5),(23623,5),(23634,5),(23647,5),(23648,5),(23649,5),(23652,5),(23654,5),(23655,5),(23680,5),(23683,5),(23689,5),(23693,5),(23695,5),(23696,5),(23697,5),(23699,5),(23703,5),(23704,5),(23705,5),(23714,5),(23723,5),(23732,5),(23736,5),(23742,5),(23744,5),(23745,5),(23748,5),(23753,5),(23762,5),(23764,5),(23775,5),(23776,5),(23778,5),(23787,5),(23788,5),(23790,5),(23799,5),(23807,5),(23818,5),(23820,5),(23821,5),(23826,5),(23828,5),(23842,5),(23843,5),(23846,5),(23848,5),(23852,5),(23854,5),(23855,5),(23860,5),(23866,5),(23869,5),(23870,5),(23874,5),(23897,5),(23898,5),(23905,5),(23916,5),(23918,5),(23925,5),(23929,5),(23930,5),(23938,5),(23952,5),(23956,5),(23963,5),(23967,5),(23971,5),(23975,5),(23976,5),(23980,5),(23988,5),(23996,5),(23998,5),(24006,5),(24009,5),(24012,5),(24020,5),(24022,5),(24023,5),(24032,5),(24040,5),(24047,5),(24049,5),(24054,5),(24058,5),(24064,5),(24073,5),(24075,5),(24077,5),(24085,5),(24091,5),(24097,5),(24098,5),(24101,5),(24104,5),(24117,5),(24128,5),(24130,5),(24132,5),(24138,5),(24139,5),(24143,5),(24145,5),(24151,5),(24155,5),(24165,5),(24168,5),(24172,5),(24199,5),(24203,5),(24211,5),(24249,5),(24265,5),(24267,5),(24282,5),(24290,5),(24294,5),(24299,5),(24308,5),(24311,5),(24319,5),(24323,5),(24334,5),(24343,5),(24361,5),(24362,5),(24371,5),(24374,5),(24398,5),(24402,5),(24409,5),(24410,5),(24411,5),(24413,5),(24415,5),(24421,5),(24423,5),(24428,5),(24429,5),(24434,5),(24442,5),(24443,5),(24450,5),(24453,5),(24466,5),(24470,5),(24477,5),(24485,5),(24486,5),(24495,5),(24497,5),(24500,5),(24502,5),(24518,5),(24521,5),(24526,5),(24528,5),(24531,5),(24546,5),(24547,5),(24554,5),(24559,5),(24568,5),(24578,5),(24585,5),(24593,5),(24596,5),(24612,5),(24618,5),(24619,5),(24622,5),(24625,5),(24634,5),(24636,5),(24642,5),(24645,5),(24650,5),(24658,5),(24659,5),(24660,5),(24678,5),(24685,5),(24696,5),(24699,5),(24700,5),(24705,5),(24715,5),(24716,5),(24722,5),(24727,5),(24742,5),(24748,5),(24754,5),(24790,5),(24792,5),(24793,5),(24799,5),(24812,5),(24813,5),(24823,5),(24831,5),(24838,5),(24839,5),(24845,5),(24866,5),(24874,5),(24878,5),(24884,5),(24888,5),(24894,5),(24898,5),(24910,5),(24913,5),(24918,5),(24931,5),(24950,5),(24951,5),(24955,5),(24968,5),(24972,5),(24976,5),(24980,5),(24982,5),(24987,5),(24990,5),(24992,5),(25007,5),(25016,5),(25018,5),(25025,5),(25027,5),(25029,5),(25032,5),(25047,5),(25050,5),(25057,5),(25070,5),(25071,5),(25073,5),(25078,5),(25080,5),(25086,5),(25088,5),(25095,5),(25113,5),(25118,5),(25120,5),(25121,5),(25135,5),(25139,5),(25142,5),(25144,5),(25148,5),(25151,5),(25153,5),(25157,5),(25167,5),(25173,5),(25180,5),(25193,5),(25199,5),(25205,5),(25208,5),(25225,5),(25230,5),(25234,5),(25239,5),(25252,5),(25258,5),(25259,5),(25260,5),(25264,5),(25276,5),(25282,5),(25289,5),(25296,5),(25307,5),(25309,5),(25310,5),(25312,5),(25313,5),(25316,5),(25318,5),(25327,5),(25336,5),(25352,5),(25362,5),(25363,5),(25367,5),(25368,5),(25373,5),(25374,5),(25381,5),(25382,5),(25383,5),(25396,5),(25402,5),(25412,5),(25428,5),(25434,5),(25436,5),(25444,5),(25446,5),(25456,5),(25461,5),(25466,5),(25467,5),(25468,5),(25475,5),(25483,5),(25491,5),(25496,5),(25504,5),(25508,5),(25521,5),(25525,5),(25532,5),(25539,5),(25544,5),(25552,5),(25553,5),(25560,5),(25581,5),(25585,5),(25596,5),(25597,5),(25600,5),(25608,5),(25638,5),(25654,5),(25667,5),(25677,5),(25686,5),(25689,5),(25693,5),(25697,5),(25712,5),(25713,5),(25726,5),(25729,5),(25739,5),(25740,5),(25749,5),(25752,5),(25757,5),(25760,5),(25768,5),(25770,5),(25777,5),(25782,5),(25786,5),(25800,5),(25814,5),(25831,5),(25840,5),(25858,5),(25862,5),(25867,5),(25868,5),(25872,5),(25877,5),(25878,5),(25879,5),(25894,5),(25898,5),(25911,5),(25920,5),(25923,5),(25930,5),(25931,5),(25932,5),(25941,5),(25944,5),(25945,5),(25947,5),(25956,5),(25971,5),(25976,5),(25983,5),(25984,5),(25985,5),(25993,5),(25998,5),(26015,5),(26020,5),(26024,5),(26025,5),(26035,5),(26046,5),(26047,5),(26049,5),(26071,5),(26072,5),(26074,5),(26078,5),(26082,5),(26085,5),(26089,5),(26102,5),(26106,5),(26107,5),(26110,5),(26111,5),(26113,5),(26115,5),(26119,5),(26127,5),(26128,5),(26130,5),(26134,5),(26140,5),(26141,5),(26142,5),(26158,5),(26178,5),(26190,5),(26191,5),(26199,5),(26204,5),(26212,5),(26225,5),(26233,5),(26242,5),(26253,5),(26255,5),(26269,5),(26272,5),(26285,5),(26288,5),(26292,5),(26299,5),(26305,5),(26313,5),(26314,5),(26317,5),(26326,5),(26331,5),(26337,5),(26340,5),(26342,5),(26344,5),(26358,5),(26382,5),(26384,5),(26411,5),(26418,5),(26429,5),(26453,5),(26458,5),(26464,5),(26468,5),(26469,5),(26471,5),(26477,5),(26484,5),(26494,5),(26499,5),(26524,5),(26526,5),(26541,5),(26545,5),(26549,5),(26552,5),(26562,5),(26567,5),(26573,5),(26580,5),(26581,5),(26583,5),(26584,5),(26595,5),(26597,5),(26606,5),(26616,5),(26620,5),(26625,5),(26627,5),(26630,5),(26647,5),(26650,5),(26653,5),(26658,5),(26660,5),(26665,5),(26693,5),(26696,5),(26697,5),(26700,5),(26709,5),(26710,5),(26726,5),(26728,5),(26732,5),(26737,5),(26742,5),(26744,5),(26749,5),(26770,5),(26776,5),(26782,5),(26800,5),(26801,5),(26803,5),(26806,5),(26807,5),(26809,5),(26810,5),(26816,5),(26821,5),(26834,5),(26835,5),(26841,5),(26842,5),(26856,5),(26861,5),(26865,5),(26872,5),(26875,5),(26876,5),(26885,5),(26886,5),(26894,5),(26898,5),(26909,5),(26919,5),(26923,5),(26926,5),(26938,5),(26943,5),(26950,5),(26952,5),(26965,5),(26966,5),(26977,5),(26982,5),(26990,5),(27014,5),(27015,5),(27016,5),(27019,5),(27028,5),(27030,5),(27034,5),(27050,5),(27051,5),(27054,5),(27059,5),(27062,5),(27072,5),(27081,5),(27094,5),(27096,5),(27105,5),(27110,5),(27111,5),(27114,5),(27123,5),(27124,5),(27133,5),(27144,5),(27153,5),(27159,5),(27165,5),(27167,5),(27168,5),(27179,5),(27182,5),(27191,5),(27194,5),(27197,5),(27207,5),(27222,5),(27232,5),(27256,5),(27259,5),(27260,5),(27266,5),(27270,5),(27275,5),(27277,5),(27279,5),(27287,5),(27288,5),(27289,5),(27299,5),(27301,5),(27304,5),(27308,5),(27309,5),(27310,5),(27322,5),(27323,5),(27325,5),(27336,5),(27347,5),(27360,5),(27363,5),(27367,5),(27371,5),(27373,5),(27387,5),(27394,5),(27401,5),(27403,5),(27411,5),(27440,5),(27442,5),(27448,5),(27453,5),(27458,5),(27462,5),(27468,5),(27473,5),(27487,5),(27491,5),(27504,5),(27509,5),(27511,5),(27531,5),(27534,5),(27535,5),(27538,5),(27548,5),(27558,5),(27566,5),(27568,5),(27570,5),(27591,5),(27594,5),(27600,5),(27608,5),(27618,5),(27627,5),(27656,5),(27658,5),(27673,5),(27678,5),(27686,5),(27689,5),(27690,5),(27695,5),(27696,5),(27699,5),(27700,5),(27704,5),(27706,5),(27707,5),(27709,5),(27716,5),(27719,5),(27726,5),(27731,5),(27732,5),(27742,5),(27754,5),(27759,5),(27768,5),(27770,5),(27779,5),(27787,5),(27791,5),(27794,5),(27798,5),(27800,5),(27807,5),(27808,5),(27813,5),(27816,5),(27819,5),(27823,5),(27825,5),(27828,5),(27829,5),(27831,5),(27832,5),(27835,5),(27841,5),(27849,5),(27853,5),(27863,5),(27872,5),(27877,5),(27882,5),(27888,5),(27889,5),(27890,5),(27893,5),(27911,5),(27912,5),(27913,5),(27916,5),(27921,5),(27923,5),(27932,5),(27934,5),(27936,5),(27940,5),(27941,5),(27947,5),(27952,5),(27954,5),(27962,5),(27969,5),(27985,5),(27988,5),(27994,5),(28005,5),(28012,5),(28025,5),(28026,5),(28034,5),(28038,5),(28047,5),(28058,5),(28068,5),(28069,5),(28082,5),(28084,5),(28090,5),(28097,5),(28110,5),(28114,5),(28118,5),(28149,5),(28151,5),(28152,5),(28154,5),(28160,5),(28161,5),(28165,5),(28167,5),(28169,5),(28177,5),(28190,5),(28205,5),(28208,5),(28214,5),(28241,5),(28244,5),(28267,5),(28270,5),(28271,5),(28272,5),(28278,5),(28285,5),(28286,5),(28289,5),(28290,5),(28302,5),(28305,5),(28311,5),(28313,5),(28314,5),(28317,5),(28318,5),(28326,5),(28335,5),(28336,5),(28356,5),(28365,5),(28371,5),(28375,5),(28376,5),(28383,5),(28385,5),(28389,5),(28390,5),(28391,5),(28393,5),(28406,5),(28411,5),(28412,5),(28417,5),(28420,5),(28423,5),(28424,5),(28426,5),(28437,5),(28438,5),(28442,5),(28451,5),(28452,5),(28453,5),(28458,5),(28459,5),(28462,5),(28466,5),(28468,5),(28470,5),(28472,5),(28475,5),(28476,5),(28478,5),(28481,5),(28486,5),(28491,5),(28493,5),(28496,5),(28498,5),(28504,5),(28509,5),(28514,5),(28523,5),(28532,5),(28537,5),(28546,5),(28550,5),(28551,5),(28553,5),(28555,5),(28563,5),(28565,5),(28568,5),(28569,5),(28571,5),(28572,5),(28575,5),(28586,5),(28592,5),(28598,5),(28612,5),(28616,5),(28617,5),(28633,5),(28635,5),(28639,5),(28646,5),(28659,5),(28661,5),(28662,5),(28664,5),(28668,5),(28671,5),(28673,5),(28677,5),(28681,5),(28694,5),(28698,5),(28701,5),(28705,5),(28711,5),(28716,5),(28732,5),(28733,5),(28739,5),(28742,5),(28743,5),(28756,5),(28764,5),(28768,5),(28770,5),(28773,5),(28775,5),(28786,5),(28792,5),(28795,5),(28802,5),(28804,5),(28812,5),(28814,5),(28848,5),(28859,5),(28860,5),(28862,5),(28875,5),(28889,5),(28894,5),(28896,5),(28900,5),(28904,5),(28907,5),(28909,5),(28911,5),(28917,5),(28922,5),(28925,5),(28926,5),(28927,5),(28930,5),(28932,5),(28935,5),(28936,5),(28938,5),(28947,5),(28955,5),(28958,5),(28966,5),(28980,5),(28987,5),(29005,5),(29010,5),(29016,5),(29019,5),(29030,5),(29036,5),(29051,5),(29057,5),(29069,5),(29083,5),(29088,5),(29093,5),(29111,5),(29126,5),(29128,5),(29129,5),(29130,5),(29131,5),(29133,5),(29137,5),(29143,5),(29146,5),(29151,5),(29158,5),(29159,5),(29172,5),(29175,5),(29178,5),(29185,5),(29194,5),(29213,5),(29225,5),(29226,5),(29230,5),(29237,5),(29242,5),(29250,5),(29253,5),(29269,5),(29272,5),(29276,5),(29285,5),(29287,5),(29292,5),(29297,5),(29315,5),(29319,5),(29323,5),(29336,5),(29340,5),(29342,5),(29364,5),(29365,5),(29370,5),(29380,5),(29382,5),(29388,5),(29400,5),(29401,5),(29404,5),(29405,5),(29420,5),(29421,5),(29428,5),(29431,5),(29436,5),(29438,5),(29440,5),(29441,5),(29442,5),(29446,5),(29454,5),(29470,5),(29481,5),(29484,5),(29488,5),(29493,5),(29500,5),(29518,5),(29522,5),(29527,5),(29530,5),(29536,5),(29543,5),(29545,5),(29549,5),(29552,5),(29554,5),(29560,5),(29561,5),(29570,5),(29572,5),(29573,5),(29574,5),(29575,5),(29578,5),(29580,5),(29585,5),(29588,5),(29600,5),(29608,5),(29609,5),(29612,5),(29633,5),(29637,5),(29642,5),(29643,5),(29647,5),(29648,5),(29655,5),(29664,5),(29665,5),(29668,5),(29669,5),(29670,5),(29671,5),(29675,5),(29681,5),(29687,5),(29688,5),(29693,5),(29703,5),(29706,5),(29708,5),(29715,5),(29724,5),(29728,5),(29732,5),(29749,5),(29760,5),(29761,5),(29763,5),(29765,5),(29766,5),(29768,5),(29772,5),(29775,5),(29784,5),(29788,5),(29792,5),(29801,5),(29805,5),(29811,5),(29818,5),(29863,5),(29871,5),(29883,5),(29891,5),(29902,5),(29905,5),(29908,5),(29911,5),(29914,5),(29915,5),(29921,5),(29937,5),(29962,5),(29968,5),(29979,5),(29982,5),(29984,5),(30019,5),(30021,5),(30022,5),(30023,5),(30026,5),(30028,5),(30029,5),(30045,5),(30049,5),(30069,5),(30079,5),(30085,5),(30094,5),(30102,5),(30112,5),(30113,5),(30115,5),(30121,5),(30122,5),(30123,5),(30124,5),(30129,5),(30131,5),(30147,5),(30151,5),(30153,5),(30154,5),(30160,5),(30161,5),(30162,5),(30164,5),(30167,5),(30168,5),(30176,5),(30197,5),(30198,5),(30201,5),(30203,5),(30207,5),(30211,5),(30212,5),(30220,5),(30228,5),(30231,5),(30233,5),(30237,5),(30240,5),(30249,5),(30260,5),(30264,5),(30267,5),(30268,5),(30269,5),(30276,5),(30277,5),(30294,5),(30316,5),(30324,5),(30326,5),(30327,5),(30328,5),(30339,5),(30347,5),(30349,5),(30357,5),(30374,5),(30378,5),(30385,5),(30407,5),(30413,5),(30418,5),(30427,5),(30429,5),(30437,5),(30441,5),(30454,5),(30461,5),(30462,5),(30463,5),(30475,5),(30477,5),(30485,5),(30503,5),(30512,5),(30513,5),(30519,5),(30520,5),(30528,5),(30533,5),(30534,5),(30535,5),(30545,5),(30546,5),(30569,5),(30582,5),(30583,5),(30587,5),(30592,5),(30596,5),(30615,5),(30617,5),(30635,5),(30636,5),(30641,5),(30643,5),(30644,5),(30648,5),(30649,5),(30656,5),(30668,5),(30689,5),(30710,5),(30714,5),(30717,5),(30720,5),(30721,5),(30725,5),(30727,5),(30748,5),(30751,5),(30758,5),(30763,5),(30765,5),(30769,5),(30774,5),(30784,5),(30797,5),(30801,5),(30805,5),(30812,5),(30821,5),(30822,5),(30833,5),(30834,5),(30840,5),(30841,5),(30875,5),(30877,5),(30879,5),(30884,5),(30886,5),(30895,5),(30900,5),(30913,5),(30916,5),(30925,5),(30936,5),(30945,5),(30962,5),(30991,5),(30992,5),(31012,5),(31029,5),(31036,5),(31041,5),(31065,5),(31073,5),(31074,5),(31086,5),(31087,5),(31091,5),(31093,5),(31101,5),(31102,5),(31116,5),(31124,5),(31130,5),(31131,5),(31147,5),(31154,5),(31175,5),(31186,5),(31187,5),(31193,5),(31198,5),(31207,5),(31208,5),(31218,5),(31220,5),(31225,5),(31231,5),(31233,5),(31243,5),(31247,5),(31254,5),(31255,5),(31259,5),(31267,5),(31290,5),(31301,5),(31304,5),(31306,5),(31312,5),(31318,5),(31319,5),(31328,5),(31333,5),(31348,5),(31349,5),(31361,5),(31369,5),(31372,5),(31374,5),(31375,5),(31377,5),(31382,5),(31386,5),(31388,5),(31395,5),(31412,5),(31414,5),(31422,5),(31425,5),(31431,5),(31433,5),(31438,5),(31464,5),(31467,5),(31472,5),(31486,5),(31489,5),(31498,5),(31508,5),(31520,5),(31544,5),(31545,5),(31548,5),(31551,5),(31552,5),(31564,5),(31565,5),(31574,5),(31577,5),(31579,5),(31582,5),(31586,5),(31587,5),(31596,5),(31603,5),(31604,5),(31621,5),(31629,5),(31631,5),(31636,5),(31637,5),(31638,5),(31643,5),(31644,5),(31647,5),(31662,5),(31676,5),(31677,5),(31686,5),(31689,5),(31699,5),(31709,5),(31716,5),(31724,5),(31731,5),(31743,5),(31748,5),(31754,5),(31761,5),(31771,5),(31777,5),(31779,5),(31786,5),(31788,5),(31799,5),(31803,5),(31808,5),(31819,5),(31828,5),(31832,5),(31836,5),(31838,5),(31843,5),(31851,5),(31852,5),(31855,5),(31857,5),(31858,5),(31881,5),(31882,5),(31884,5),(31886,5),(31896,5),(31905,5),(31906,5),(31911,5),(31931,5),(31932,5),(31936,5),(31937,5),(31947,5),(31954,5),(31960,5),(31969,5),(31979,5),(31983,5),(31985,5),(31993,5),(32008,5),(32013,5),(32022,5),(32027,5),(32030,5),(32041,5),(32044,5),(32054,5),(32060,5),(32061,5),(32064,5),(32068,5),(32072,5),(32073,5),(32075,5),(32078,5),(32104,5),(32116,5),(32125,5),(32126,5),(32132,5),(32137,5),(32140,5),(32148,5),(32151,5),(32165,5),(32168,5),(32170,5),(32172,5),(32182,5),(32191,5),(32192,5),(32198,5),(32201,5),(32203,5),(32220,5),(32221,5),(32223,5),(32224,5),(32233,5),(32236,5),(32249,5),(32259,5),(32263,5),(32281,5),(32289,5),(32296,5),(32307,5),(32308,5),(32311,5),(32314,5),(32320,5),(32321,5),(32323,5),(32330,5),(32346,5),(32347,5),(32353,5),(32354,5),(32356,5),(32364,5),(32365,5),(32372,5),(32392,5),(32394,5),(32400,5),(32404,5),(32428,5),(32440,5),(32448,5),(32450,5),(32458,5),(32464,5),(32465,5),(32466,5),(32468,5),(32479,5),(32499,5),(32501,5),(32506,5),(32510,5),(32514,5),(32516,5),(32525,5),(32543,5),(32551,5),(32555,5),(32564,5),(32566,5),(32569,5),(32571,5),(32573,5),(32579,5),(32585,5),(32586,5),(32594,5),(32628,5),(32632,5),(32633,5),(32634,5),(32639,5),(32641,5),(32643,5),(32649,5),(32654,5),(32655,5),(32660,5),(32662,5),(32671,5),(32686,5),(32692,5),(32694,5),(32696,5),(32705,5),(32715,5),(32722,5),(32726,5),(32728,5),(32736,5),(32740,5),(32743,5),(32748,5),(32765,5),(32772,5),(32783,5),(32795,5),(32803,5),(32804,5),(32809,5),(32811,5),(32813,5),(32829,5),(32836,5),(32844,5),(32845,5),(32849,5),(32853,5),(32867,5),(32881,5),(32883,5),(32894,5),(32901,5),(32904,5),(32912,5),(32913,5),(32919,5),(32920,5),(32923,5),(32926,5),(32930,5),(32951,5),(32961,5),(32981,5),(32986,5),(32992,5),(33002,5),(33005,5),(33010,5),(33011,5),(33023,5),(33029,5),(33037,5),(33044,5),(33045,5),(33047,5),(33053,5),(33054,5),(33066,5),(33067,5),(33070,5),(33084,5),(33085,5),(33097,5),(33098,5),(33102,5),(33117,5),(33120,5),(33133,5),(33139,5),(33144,5),(33154,5),(33157,5),(33158,5),(33161,5),(33167,5),(33170,5),(33171,5),(33174,5),(33179,5),(33195,5),(33209,5),(33211,5),(33212,5),(33215,5),(33238,5),(33252,5),(33267,5),(33272,5),(33278,5),(33299,5),(33303,5),(33304,5),(33319,5),(33320,5),(33339,5),(33340,5),(33343,5),(33346,5),(33352,5),(33362,5),(33367,5),(33368,5),(33376,5),(33381,5),(33382,5),(33388,5),(33401,5),(33415,5),(33417,5),(33419,5),(33424,5),(33428,5),(33444,5),(33445,5),(33446,5),(33463,5),(33467,5),(33486,5),(33488,5),(33495,5),(33503,5),(33510,5),(33515,5),(33516,5),(33518,5),(33527,5),(33528,5),(33534,5),(33543,5),(33544,5),(33547,5),(33555,5),(33563,5),(33568,5),(33571,5),(33573,5),(33575,5),(33585,5),(33587,5),(33588,5),(33598,5),(33606,5),(33610,5),(33620,5),(33624,5),(33625,5),(33637,5),(33645,5),(33659,5),(33668,5),(33674,5),(33676,5),(33677,5),(33678,5),(33680,5),(33682,5),(33691,5),(33695,5),(33708,5),(33710,5),(33715,5),(33716,5),(33718,5),(33719,5),(33721,5),(33722,5),(33727,5),(33729,5),(33739,5),(33751,5),(33754,5),(33763,5),(33770,5),(33774,5),(33784,5),(33785,5),(33789,5),(33793,5),(33820,5),(33825,5),(33826,5),(33828,5),(33832,5),(33838,5),(33845,5),(33846,5),(33847,5),(33848,5),(33856,5),(33871,5),(33875,5),(33881,5),(33884,5),(33893,5),(33900,5),(33903,5),(33911,5),(33913,5),(33917,5),(33936,5),(33939,5),(33958,5),(33963,5),(33964,5),(33966,5),(33982,5),(33991,5),(34003,5),(34013,5),(34014,5),(34019,5),(34021,5),(34025,5),(34027,5),(34028,5),(34029,5),(34030,5),(34034,5),(34040,5),(34043,5),(34047,5),(34049,5),(34070,5),(34093,5),(34094,5),(34099,5),(34107,5),(34115,5),(34119,5),(34125,5),(34130,5),(34135,5),(34147,5),(34156,5),(34166,5),(34181,5),(34184,5),(34187,5),(34189,5),(34190,5),(34195,5),(34200,5),(34206,5),(34207,5),(34210,5),(34213,5),(34214,5),(34216,5),(34237,5),(34239,5),(34242,5),(34255,5),(34271,5),(34272,5),(34273,5),(34274,5),(34281,5),(34283,5),(34293,5),(34298,5),(34304,5),(34305,5),(34312,5),(34315,5),(34316,5),(34323,5),(34324,5),(34326,5),(34331,5),(34333,5),(34352,5),(34354,5),(34356,5),(34359,5),(34364,5),(34372,5),(34374,5),(34375,5),(34377,5),(34380,5),(34396,5),(34410,5),(34415,5),(34417,5),(34420,5),(34428,5),(34431,5),(34443,5),(34457,5),(34464,5),(34467,5),(34473,5),(34474,5),(34487,5),(34489,5),(34500,5),(34504,5),(34505,5),(34514,5),(34520,5),(34532,5),(34537,5),(34545,5),(34559,5),(34563,5),(34567,5),(34570,5),(34573,5),(34609,5),(34613,5),(34620,5),(34631,5),(34635,5),(34641,5),(34645,5),(34648,5),(34656,5),(34663,5),(34665,5),(34668,5),(34674,5),(34678,5),(34680,5),(34683,5),(34686,5),(34693,5),(34702,5),(34705,5),(34718,5),(34727,5),(34732,5),(34739,5),(34749,5),(34760,5),(34762,5),(34767,5),(34778,5),(34781,5),(34782,5),(34793,5),(34800,5),(34806,5),(34816,5),(34820,5),(34823,5),(34828,5),(34831,5),(34834,5),(34841,5),(34844,5),(34847,5),(34851,5),(34865,5),(34867,5),(34873,5),(34874,5),(34876,5),(34879,5),(34897,5),(34899,5),(34902,5),(34909,5),(34914,5),(34920,5),(34923,5),(34924,5),(34938,5),(34945,5),(34950,5),(34957,5),(34959,5),(34963,5),(34973,5),(34974,5),(34981,5),(34984,5),(34988,5),(34989,5),(34993,5),(35011,5),(35018,5),(35031,5),(35037,5),(35041,5),(35047,5),(35053,5),(35060,5),(35067,5),(35069,5),(35072,5),(35085,5),(35086,5),(35090,5),(35099,5),(35102,5),(35114,5),(35122,5),(35131,5),(35137,5),(35142,5),(35150,5),(35171,5),(35179,5),(35191,5),(35196,5),(35209,5),(35211,5),(35216,5),(35221,5),(35230,5),(35241,5),(35243,5),(35248,5),(35251,5),(35282,5),(35283,5),(35305,5),(35332,5),(35336,5),(35344,5),(35352,5),(35356,5),(35360,5),(35364,5),(35371,5),(35372,5),(35377,5),(35379,5),(35383,5),(35385,5),(35391,5),(35404,5),(35406,5),(35413,5),(35416,5),(35422,5),(35429,5),(35434,5),(35438,5),(35444,5),(35447,5),(35457,5),(35487,5),(35488,5),(35489,5),(35493,5),(35497,5),(35509,5),(35510,5),(35522,5),(35533,5),(35535,5),(35555,5),(35561,5),(35566,5),(35568,5),(35569,5),(35575,5),(35584,5),(35586,5),(35593,5),(35598,5),(35600,5),(35601,5),(35605,5),(35609,5),(35612,5),(35615,5),(35623,5),(35629,5),(35631,5),(35641,5),(35646,5),(35649,5),(35652,5),(35677,5),(35685,5),(35688,5),(35689,5),(35691,5),(35697,5),(35722,5),(35725,5),(35735,5),(35739,5),(35746,5),(35754,5),(35757,5),(35761,5),(35765,5),(35769,5),(35775,5),(35778,5),(35788,5),(35795,5),(35799,5),(35807,5),(35812,5),(35818,5),(35834,5),(35848,5),(35865,5),(35868,5),(35870,5),(35871,5),(35876,5),(35878,5),(35892,5),(35911,5),(35923,5),(35936,5),(35943,5),(35949,5),(35956,5),(35962,5),(35964,5),(35976,5),(35983,5),(35988,5),(35990,5),(35996,5),(35997,5),(36000,5),(36006,5),(36018,5),(36022,5),(36024,5),(36025,5),(36035,5),(36038,5),(36050,5),(36052,5),(36055,5),(36060,5),(36064,5),(36077,5),(36080,5),(36085,5),(36086,5),(36089,5),(36098,5),(36100,5),(36105,5),(36110,5),(36115,5),(36116,5),(36119,5),(36121,5),(36124,5),(36125,5),(36126,5),(36128,5),(36143,5),(36148,5),(36153,5),(36172,5),(36174,5),(36177,5),(36183,5),(36184,5),(36190,5),(36202,5),(36203,5),(36205,5),(36207,5),(36219,5),(36220,5),(36221,5),(36222,5),(36254,5),(36264,5),(36265,5),(36267,5),(36269,5),(36295,5),(36298,5),(36301,5),(36307,5),(36311,5),(36314,5),(36318,5),(36335,5),(36347,5),(36349,5),(36356,5),(36359,5),(36367,5),(36385,5),(36386,5),(36389,5),(36391,5),(36394,5),(36396,5),(36399,5),(36402,5),(36407,5),(36415,5),(36417,5),(36436,5),(36443,5),(36444,5),(36453,5),(36459,5),(36461,5),(36464,5),(36465,5),(36467,5),(36468,5),(36475,5),(36478,5),(36505,5),(36507,5),(36518,5),(36538,5),(36539,5),(36544,5),(36548,5),(36549,5),(36550,5),(36552,5),(36559,5),(36560,5),(36582,5),(36589,5),(36597,5),(36598,5),(36600,5),(36601,5),(36603,5),(36608,5),(36612,5),(36622,5),(36631,5),(36639,5),(36641,5),(36661,5),(36662,5),(36671,5),(36675,5),(36683,5),(36687,5),(36688,5),(36691,5),(36694,5),(36697,5),(36704,5),(36706,5),(36731,5),(36738,5),(36756,5),(36758,5),(36770,5),(36783,5),(36796,5),(36806,5),(36808,5),(36815,5),(36839,5),(36851,5),(36853,5),(36855,5),(36860,5),(36869,5),(36885,5),(36891,5),(36902,5),(36904,5),(36920,5),(36923,5),(36924,5),(36933,5),(36936,5),(36940,5),(36941,5),(36947,5),(36949,5),(36952,5),(36957,5),(36963,5),(36970,5),(36981,5),(36993,5),(37022,5),(37025,5),(37042,5),(37045,5),(37048,5),(37055,5),(37058,5),(37060,5),(37062,5),(37066,5),(37077,5),(37081,5),(37083,5),(37093,5),(37096,5),(37113,5),(37121,5),(37122,5),(37123,5),(37127,5),(37129,5),(37136,5),(37145,5),(37147,5),(37149,5),(37150,5),(37152,5),(37155,5),(37158,5),(37163,5),(37164,5),(37166,5),(37172,5),(37174,5),(37175,5),(37176,5),(37194,5),(37201,5),(37215,5),(37216,5),(37220,5),(37235,5),(37236,5),(37240,5),(37245,5),(37246,5),(37257,5),(37260,5),(37261,5),(37263,5),(37269,5),(37270,5),(37276,5),(37287,5),(37292,5),(37297,5),(37304,5),(37309,5),(37316,5),(37318,5),(37319,5),(37326,5),(37327,5),(37343,5),(37346,5),(37362,5),(37376,5),(37386,5),(37391,5),(37403,5),(37414,5),(37416,5),(37417,5),(37418,5),(37422,5),(37424,5),(37429,5),(37433,5),(37438,5),(37455,5),(37457,5),(37462,5),(37464,5),(37472,5),(37476,5),(37486,5),(37489,5),(37493,5),(37495,5),(37499,5),(37500,5),(37503,5),(37504,5),(37511,5),(37514,5),(37519,5),(37520,5),(37522,5),(37540,5),(37546,5),(37548,5),(37549,5),(37551,5),(37559,5),(37561,5),(37563,5),(37564,5),(37568,5),(37586,5),(37597,5),(37607,5),(37619,5),(37621,5),(37640,5),(37651,5),(37664,5),(37686,5),(37687,5),(37689,5),(37695,5),(37700,5),(37710,5),(37711,5),(37712,5),(37717,5),(37732,5),(37733,5),(37737,5),(37739,5),(37740,5),(37741,5),(37742,5),(37745,5),(37749,5),(37751,5),(37753,5),(37754,5),(37757,5),(37760,5),(37766,5),(37772,5),(37776,5),(37788,5),(37790,5),(37794,5),(37796,5),(37799,5),(37809,5),(37813,5),(37825,5),(37838,5),(37841,5),(37848,5),(37855,5),(37870,5),(37874,5),(37885,5),(37888,5),(37894,5),(37898,5),(37909,5),(37911,5),(37914,5),(37920,5),(37925,5),(37927,5),(37928,5),(37929,5),(37935,5),(37939,5),(37949,5),(37950,5),(37951,5),(37954,5),(37959,5),(37960,5),(37966,5),(37971,5),(37973,5),(37977,5),(37989,5),(37998,5),(37999,5),(38001,5),(38013,5),(38035,5),(38038,5),(38042,5),(38052,5),(38057,5),(38059,5),(38073,5),(38080,5),(38091,5),(38094,5),(38105,5),(38110,5),(38114,5),(38123,5),(38130,5),(38131,5),(38136,5),(38145,5),(38151,5),(38161,5),(38167,5),(38194,5),(38196,5),(38199,5),(38200,5),(38201,5),(38204,5),(38206,5),(38207,5),(38208,5),(38211,5),(38215,5),(38226,5),(38231,5),(38239,5),(38260,5),(38269,5),(38277,5),(38278,5),(38283,5),(38284,5),(38288,5),(38299,5),(38305,5),(38314,5),(38324,5),(38331,5),(38333,5),(38339,5),(38345,5),(38353,5),(38356,5),(38384,5),(38389,5),(38390,5),(38391,5),(38399,5),(38400,5),(38411,5),(38412,5),(38417,5),(38425,5),(38437,5),(38438,5),(38446,5),(38448,5),(38456,5),(38467,5),(38478,5),(38479,5),(38488,5),(38495,5),(38506,5),(38510,5),(38514,5),(38518,5),(38538,5),(38549,5),(38555,5),(38560,5),(38569,5),(38572,5),(38573,5),(38591,5),(38599,5),(38611,5),(38631,5),(38633,5),(38634,5),(38642,5),(38653,5),(38657,5),(38662,5),(38673,5),(38694,5),(38695,5),(38698,5),(38704,5),(38707,5),(38709,5),(38710,5),(38711,5),(38715,5),(38716,5),(38731,5),(38734,5),(38751,5),(38754,5),(38757,5),(38761,5),(38762,5),(38767,5),(38771,5),(38774,5),(38782,5),(38798,5),(38803,5),(38813,5),(38837,5),(38845,5),(38850,5),(38865,5),(38872,5),(38877,5),(38886,5),(38896,5),(38899,5),(38902,5),(38904,5),(38905,5),(38911,5),(38913,5),(38915,5),(38929,5),(38931,5),(38949,5),(38951,5),(38959,5),(38963,5),(38970,5),(38988,5),(38990,5),(38996,5),(39007,5),(39012,5),(39020,5),(39027,5),(39039,5),(39044,5),(39046,5),(39051,5),(39062,5),(39064,5),(39096,5),(39097,5),(39101,5),(39115,5),(39120,5),(39156,5),(39158,5),(39161,5),(39170,5),(39173,5),(39174,5),(39177,5),(39189,5),(39191,5),(39196,5),(39206,5),(39225,5),(39228,5),(39230,5),(39231,5),(39241,5),(39245,5),(39246,5),(39256,5),(39258,5),(39263,5),(39273,5),(39280,5),(39285,5),(39290,5),(39301,5),(39305,5),(39308,5),(39311,5),(39314,5),(39316,5),(39317,5),(39321,5),(39324,5),(39327,5),(39329,5),(39344,5),(39354,5),(39356,5),(39366,5),(39375,5),(39376,5),(39386,5),(39387,5),(39390,5),(39404,5),(39408,5),(39414,5),(39419,5),(39420,5),(39421,5),(39429,5),(39434,5),(39437,5),(39439,5),(39440,5),(39448,5),(39450,5),(39453,5),(39454,5),(39462,5),(39471,5),(39476,5),(39482,5),(39486,5),(39497,5),(39501,5),(39504,5),(39505,5),(39512,5),(39523,5),(39524,5),(39531,5),(39538,5),(39555,5),(39557,5),(39561,5),(39567,5),(39570,5),(39571,5),(39575,5),(39576,5),(39590,5),(39596,5),(39604,5),(39612,5),(39631,5),(39643,5),(39656,5),(39670,5),(39676,5),(39682,5),(39684,5),(39686,5),(39688,5),(39698,5),(39700,5),(39702,5),(39709,5),(39710,5),(39712,5),(39716,5),(39718,5),(39720,5),(39722,5),(39743,5),(39745,5),(39757,5),(39770,5),(39774,5),(39798,5),(39802,5),(39804,5),(39806,5),(39812,5),(39814,5),(39818,5),(39821,5),(39830,5),(39839,5),(39841,5),(39843,5),(39853,5),(39855,5),(39873,5),(39875,5),(39876,5),(39881,5),(39885,5),(39887,5),(39894,5),(39907,5),(39912,5),(39916,5),(39920,5),(39931,5),(39932,5),(39939,5),(39940,5),(39946,5),(39957,5),(39958,5),(39961,5),(39973,5),(39974,5),(39984,5),(39985,5),(39989,5),(39990,5),(39996,5),(39997,5),(40002,5),(40004,5),(40008,5),(40010,5),(40013,5),(40017,5),(40025,5),(40039,5),(40040,5),(40045,5),(40047,5),(40053,5),(40057,5),(40060,5),(40062,5),(40066,5),(40077,5),(40078,5),(40098,5),(40100,5),(40101,5),(40104,5),(40112,5),(40115,5),(40117,5),(40118,5),(40123,5),(40128,5),(40159,5),(40164,5),(40179,5),(40180,5),(40190,5),(40195,5),(40205,5),(40207,5),(40212,5),(40217,5),(40233,5),(40240,5),(40248,5),(40252,5),(40254,5),(40268,5),(40269,5),(40279,5),(40281,5),(40282,5),(40291,5),(40297,5),(40298,5),(40300,5),(40305,5),(40307,5),(40311,5),(40312,5),(40315,5),(40320,5),(40323,5),(40326,5),(40341,5),(40348,5),(40352,5),(40354,5),(40355,5),(40359,5),(40371,5),(40376,5),(40379,5),(40381,5),(40387,5),(40398,5),(40399,5),(40405,5),(40406,5),(40413,5),(40433,5),(40436,5),(40453,5),(40455,5),(40464,5),(40471,5),(40498,5),(40505,5),(40507,5),(40511,5),(40521,5),(40529,5),(40533,5),(40538,5),(40541,5),(40542,5),(40544,5),(40546,5),(40567,5),(40570,5),(40571,5),(40572,5),(40580,5),(40585,5),(40590,5),(40606,5),(40608,5),(40611,5),(40616,5),(40620,5),(40626,5),(40628,5),(40629,5),(40643,5),(40656,5),(40658,5),(40659,5),(40661,5),(40662,5),(40664,5),(40671,5),(40675,5),(40693,5),(40699,5),(40704,5),(40705,5),(40706,5),(40709,5),(40712,5),(40713,5),(40717,5),(40729,5),(40745,5),(40750,5),(40752,5),(40760,5),(40763,5),(40781,5),(40802,5),(40803,5),(40819,5),(40837,5),(40842,5),(40844,5),(40846,5),(40881,5),(40884,5),(40889,5),(40892,5),(40901,5),(40913,5),(40914,5),(40915,5),(40928,5),(40933,5),(40934,5),(40936,5),(40943,5),(40953,5),(40963,5),(40970,5),(40975,5),(40986,5),(40988,5),(40993,5),(40994,5),(40995,5),(40997,5),(40999,5),(41010,5),(41014,5),(41020,5),(41036,5),(41039,5),(41055,5),(41057,5),(41061,5),(41069,5),(41072,5),(41077,5),(41084,5),(41087,5),(41102,5),(41108,5),(41114,5),(41117,5),(41125,5),(41126,5),(41130,5),(41135,5),(41138,5),(41151,5),(41163,5),(41170,5),(41178,5),(41184,5),(41185,5),(41188,5),(41190,5),(41193,5),(41203,5),(41209,5),(41212,5),(41214,5),(41225,5),(41227,5),(41229,5),(41233,5),(41237,5),(41241,5),(41247,5),(41259,5),(41260,5),(41261,5),(41268,5),(41275,5),(41279,5),(41282,5),(41289,5),(41291,5),(41292,5),(41299,5),(41305,5),(41308,5),(41309,5),(41311,5),(41339,5),(41342,5),(41344,5),(41345,5),(41348,5),(41358,5),(41364,5),(41366,5),(41368,5),(41369,5),(41372,5),(41379,5),(41406,5),(41414,5),(41420,5),(41433,5),(41437,5),(41465,5),(41479,5),(41480,5),(41481,5),(41483,5),(41484,5),(41489,5),(41490,5),(41491,5),(41503,5),(41507,5),(41511,5),(41516,5),(41523,5),(41529,5),(41530,5),(41541,5),(41547,5),(41551,5),(41564,5),(41568,5),(41572,5),(41579,5),(41588,5),(41599,5),(41607,5),(41610,5),(41621,5),(41631,5),(41633,5),(41634,5),(41635,5),(41659,5),(41661,5),(41664,5),(41671,5),(41677,5),(41678,5),(41683,5),(41692,5),(41696,5),(41713,5),(41719,5),(41725,5),(41730,5),(41738,5),(41744,5),(41746,5),(41748,5),(41750,5),(41754,5),(41768,5),(41780,5),(41786,5),(41798,5),(41817,5),(41820,5),(41824,5),(41825,5),(41829,5),(41839,5),(41854,5),(41855,5),(41859,5),(41864,5),(41868,5),(41869,5),(41872,5),(41892,5),(41896,5),(41901,5),(41908,5),(41915,5),(41926,5),(41930,5),(41936,5),(41947,5),(41955,5),(41969,5),(41974,5),(41976,5),(41978,5),(41980,5),(41989,5),(41991,5),(42005,5),(42015,5),(42025,5),(42029,5),(42038,5),(42043,5),(42053,5),(42055,5),(42056,5),(42058,5),(42059,5),(42071,5),(42079,5),(42080,5),(42082,5),(42092,5),(42096,5),(42108,5),(42109,5),(42112,5),(42121,5),(42122,5),(42125,5),(42127,5),(42130,5),(42134,5),(42135,5),(42136,5),(42140,5),(42149,5),(42150,5),(42151,5),(42153,5),(42154,5),(42156,5),(42158,5),(42163,5),(42164,5),(42166,5),(42170,5),(42171,5),(42175,5),(42190,5),(42192,5),(42199,5),(42210,5),(42211,5),(42218,5),(42221,5),(42222,5),(42236,5),(42241,5),(42258,5),(42261,5),(42268,5),(42272,5),(42281,5),(42283,5),(42296,5),(42301,5),(42309,5),(42310,5),(42321,5),(42326,5),(42336,5),(42344,5),(42349,5),(42363,5),(42367,5),(42369,5),(42379,5),(42385,5),(42393,5),(42396,5),(42401,5),(42409,5),(42412,5),(42413,5),(42416,5),(42418,5),(42433,5),(42437,5),(42463,5),(42464,5),(42466,5),(42491,5),(42493,5),(42502,5),(42513,5),(42514,5),(42517,5),(42519,5),(42524,5),(42536,5),(42538,5),(42545,5),(42549,5),(42561,5),(42571,5),(42575,5),(42581,5),(42585,5),(42588,5),(42589,5),(42592,5),(42599,5),(42605,5),(42606,5),(42608,5),(42611,5),(42613,5),(42615,5),(42622,5),(42626,5),(42629,5),(42641,5),(42643,5),(42652,5),(42653,5),(42655,5),(42682,5),(42687,5),(42689,5),(42697,5),(42698,5),(42713,5),(42716,5),(42717,5),(42730,5),(42735,5),(42738,5),(42740,5),(42744,5),(42748,5),(42750,5),(42768,5),(42782,5),(42796,5),(42804,5),(42817,5),(42819,5),(42837,5),(42849,5),(42851,5),(42867,5),(42869,5),(42870,5),(42875,5),(42877,5),(42884,5),(42891,5),(42898,5),(42908,5),(42910,5),(42914,5),(42916,5),(42918,5),(42921,5),(42935,5),(42945,5),(42954,5),(42962,5),(42966,5),(42971,5),(42980,5),(42983,5),(42987,5),(42988,5),(42990,5),(43007,5),(43009,5),(43013,5),(43018,5),(43019,5),(43027,5),(43041,5),(43050,5),(43051,5),(43055,5),(43065,5),(43073,5),(43081,5),(43083,5),(43089,5),(43091,5),(43099,5),(43110,5),(43111,5),(43112,5),(43119,5),(43122,5),(43140,5),(43142,5),(43148,5),(43151,5),(43156,5),(43158,5),(43165,5),(43174,5),(43189,5),(43215,5),(43216,5),(43220,5),(43221,5),(43265,5),(43266,5),(43270,5),(43272,5),(43291,5),(43305,5),(43311,5),(43312,5),(43313,5),(43319,5),(43325,5),(43334,5),(43335,5),(43338,5),(43340,5),(43359,5),(43361,5),(43365,5),(43368,5),(43376,5),(43380,5),(43399,5),(43402,5),(43407,5),(43409,5),(43420,5),(43423,5),(43429,5),(43430,5),(43431,5),(43432,5),(43434,5),(43438,5),(43444,5),(43450,5),(43451,5),(43452,5),(43454,5),(43456,5),(43471,5),(43472,5),(43473,5),(43480,5),(43486,5),(43506,5),(43507,5),(43510,5),(43520,5),(43525,5),(43530,5),(43531,5),(43532,5),(43538,5),(43546,5),(43558,5),(43559,5),(43578,5),(43579,5),(43590,5),(43609,5),(43613,5),(43616,5),(43621,5),(43624,5),(43631,5),(43651,5),(43655,5),(43658,5),(43671,5),(43680,5),(43684,5),(43685,5),(43691,5),(43699,5),(43709,5),(43710,5),(43720,5),(43725,5),(43746,5),(43756,5),(43759,5),(43761,5),(43768,5),(43773,5),(43781,5),(43784,5),(43786,5),(43806,5),(43808,5),(43815,5),(43820,5),(43821,5),(43825,5),(43833,5),(43839,5),(43843,5),(43845,5),(43849,5),(43854,5),(43860,5),(43873,5),(43874,5),(43878,5),(43881,5),(43886,5),(43893,5),(43897,5),(43900,5),(43907,5),(43912,5),(43920,5),(43922,5),(43928,5),(43936,5),(43946,5),(43954,5),(43958,5),(43964,5),(43971,5),(43985,5),(43995,5),(44003,5),(44007,5),(44008,5),(44011,5),(44018,5),(44019,5),(44024,5),(44030,5),(44039,5),(44053,5),(44058,5),(44066,5),(44070,5),(44071,5),(44073,5),(44074,5),(44082,5),(44089,5),(44101,5),(44107,5),(44119,5),(44120,5),(44129,5),(44132,5),(44137,5),(44142,5),(44144,5),(44145,5),(44146,5),(44168,5),(44171,5),(44176,5),(44181,5),(44186,5),(44191,5),(44193,5),(44202,5),(44231,5),(44246,5),(44247,5),(44253,5),(44259,5),(44263,5),(44264,5),(44265,5),(44268,5),(44269,5),(44278,5),(44285,5),(44290,5),(44315,5),(44321,5),(44346,5),(44353,5),(44358,5),(44363,5),(44366,5),(44368,5),(44380,5),(44384,5),(44390,5),(44392,5),(44405,5),(44406,5),(44412,5),(44421,5),(44426,5),(44434,5),(44439,5),(44440,5),(44444,5),(44461,5),(44463,5),(44470,5),(44471,5),(44478,5),(44491,5),(44508,5),(44511,5),(44516,5),(44521,5),(44526,5),(44529,5),(44533,5),(44538,5),(44547,5),(44548,5),(44552,5),(44565,5),(44591,5),(44603,5),(44604,5),(44619,5),(44620,5),(44624,5),(44632,5),(44637,5),(44644,5),(44647,5),(44653,5),(44656,5),(44659,5),(44663,5),(44670,5),(44691,5),(44708,5),(44713,5),(44737,5),(44741,5),(44754,5),(44755,5),(44759,5),(44764,5),(44767,5),(44771,5),(44775,5),(44787,5),(44789,5),(44791,5),(44806,5),(44808,5),(44829,5),(44843,5),(44845,5),(44851,5),(44853,5),(44854,5),(44867,5),(44871,5),(44872,5),(44880,5),(44894,5),(44897,5),(44899,5),(44907,5),(44913,5),(44932,5),(44941,5),(44944,5),(44948,5),(44951,5),(44954,5),(44958,5),(44963,5),(44968,5),(44974,5),(44979,5),(44981,5),(45000,5),(45008,5),(45010,5),(45018,5),(45022,5),(45039,5),(45044,5),(45045,5),(45049,5),(45051,5),(45057,5),(45058,5),(45060,5),(45066,5),(45084,5),(45087,5),(45090,5),(45094,5),(45097,5),(45106,5),(45112,5),(45115,5),(45116,5),(45120,5),(45122,5),(45144,5),(45155,5),(45156,5),(45161,5),(45165,5),(45166,5),(45172,5),(45173,5),(45174,5),(45177,5),(45181,5),(45197,5),(45200,5),(45214,5),(45227,5),(45228,5),(45239,5),(45244,5),(45247,5),(45273,5),(45278,5),(45286,5),(45292,5),(45303,5),(45304,5),(45306,5),(45314,5),(45315,5),(45316,5),(45318,5),(45319,5),(45328,5),(45329,5),(45330,5),(45342,5),(45353,5),(45354,5),(45360,5),(45361,5),(45366,5),(45394,5),(45397,5),(45400,5),(45402,5),(45407,5),(45410,5),(45411,5),(45412,5),(45413,5),(45417,5),(45422,5),(45429,5),(45440,5),(45441,5),(45451,5),(45453,5),(45471,5),(45472,5),(45476,5),(45487,5),(45494,5),(45500,5),(45505,5),(45506,5),(45513,5),(45518,5),(45520,5),(45524,5),(45532,5),(45545,5),(45550,5),(45553,5),(45559,5),(45604,5),(45605,5),(45609,5),(45620,5),(45626,5),(45633,5),(45634,5),(45642,5),(45650,5),(45653,5),(45657,5),(45660,5),(45663,5),(45674,5),(45685,5),(45686,5),(45692,5),(45710,5),(45712,5),(45723,5),(45724,5),(45728,5),(45733,5),(45739,5),(45742,5),(45749,5),(45752,5),(45756,5),(45757,5),(45764,5),(45770,5),(45773,5),(45775,5),(45778,5),(45779,5),(45783,5),(45784,5),(45787,5),(45788,5),(45790,5),(45794,5),(45804,5),(45811,5),(45822,5),(45831,5),(45848,5),(45849,5),(45850,5),(45858,5),(45859,5),(45861,5),(45866,5),(45867,5),(45870,5),(45873,5),(45891,5),(45892,5),(45903,5),(45906,5),(45907,5),(45909,5),(45912,5),(45926,5),(45936,5),(45940,5),(45946,5),(45950,5),(45958,5),(45964,5),(45978,5),(45980,5),(45987,5),(45988,5),(45990,5),(45992,5),(45998,5),(46001,5),(46007,5),(46018,5),(46019,5),(46021,5),(46024,5),(46026,5),(46033,5),(46036,5),(46042,5),(46056,5),(46061,5),(46064,5),(46067,5),(46069,5),(46092,5),(46093,5),(46105,5),(46111,5),(46115,5),(46126,5),(46131,5),(46134,5),(46136,5),(46138,5),(46145,5),(46156,5),(46162,5),(46175,5),(46180,5),(46183,5),(46184,5),(46187,5),(46189,5),(46190,5),(46204,5),(46222,5),(46224,5),(46225,5),(46228,5),(46233,5),(46237,5),(46244,5),(46246,5),(46248,5),(46258,5),(46265,5),(46272,5),(46274,5),(46289,5),(46296,5),(46301,5),(46316,5),(46325,5),(46330,5),(46333,5),(46336,5),(46337,5),(46347,5),(46348,5),(46353,5),(46368,5),(46381,5),(46385,5),(46394,5),(46395,5),(46401,5),(46402,5),(46403,5),(46405,5),(46408,5),(46410,5),(46415,5),(46417,5),(46423,5),(46428,5),(46432,5),(46434,5),(46439,5),(46444,5),(46452,5),(46463,5),(46465,5),(46471,5),(46481,5),(46487,5),(46493,5),(46499,5),(46514,5),(46515,5),(46516,5),(46519,5),(46523,5),(46533,5),(46537,5),(46545,5),(46555,5),(46562,5),(46563,5),(46575,5),(46579,5),(46583,5),(46584,5),(46587,5),(46589,5),(46594,5),(46596,5),(46618,5),(46621,5),(46631,5),(46642,5),(46646,5),(46665,5),(46667,5),(46668,5),(46670,5),(46672,5),(46673,5),(46690,5),(46692,5),(46693,5),(46694,5),(46696,5),(46707,5),(46718,5),(46719,5),(46721,5),(46723,5),(46755,5),(46765,5),(46771,5),(46785,5),(46788,5),(46793,5),(46799,5),(46811,5),(46812,5),(46823,5),(46834,5),(46841,5),(46844,5),(46845,5),(46850,5),(46851,5),(46859,5),(46870,5),(46872,5),(46873,5),(46876,5),(46878,5),(46890,5),(46893,5),(46900,5),(46903,5),(46918,5),(46923,5),(46929,5),(46931,5),(46944,5),(46957,5),(46958,5),(46964,5),(46969,5),(46971,5),(46983,5),(46984,5),(46986,5),(46995,5),(47003,5),(47007,5),(47010,5),(47013,5),(47020,5),(47027,5),(47032,5),(47036,5),(47037,5),(47040,5),(47042,5),(47044,5),(47048,5),(47053,5),(47065,5),(47072,5),(47080,5),(47093,5),(47095,5),(47100,5),(47105,5),(47106,5),(47118,5),(47125,5),(47133,5),(47134,5),(47140,5),(47149,5),(47158,5),(47159,5),(47174,5),(47185,5),(47187,5),(47188,5),(47191,5),(47192,5),(47193,5),(47197,5),(47217,5),(47220,5),(47228,5),(47233,5),(47240,5),(47243,5),(47249,5),(47261,5),(47263,5),(47267,5),(47269,5),(47275,5),(47276,5),(47280,5),(47285,5),(47295,5),(47300,5),(47306,5),(47313,5),(47325,5),(47331,5),(47340,5),(47341,5),(47349,5),(47350,5),(47361,5),(47363,5),(47372,5),(47374,5),(47377,5),(47378,5),(47379,5),(47404,5),(47406,5),(47417,5),(47418,5),(47422,5),(47437,5),(47439,5),(47444,5),(47445,5),(47455,5),(47457,5),(47482,5),(47487,5),(47490,5),(47492,5),(47500,5),(47508,5),(47524,5),(47540,5),(47549,5),(47550,5),(47566,5),(47567,5),(47569,5),(47575,5),(47579,5),(47581,5),(47585,5),(47594,5),(47609,5),(47612,5),(47634,5),(47636,5),(47641,5),(47651,5),(47653,5),(47662,5),(47680,5),(47681,5),(47683,5),(47684,5),(47692,5),(47701,5),(47702,5),(47710,5),(47712,5),(47714,5),(47715,5),(47719,5),(47721,5),(47730,5),(47741,5),(47745,5),(47748,5),(47749,5),(47763,5),(47775,5),(47788,5),(47794,5),(47797,5),(47802,5),(47803,5),(47817,5),(47819,5),(47821,5),(47825,5),(47826,5),(47828,5),(47839,5),(47842,5),(47846,5),(47849,5),(47856,5),(47877,5),(47897,5),(47912,5),(47914,5),(47923,5),(47925,5),(47947,5),(47950,5),(47960,5),(47964,5),(47972,5),(47979,5),(47983,5),(47986,5),(47987,5),(47996,5),(48004,5),(48009,5),(48010,5),(48011,5),(48014,5),(48019,5),(48030,5),(48039,5),(48042,5),(48047,5),(48048,5),(48049,5),(48054,5),(48056,5),(48057,5),(48060,5),(48064,5),(48069,5),(48071,5),(48072,5),(48079,5),(48081,5),(48087,5),(48089,5),(48090,5),(48101,5),(48103,5),(48110,5),(48112,5),(48115,5),(48120,5),(48129,5),(48134,5),(48136,5),(48138,5),(48141,5),(48150,5),(48151,5),(48155,5),(48157,5),(48160,5),(48169,5),(48179,5),(48190,5),(48197,5),(48200,5),(48206,5),(48213,5),(48245,5),(48260,5),(48261,5),(48264,5),(48272,5),(48273,5),(48284,5),(48288,5),(48295,5),(48317,5),(48318,5),(48330,5),(48335,5),(48342,5),(48343,5),(48344,5),(48345,5),(48348,5),(48361,5),(48363,5),(48368,5),(48369,5),(48378,5),(48379,5),(48383,5),(48404,5),(48406,5),(48412,5),(48414,5),(48439,5),(48447,5),(48450,5),(48453,5),(48454,5),(48458,5),(48459,5),(48464,5),(48471,5),(48487,5),(48507,5),(48508,5),(48521,5),(48535,5),(48557,5),(48564,5),(48565,5),(48568,5),(48581,5),(48583,5),(48588,5),(48594,5),(48615,5),(48616,5),(48619,5),(48622,5),(48627,5),(48632,5),(48639,5),(48651,5),(48653,5),(48654,5),(48661,5),(48662,5),(48666,5),(48667,5),(48671,5),(48677,5),(48685,5),(48687,5),(48688,5),(48691,5),(48720,5),(48721,5),(48723,5),(48729,5),(48730,5),(48731,5),(48736,5),(48738,5),(48739,5),(48743,5),(48757,5),(48761,5),(48768,5),(48771,5),(48773,5),(48775,5),(48777,5),(48784,5),(48793,5),(48796,5),(48806,5),(48813,5),(48831,5),(48833,5),(48837,5),(48844,5),(48847,5),(48857,5),(48860,5),(48861,5),(48862,5),(48864,5),(48865,5),(48870,5),(48887,5),(48893,5),(48898,5),(48900,5),(48906,5),(48913,5),(48917,5),(48918,5),(48926,5),(48929,5),(48933,5),(48935,5),(48938,5),(48940,5),(48946,5),(48951,5),(48959,5),(48973,5),(48974,5),(48975,5),(48987,5),(48990,5),(49001,5),(49006,5),(49009,5),(49024,5),(49026,5),(49031,5),(49054,5),(49062,5),(49079,5),(49095,5),(49105,5),(49106,5),(49109,5),(49112,5),(49127,5),(49130,5),(49135,5),(49137,5),(49145,5),(49150,5),(49165,5),(49183,5),(49189,5),(49196,5),(49197,5),(49201,5),(49206,5),(49223,5),(49238,5),(49241,5),(49246,5),(49255,5),(49256,5),(49265,5),(49272,5),(49278,5),(49286,5),(49288,5),(49298,5),(49300,5),(49304,5),(49319,5),(49339,5),(49341,5),(49345,5),(49356,5),(49359,5),(49364,5),(49377,5),(49379,5),(49393,5),(49405,5),(49410,5),(49411,5),(49412,5),(49414,5),(49418,5),(49419,5),(49425,5),(49430,5),(49432,5),(49434,5),(49444,5),(49454,5),(49456,5),(49461,5),(49467,5),(49492,5),(49495,5),(49497,5),(49508,5),(49510,5),(49511,5),(49513,5),(49515,5),(49532,5),(49540,5),(49543,5),(49554,5),(49558,5),(49562,5),(49565,5),(49567,5),(49573,5),(49578,5),(49585,5),(49587,5),(49588,5),(49591,5),(49623,5),(49627,5),(49628,5),(49635,5),(49647,5),(49655,5),(49681,5),(49685,5),(49699,5),(49702,5),(49705,5),(49709,5),(49713,5),(49730,5),(49731,5),(49732,5),(49733,5),(49736,5),(49737,5),(49747,5),(49753,5),(49756,5),(49765,5),(49773,5),(49780,5),(49793,5),(49800,5),(49808,5),(49813,5),(49816,5),(49819,5),(49840,5),(49858,5),(49859,5),(49862,5),(49863,5),(49876,5),(49880,5),(49883,5),(49885,5),(49888,5),(49889,5),(49894,5),(49895,5),(49918,5),(49922,5),(49932,5),(49934,5),(49938,5),(49951,5),(49953,5),(49956,5),(49965,5),(49973,5),(49976,5),(49990,5),(49993,5),(50005,5),(50010,5),(50025,5),(50027,5),(50041,5),(50043,5),(50049,5),(50055,5),(50057,5),(50063,5),(50067,5),(50095,5),(50103,5),(50106,5),(50113,5),(50116,5),(50136,5),(50137,5),(50138,5),(50151,5),(50160,5),(50165,5),(50167,5),(50170,5),(50174,5),(50183,5),(50185,5),(50189,5),(50190,5),(50192,5),(50197,5),(50206,5),(50227,5),(50228,5),(50233,5),(50246,5),(50251,5),(50262,5),(50268,5),(50272,5),(50275,5),(50286,5),(50301,5),(50307,5),(50309,5),(50320,5),(50325,5),(50326,5),(50333,5),(50347,5),(50350,5),(50360,5),(50362,5),(50363,5),(50374,5),(50383,5),(50384,5),(50386,5),(50387,5),(50395,5),(50406,5),(50416,5),(50421,5),(50422,5),(50425,5),(50428,5),(50437,5),(50441,5),(50442,5),(50444,5),(50445,5),(50449,5),(50461,5),(50481,5),(50488,5),(50497,5),(50504,5),(50505,5),(50511,5),(50519,5),(50520,5),(50523,5),(50526,5),(50528,5),(50532,5),(50539,5),(50542,5),(50543,5),(50560,5),(50567,5),(50577,5),(50585,5),(50587,5),(50591,5),(50593,5),(50596,5),(50598,5),(50623,5),(50635,5),(50636,5),(50637,5),(50645,5),(50655,5),(50664,5),(50666,5),(50670,5),(50684,5),(50695,5),(50702,5),(50703,5),(50718,5),(50727,5),(50729,5),(50730,5),(50734,5),(50739,5),(50742,5),(50746,5),(50755,5),(50762,5),(50765,5),(50787,5),(50790,5),(50792,5),(50794,5),(50806,5),(50817,5),(50820,5),(50821,5),(50824,5),(50827,5),(50836,5),(50847,5),(50855,5),(50857,5),(50867,5),(50869,5),(50888,5),(50893,5),(50894,5),(50901,5),(50906,5),(50908,5),(50909,5),(50927,5),(50930,5),(50946,5),(50947,5),(50962,5),(50983,5),(50986,5),(50997,5),(51004,5),(51007,5),(51012,5),(51028,5),(51037,5),(51043,5),(51045,5),(51049,5),(51051,5),(51053,5),(51054,5),(51061,5),(51078,5),(51084,5),(51086,5),(51088,5),(51090,5),(51092,5),(51095,5),(51115,5),(51123,5),(51124,5),(51133,5),(51135,5),(51145,5),(51152,5),(51155,5),(51159,5),(51166,5),(51167,5),(51168,5),(51177,5),(51181,5),(51182,5),(51190,5),(51191,5),(51196,5),(51201,5),(51207,5),(51208,5),(51209,5),(51227,5),(51233,5),(51237,5),(51240,5),(51242,5),(51244,5),(51257,5),(51262,5),(51267,5),(51272,5),(51279,5),(51280,5),(51283,5),(51285,5),(51305,5),(51307,5),(51310,5),(51311,5),(51323,5),(51332,5),(51333,5),(51351,5),(51360,5),(51361,5),(51368,5),(51374,5),(51375,5),(51400,5),(51405,5),(51413,5),(51416,5),(51435,5),(51444,5),(51445,5),(51449,5),(51451,5),(51454,5),(51461,5),(51481,5),(51485,5),(51489,5),(51500,5),(51501,5),(51503,5),(51513,5),(51514,5),(51517,5),(51519,5),(51522,5),(51527,5),(51543,5),(51545,5),(51559,5),(51580,5),(51581,5),(51594,5),(51606,5),(51608,5),(51611,5),(51617,5),(51624,5),(51630,5),(51632,5),(51640,5),(51655,5),(51658,5),(51659,5),(51667,5),(51672,5),(51684,5),(51690,5),(51698,5),(51703,5),(51705,5),(51709,5),(51713,5),(51723,5),(51735,5),(51737,5),(51743,5),(51750,5),(51756,5),(51759,5),(51770,5),(51772,5),(51777,5),(51779,5),(51786,5),(51787,5),(51794,5),(51809,5),(51817,5),(51818,5),(51833,5),(51836,5),(51837,5),(51849,5),(51863,5),(51870,5),(51872,5),(51876,5),(51880,5),(51892,5),(51918,5),(51926,5),(51935,5),(51941,5),(51946,5),(51949,5),(51959,5),(51966,5),(51971,5),(51979,5),(51982,5),(51986,5),(51989,5),(51990,5),(51995,5),(51996,5),(52013,5),(52019,5),(52024,5),(52028,5),(52031,5),(52048,5),(52050,5),(52058,5),(52066,5),(52068,5),(52069,5),(52075,5),(52076,5),(52079,5),(52081,5),(52085,5),(52093,5),(52095,5),(52106,5),(52115,5),(52128,5),(52130,5),(52133,5),(52135,5),(52150,5),(52153,5),(52157,5),(52160,5),(52172,5),(52174,5),(52179,5),(52184,5),(52185,5),(52195,5),(52196,5),(52197,5),(52200,5),(52213,5),(52215,5),(52225,5),(52229,5),(52232,5),(52233,5),(52238,5),(52242,5),(52245,5),(52249,5),(52258,5),(52261,5),(52262,5),(52266,5),(52267,5),(52269,5),(52274,5),(52277,5),(52278,5),(52286,5),(52293,5),(52304,5),(52305,5),(52311,5),(52314,5),(52321,5),(52337,5),(52340,5),(52343,5),(52344,5),(52363,5),(52366,5),(52369,5),(52374,5),(52388,5),(52392,5),(52402,5),(52405,5),(52415,5),(52420,5),(52421,5),(52431,5),(52435,5),(52439,5),(52442,5),(52447,5),(52458,5),(52462,5),(52467,5),(52476,5),(52485,5),(52508,5),(52514,5),(52515,5),(52519,5),(52533,5),(52540,5),(52541,5),(52542,5),(52545,5),(52547,5),(52554,5),(52556,5),(52559,5),(52574,5),(52578,5),(52580,5),(52589,5),(52590,5),(52591,5),(52592,5),(52602,5),(52604,5),(52607,5),(52610,5),(52614,5),(52619,5),(52620,5),(52626,5),(52627,5),(52638,5),(52639,5),(52640,5),(52646,5),(52653,5),(52655,5),(52686,5),(52693,5),(52695,5),(52697,5),(52709,5),(52717,5),(52720,5),(52725,5),(52729,5),(52734,5),(52735,5),(52739,5),(52742,5),(52743,5),(52754,5),(52758,5),(52759,5),(52762,5),(52763,5),(52767,5),(52771,5),(52772,5),(52774,5),(52783,5),(52786,5),(52787,5),(52802,5),(52813,5),(52822,5),(52826,5),(52853,5),(52854,5),(52858,5),(52867,5),(52868,5),(52871,5),(52872,5),(52876,5),(52882,5),(52889,5),(52894,5),(52900,5),(52908,5),(52916,5),(52922,5),(52923,5),(52926,5),(52932,5),(52934,5),(52946,5),(52947,5),(52950,5),(52954,5),(52964,5),(52966,5),(52967,5),(52969,5),(52975,5),(52983,5),(52986,5),(52991,5),(53002,5),(53007,5),(53009,5),(53013,5),(53015,5),(53017,5),(53018,5),(53042,5),(53046,5),(53062,5),(53064,5),(53074,5),(53082,5),(53099,5),(53103,5),(53104,5),(53108,5),(53110,5),(53113,5),(53116,5),(53125,5),(53127,5),(53128,5),(53132,5),(53144,5),(53164,5),(53171,5),(53179,5),(53181,5),(53183,5),(53185,5),(53192,5),(53193,5),(53196,5),(53199,5),(53215,5),(53224,5),(53226,5),(53229,5),(53230,5),(53235,5),(53237,5),(53257,5),(53258,5),(53263,5),(53266,5),(53268,5),(53272,5),(53274,5),(53277,5),(53282,5),(53284,5),(53289,5),(53293,5),(53297,5),(53299,5),(53317,5),(53319,5),(53330,5),(53333,5),(53334,5),(53335,5),(53338,5),(53341,5),(53345,5),(53359,5),(53361,5),(53366,5),(53368,5),(53379,5),(53380,5),(53387,5),(53388,5),(53391,5),(53404,5),(53405,5),(53406,5),(53407,5),(53410,5),(53416,5),(53420,5),(53431,5),(53447,5),(53458,5),(53464,5),(53467,5),(53470,5),(53474,5),(53483,5),(53485,5),(53495,5),(53499,5),(53507,5),(53521,5),(53524,5),(53530,5),(53537,5),(53542,5),(53552,5),(53563,5),(53564,5),(53573,5),(53576,5),(53579,5),(53580,5),(53585,5),(53591,5),(53599,5),(53610,5),(53623,5),(53625,5),(53631,5),(53634,5),(53638,5),(53644,5),(53652,5),(53654,5),(53664,5),(53666,5),(53668,5),(53678,5),(53679,5),(53685,5),(53687,5),(53698,5),(53719,5),(53720,5),(53723,5),(53728,5),(53730,5),(53734,5),(53737,5),(53738,5),(53745,5),(53773,5),(53778,5),(53779,5),(53793,5),(53798,5),(53808,5),(53809,5),(53819,5),(53827,5),(53830,5),(53833,5),(53836,5),(53843,5),(53851,5),(53852,5),(53854,5),(53858,5),(53860,5),(53866,5),(53874,5),(53887,5),(53889,5),(53893,5),(53895,5),(53905,5),(53906,5),(53915,5),(53916,5),(53931,5),(53938,5),(53942,5),(53943,5),(53950,5),(53956,5),(53961,5),(53963,5),(53968,5),(53969,5),(53970,5),(53971,5),(53979,5),(53989,5),(54002,5),(54003,5),(54009,5),(54011,5),(54023,5),(54027,5),(54029,5),(54037,5),(54043,5),(54047,5),(54049,5),(54051,5),(54056,5),(54059,5),(54062,5),(54067,5),(54069,5),(54071,5),(54072,5),(54074,5),(54079,5),(54080,5),(54098,5),(54122,5),(54124,5),(54125,5),(54129,5),(54131,5),(54138,5),(54145,5),(54148,5),(54151,5),(54157,5),(54158,5),(54162,5),(54171,5),(54177,5),(54181,5),(54190,5),(54195,5),(54205,5),(54210,5),(54211,5),(54217,5),(54228,5),(54233,5),(54234,5),(54246,5),(54250,5),(54252,5),(54255,5),(54259,5),(54267,5),(54284,5),(54286,5),(54296,5),(54297,5),(54300,5),(54302,5),(54303,5),(54306,5),(54307,5),(54308,5),(54313,5),(54320,5),(54321,5),(54323,5),(54324,5),(54339,5),(54344,5),(54346,5),(54355,5),(54360,5),(54365,5),(54366,5),(54368,5),(54382,5),(54387,5),(54388,5),(54392,5),(54396,5),(54405,5),(54408,5),(54409,5),(54413,5),(54420,5),(54422,5),(54425,5),(54441,5),(54445,5),(54446,5),(54448,5),(54462,5),(54466,5),(54472,5),(54487,5),(54499,5),(54512,5),(54520,5),(54540,5),(54542,5),(54547,5),(54551,5),(54561,5),(54572,5),(54577,5),(54587,5),(54588,5),(54589,5),(54594,5),(54597,5),(54599,5),(54601,5),(54604,5),(54610,5),(54613,5),(54620,5),(54631,5),(54632,5),(54636,5),(54645,5),(54648,5),(54649,5),(54658,5),(54659,5),(54662,5),(54664,5),(54673,5),(54678,5),(54679,5),(54687,5),(54703,5),(54705,5),(54710,5),(54715,5),(54717,5),(54719,5),(54730,5),(54732,5),(54742,5),(54743,5),(54745,5),(54760,5),(54765,5),(54768,5),(54777,5),(54778,5),(54783,5),(54785,5),(54787,5),(54792,5),(54793,5),(54798,5),(54799,5),(54802,5),(54805,5),(54807,5),(54811,5),(54813,5),(54814,5),(54815,5),(54819,5),(54822,5),(54828,5),(54830,5),(54832,5),(54834,5),(54842,5),(54844,5),(54847,5),(54854,5),(54859,5),(54862,5),(54870,5),(54878,5),(54879,5),(54894,5),(54901,5),(54906,5),(54910,5),(54914,5),(54922,5),(54933,5),(54935,5),(54936,5),(54939,5),(54953,5),(54963,5),(54968,5),(54973,5),(54981,5),(54983,5),(54987,5),(55001,5),(55004,5),(55009,5),(55010,5),(55012,5),(55015,5),(55018,5),(55026,5),(55031,5),(55036,5),(55038,5),(55041,5),(55042,5),(55047,5),(55054,5),(55061,5),(55064,5),(55065,5),(55067,5),(55070,5),(55088,5),(55089,5),(55090,5),(55093,5),(55094,5),(55102,5),(55108,5),(55121,5),(55123,5),(55124,5),(55126,5),(55128,5),(55129,5),(55152,5),(55155,5),(55157,5),(55164,5),(55167,5),(55173,5),(55174,5),(55178,5),(55179,5),(55180,5),(55185,5),(55186,5),(55188,5),(55208,5),(55215,5),(55217,5),(55219,5),(55222,5),(55231,5),(55239,5),(55243,5),(55250,5),(55255,5),(55257,5),(55260,5),(55264,5),(55266,5),(55275,5),(55290,5),(55303,5),(55304,5),(55321,5),(55323,5),(55330,5),(55332,5),(55342,5),(55343,5),(55350,5),(55359,5),(55401,5),(55403,5),(55410,5),(55419,5),(55421,5),(55429,5),(55434,5),(55443,5),(55444,5),(55449,5),(55450,5),(55451,5),(55468,5),(55472,5),(55474,5),(55475,5),(55487,5),(55491,5),(55497,5),(55501,5),(55511,5),(55525,5),(55529,5),(55539,5),(55541,5),(55543,5),(55544,5),(55549,5),(55552,5),(55564,5),(55574,5),(55580,5),(55581,5),(55588,5),(55591,5),(55594,5),(55595,5),(55617,5),(55622,5),(55626,5),(55628,5),(55636,5),(55640,5),(55641,5),(55643,5),(55651,5),(55653,5),(55667,5),(55670,5),(55673,5),(55685,5),(55687,5),(55700,5),(55702,5),(55704,5),(55710,5),(55712,5),(55722,5),(55730,5),(55735,5),(55752,5),(55754,5),(55755,5),(55758,5),(55776,5),(55782,5),(55785,5),(55791,5),(55793,5),(55794,5),(55800,5),(55806,5),(55815,5),(55818,5),(55825,5),(55826,5),(55830,5),(55832,5),(55836,5),(55838,5),(55844,5),(55853,5),(55860,5),(55863,5),(55869,5),(55881,5),(55886,5),(55890,5),(55901,5),(55917,5),(55930,5),(55937,5),(55943,5),(55945,5),(55950,5),(55953,5),(55956,5),(55958,5),(55961,5),(55962,5),(55965,5),(55969,5),(55978,5),(55980,5),(55984,5),(55990,5),(55991,5),(55993,5),(55995,5),(56002,5),(56003,5),(56005,5),(56012,5),(56017,5),(56019,5),(56020,5),(56021,5),(56025,5),(56028,5),(56030,5),(56048,5),(56049,5),(56051,5),(56055,5),(56067,5),(56068,5),(56071,5),(56086,5),(56091,5),(56093,5),(56096,5),(56098,5),(56099,5),(56102,5),(56106,5),(56111,5),(56122,5),(56131,5),(56138,5),(56140,5),(56142,5),(56145,5),(56147,5),(56154,5),(56155,5),(56164,5),(56181,5),(56203,5),(56209,5),(56214,5),(56215,5),(56216,5),(56258,5),(56260,5),(56266,5),(56270,5),(56271,5),(56274,5),(56276,5),(56295,5),(56297,5),(56303,5),(56304,5),(56332,5),(56334,5),(56340,5),(56346,5),(56350,5),(56368,5),(56376,5),(56377,5),(56379,5),(56380,5),(56381,5),(56392,5),(56394,5),(56395,5),(56401,5),(56403,5),(56404,5),(56410,5),(56414,5),(56418,5),(56424,5),(56443,5),(56445,5),(56448,5),(56454,5),(56456,5),(56458,5),(56461,5),(56467,5),(56478,5),(56484,5),(56485,5),(56486,5),(56490,5),(56491,5),(56492,5),(56498,5),(56502,5),(56510,5),(56511,5),(56519,5),(56531,5),(56544,5),(56551,5),(56552,5),(56556,5),(56557,5),(56558,5),(56559,5),(56567,5),(56568,5),(56573,5),(56574,5),(56594,5),(56596,5),(56600,5),(56603,5),(56604,5),(56608,5),(56620,5),(56635,5),(56644,5),(56652,5),(56656,5),(56662,5),(56665,5),(56666,5),(56669,5),(56674,5),(56675,5),(56681,5),(56686,5),(56691,5),(56696,5),(56700,5),(56714,5),(56720,5),(56723,5),(56728,5),(56731,5),(56736,5),(56737,5),(56739,5),(56741,5),(56742,5),(56743,5),(56754,5),(56760,5),(56765,5),(56776,5),(56778,5),(56780,5),(56781,5),(56784,5),(56785,5),(56787,5),(56809,5),(56813,5),(56814,5),(56816,5),(56842,5),(56844,5),(56848,5),(56850,5),(56852,5),(56854,5),(56859,5),(56861,5),(56862,5),(56865,5),(56881,5),(56883,5),(56886,5),(56887,5),(56888,5),(56894,5),(56895,5),(56902,5),(56903,5),(56936,5),(56952,5),(56953,5),(56965,5),(56967,5),(56968,5),(56969,5),(56974,5),(56983,5),(56988,5),(56993,5),(56995,5),(56997,5),(57025,5),(57028,5),(57035,5),(57037,5),(57043,5),(57045,5),(57048,5),(57051,5),(57061,5),(57065,5),(57066,5),(57076,5),(57081,5),(57088,5),(57093,5),(57102,5),(57107,5),(57128,5),(57131,5),(57140,5),(57152,5),(57153,5),(57155,5),(57156,5),(57158,5),(57162,5),(57168,5),(57181,5),(57200,5),(57201,5),(57202,5),(57215,5),(57216,5),(57217,5),(57225,5),(57234,5),(57238,5),(57243,5),(57250,5),(57255,5),(57260,5),(57281,5),(57285,5),(57292,5),(57297,5),(57300,5),(57307,5),(57309,5),(57312,5),(57318,5),(57320,5),(57328,5),(57331,5),(57336,5),(57339,5),(57360,5),(57363,5),(57367,5),(57370,5),(57376,5),(57378,5),(57381,5),(57383,5),(57386,5),(57394,5),(57396,5),(57400,5),(57404,5),(57407,5),(57413,5),(57421,5),(57426,5),(57434,5),(57438,5),(57439,5),(57441,5),(57449,5),(57459,5),(57462,5),(57467,5),(57476,5),(57477,5),(57478,5),(57486,5),(57495,5),(57504,5),(57505,5),(57514,5),(57519,5),(57520,5),(57526,5),(57539,5),(57549,5),(57554,5),(57555,5),(57565,5),(57566,5),(57567,5),(57577,5),(57582,5),(57585,5),(57586,5),(57590,5),(57603,5),(57604,5),(57612,5),(57616,5),(57627,5),(57632,5),(57636,5),(57638,5),(57642,5),(57647,5),(57649,5),(57662,5),(57665,5),(57675,5),(57682,5),(57690,5),(57694,5),(57698,5),(57708,5),(57713,5),(57715,5),(57720,5),(57723,5),(57731,5),(57735,5),(57738,5),(57739,5),(57747,5),(57748,5),(57750,5),(57752,5),(57753,5),(57760,5),(57763,5),(57786,5),(57787,5),(57793,5),(57799,5),(57820,5),(57834,5),(57839,5),(57840,5),(57842,5),(57843,5),(57844,5),(57846,5),(57847,5),(57848,5),(57855,5),(57870,5),(57882,5),(57886,5),(57888,5),(57897,5),(57905,5),(57906,5),(57936,5),(57943,5),(57950,5),(57963,5),(57965,5),(57968,5),(57973,5),(57975,5),(57984,5),(57987,5),(57994,5),(57997,5),(58004,5),(58006,5),(58018,5),(58038,5),(58040,5),(58059,5),(58074,5),(58083,5),(58085,5),(58086,5),(58096,5),(58099,5),(58101,5),(58104,5),(58111,5),(58115,5),(58117,5),(58118,5),(58125,5),(58128,5),(58139,5),(58140,5),(58149,5),(58152,5),(58159,5),(58160,5),(58161,5),(58164,5),(58166,5),(58187,5),(58189,5),(58190,5),(58199,5),(58211,5),(58220,5),(58225,5),(58226,5),(58234,5),(58244,5),(58245,5),(58248,5),(58260,5),(58262,5),(58265,5),(58273,5),(58274,5),(58278,5),(58283,5),(58287,5),(58291,5),(58305,5),(58317,5),(58321,5),(58328,5),(58329,5),(58332,5),(58340,5),(58342,5),(58343,5),(58355,5),(58373,5),(58376,5),(58377,5),(58399,5),(58406,5),(58415,5),(58417,5),(58432,5),(58435,5),(58446,5),(58447,5),(58457,5),(58474,5),(58478,5),(58484,5),(58488,5),(58504,5),(58506,5),(58516,5),(58517,5),(58528,5),(58538,5),(58539,5),(58551,5),(58554,5),(58560,5),(58561,5),(58563,5),(58578,5),(58581,5),(58584,5),(58590,5),(58595,5),(58602,5),(58605,5),(58612,5),(58613,5),(58617,5),(58623,5),(58629,5),(58631,5),(58640,5),(58649,5),(58652,5),(58654,5),(58659,5),(58663,5),(58665,5),(58667,5),(58670,5),(58673,5),(58690,5),(58693,5),(58694,5),(58696,5),(58697,5),(58704,5),(58710,5),(58713,5),(58718,5),(58722,5),(58723,5),(58725,5),(58745,5),(58746,5),(58752,5),(58777,5),(58779,5),(58801,5),(58807,5),(58808,5),(58818,5),(58831,5),(58840,5),(58842,5),(58843,5),(58845,5),(58846,5),(58849,5),(58855,5),(58859,5),(58861,5),(58869,5),(58874,5),(58875,5),(58881,5),(58890,5),(58896,5),(58897,5),(58910,5),(58911,5),(58913,5),(58914,5),(58921,5),(58934,5),(58939,5),(58948,5),(58952,5),(58963,5),(58974,5),(58975,5),(58978,5),(58985,5),(58992,5),(58998,5),(59000,5),(59011,5),(59019,5),(59022,5),(59025,5),(59028,5),(59041,5),(59042,5),(59051,5),(59062,5),(59064,5),(59068,5),(59077,5),(59079,5),(59083,5),(59085,5),(59090,5),(59096,5),(59106,5),(59110,5),(59116,5),(59119,5),(59124,5),(59125,5),(59136,5),(59149,5),(59152,5),(59153,5),(59154,5),(59155,5),(59170,5),(59195,5),(59203,5),(59209,5),(59213,5),(59218,5),(59222,5),(59226,5),(59228,5),(59231,5),(59233,5),(59242,5),(59252,5),(59261,5),(59269,5),(59270,5),(59273,5),(59274,5),(59288,5),(59289,5),(59299,5),(59301,5),(59302,5),(59312,5),(59313,5),(59315,5),(59317,5),(59322,5),(59324,5),(59325,5),(59329,5),(59332,5),(59344,5),(59348,5),(59349,5),(59352,5),(59371,5),(59381,5),(59387,5),(59397,5),(59401,5),(59402,5),(59407,5),(59408,5),(59419,5),(59423,5),(59433,5),(59449,5),(59457,5),(59458,5),(59459,5),(59466,5),(59470,5),(59471,5),(59480,5),(59481,5),(59482,5),(59488,5),(59496,5),(59498,5),(59505,5),(59507,5),(59520,5),(59524,5),(59532,5),(59535,5),(59543,5),(59545,5),(59558,5),(59569,5),(59592,5),(59603,5),(59605,5),(59606,5),(59612,5),(59614,5),(59621,5),(59638,5),(59641,5),(59642,5),(59643,5),(59648,5),(59654,5),(59655,5),(59657,5),(59662,5),(59666,5),(59670,5),(59674,5),(59685,5),(59695,5),(59700,5),(59701,5),(59703,5),(59710,5),(59715,5),(59724,5),(59729,5),(59731,5),(59735,5),(59740,5),(59742,5),(59754,5),(59756,5),(59769,5),(59778,5),(59782,5),(59789,5),(59790,5),(59791,5),(59810,5),(59815,5),(59830,5),(59833,5),(59837,5),(59848,5),(59852,5),(59859,5),(59869,5),(59870,5),(59886,5),(59887,5),(59888,5),(59891,5),(59902,5),(59904,5),(59906,5),(59915,5),(59916,5),(59927,5),(59928,5),(59932,5),(59942,5),(59947,5),(59958,5),(59970,5),(59980,5),(59982,5),(59984,5),(59987,5),(59998,5),(60004,5),(60006,5),(60011,5),(60014,5),(60015,5),(60017,5),(60019,5),(60020,5),(60029,5),(60033,5),(60058,5),(60060,5),(60069,5),(60070,5),(60076,5),(60084,5),(60090,5),(60098,5),(60099,5),(60106,5),(60109,5),(60117,5),(60122,5),(60126,5),(60152,5),(60178,5),(60187,5),(60188,5),(60192,5),(60204,5),(60216,5),(60217,5),(60222,5),(60223,5),(60226,5),(60231,5),(60238,5),(60242,5),(60245,5),(60255,5),(60266,5),(60290,5),(60291,5),(60292,5),(60295,5),(60297,5),(60301,5),(60302,5),(60304,5),(60308,5),(60309,5),(60313,5),(60314,5),(60327,5),(60341,5),(60352,5),(60354,5),(60361,5),(60373,5),(60374,5),(60377,5),(60382,5),(60384,5),(60408,5),(60411,5),(60423,5),(60434,5),(60440,5),(60448,5),(60451,5),(60456,5),(60463,5),(60466,5),(60475,5),(60482,5),(60484,5),(60486,5),(60493,5),(60495,5),(60496,5),(60503,5),(60504,5),(60506,5),(60507,5),(60508,5),(60514,5),(60515,5),(60522,5),(60537,5),(60545,5),(60552,5),(60559,5),(60560,5),(60562,5),(60564,5),(60567,5),(60568,5),(60569,5),(60584,5),(60585,5),(60592,5),(60595,5),(60596,5),(60601,5),(60612,5),(60618,5),(60620,5),(60626,5),(60627,5),(60634,5),(60640,5),(60648,5),(60650,5),(60665,5),(60672,5),(60674,5),(60681,5),(60706,5),(60712,5),(60717,5),(60720,5),(60723,5),(60729,5),(60730,5),(60732,5),(60738,5),(60740,5),(60752,5),(60759,5),(60764,5),(60771,5),(60781,5),(60783,5),(60786,5),(60805,5),(60810,5),(60811,5),(60816,5),(60818,5),(60819,5),(60831,5),(60833,5),(60834,5),(60851,5),(60852,5),(60879,5),(60902,5),(60903,5),(60904,5),(60913,5),(60915,5),(60921,5),(60926,5),(60935,5),(60937,5),(60942,5),(60943,5),(60948,5),(60958,5),(60961,5),(60966,5),(60967,5),(60970,5),(60973,5),(60997,5),(61010,5),(61011,5),(61015,5),(61020,5),(61025,5),(61028,5),(61033,5),(61059,5),(61062,5),(61066,5),(61070,5),(61072,5),(61083,5),(61086,5),(61090,5),(61096,5),(61097,5),(61103,5),(61104,5),(61119,5),(61126,5),(61134,5),(61135,5),(61136,5),(61138,5),(61143,5),(61149,5),(61158,5),(61170,5),(61177,5),(61185,5),(61187,5),(61192,5),(61205,5),(61213,5),(61215,5),(61217,5),(61222,5),(61225,5),(61226,5),(61231,5),(61233,5),(61235,5),(61248,5),(61249,5),(61257,5),(61258,5),(61268,5),(61270,5),(61275,5),(61281,5),(61294,5),(61301,5),(61305,5),(61307,5),(61308,5),(61309,5),(61314,5),(61315,5),(61317,5),(61319,5),(61326,5),(61333,5),(61341,5),(61344,5),(61345,5),(61347,5),(61350,5),(61355,5),(61363,5),(61375,5),(61377,5),(61378,5),(61385,5),(61396,5),(61397,5),(61414,5),(61418,5),(61423,5),(61424,5),(61439,5),(61445,5),(61456,5),(61469,5),(61472,5),(61476,5),(61479,5),(61487,5),(61495,5),(61499,5),(61518,5),(61523,5),(61525,5),(61526,5),(61530,5),(61536,5),(61539,5),(61542,5),(61543,5),(61544,5),(61545,5),(61548,5),(61552,5),(61561,5),(61572,5),(61579,5),(61583,5),(61594,5),(61603,5),(61618,5),(61621,5),(61624,5),(61634,5),(61639,5),(61666,5),(61694,5),(61698,5),(61702,5),(61715,5),(61724,5),(61735,5),(61745,5),(61746,5),(61753,5),(61764,5),(61773,5),(61777,5),(61781,5),(61784,5),(61792,5),(61800,5),(61801,5),(61811,5),(61815,5),(61821,5),(61822,5),(61831,5),(61846,5),(61853,5),(61857,5),(61858,5),(61859,5),(61864,5),(61869,5),(61870,5),(61871,5),(61873,5),(61875,5),(61877,5),(61879,5),(61881,5),(61883,5),(61885,5),(61886,5),(61899,5),(61912,5),(61913,5),(61932,5),(61940,5),(61942,5),(61945,5),(61962,5),(61965,5),(61969,5),(61976,5),(61983,5),(61991,5),(61992,5),(61993,5),(62001,5),(62023,5),(62024,5),(62027,5),(62036,5),(62042,5),(62056,5),(62066,5),(62068,5),(62071,5),(62072,5),(62073,5),(62083,5),(62087,5),(62090,5),(62094,5),(62110,5),(62119,5),(62123,5),(62134,5),(62145,5),(62149,5),(62157,5),(62161,5),(62174,5),(62176,5),(62190,5),(62193,5),(62203,5),(62208,5),(62219,5),(62221,5),(62233,5),(62253,5),(62264,5),(62265,5),(62282,5),(62286,5),(62297,5),(62298,5),(62320,5),(62321,5),(62327,5),(62331,5),(62337,5),(62338,5),(62346,5),(62355,5),(62356,5),(62359,5),(62362,5),(62370,5),(62372,5),(62376,5),(62381,5),(62387,5),(62402,5),(62407,5),(62410,5),(62412,5),(62415,5),(62423,5),(62433,5),(62441,5),(62443,5),(62448,5),(62454,5),(62456,5),(62464,5),(62466,5),(62470,5),(62484,5),(62490,5),(62496,5),(62498,5),(62520,5),(62525,5),(62526,5),(62539,5),(62541,5),(62545,5),(62546,5),(62552,5),(62556,5),(62565,5),(62568,5),(62579,5),(62584,5),(62591,5),(62592,5),(62598,5),(62599,5),(62600,5),(62601,5),(62615,5),(62617,5),(62618,5),(62621,5),(62625,5),(62630,5),(62638,5),(62640,5),(62649,5),(62654,5),(62665,5),(62676,5),(62677,5),(62680,5),(62681,5),(62688,5),(62702,5),(62707,5),(62713,5),(62723,5),(62724,5),(62726,5),(62728,5),(62729,5),(62738,5),(62741,5),(62742,5),(62743,5),(62751,5),(62753,5),(62759,5),(62760,5),(62762,5),(62766,5),(62769,5),(62770,5),(62775,5),(62777,5),(62784,5),(62785,5),(62794,5),(62804,5),(62807,5),(62817,5),(62826,5),(62828,5),(62830,5),(62832,5),(62842,5),(62848,5),(62856,5),(62858,5),(62865,5),(62866,5),(62877,5),(62880,5),(62886,5),(62887,5),(62894,5),(62904,5),(62907,5),(62920,5),(62925,5),(62927,5),(62959,5),(62970,5),(62975,5),(62976,5),(62980,5),(62984,5),(62988,5),(62990,5),(62996,5),(63004,5),(63013,5),(63015,5),(63021,5),(63029,5),(63036,5),(63038,5),(63047,5),(63048,5),(63060,5),(63076,5),(63077,5),(63092,5),(63095,5),(63102,5),(63103,5),(63105,5),(63111,5),(63118,5),(63120,5),(63126,5),(63132,5),(63152,5),(63175,5),(63182,5),(63186,5),(63187,5),(63199,5),(63204,5),(63208,5),(63209,5),(63214,5),(63218,5),(63219,5),(63222,5),(63229,5),(63236,5),(63246,5),(63255,5),(63257,5),(63268,5),(63272,5),(63283,5),(63286,5),(63289,5),(63292,5),(63293,5),(63299,5),(63304,5),(63312,5),(63321,5),(63352,5),(63355,5),(63357,5),(63358,5),(63377,5),(63380,5),(63381,5),(63385,5),(63396,5),(63401,5),(63410,5),(63414,5),(63416,5),(63417,5),(63422,5),(63423,5),(63432,5),(63443,5),(63447,5),(63451,5),(63465,5),(63471,5),(63487,5),(63490,5),(63492,5),(63502,5),(63518,5),(63521,5),(63522,5),(63532,5),(63543,5),(63546,5),(63553,5),(63558,5),(63564,5),(63567,5),(63571,5),(63575,5),(63576,5),(63583,5),(63593,5),(63595,5),(63602,5),(63604,5),(63608,5),(63616,5),(63624,5),(63643,5),(63652,5),(63655,5),(63656,5),(63660,5),(63664,5),(63666,5),(63673,5),(63677,5),(63683,5),(63698,5),(63704,5),(63711,5),(63722,5),(63727,5),(63728,5),(63732,5),(63737,5),(63744,5),(63746,5),(63747,5),(63755,5),(63756,5),(63761,5),(63762,5),(63773,5),(63793,5),(63798,5),(63804,5),(63807,5),(63819,5),(63821,5),(63822,5),(63823,5),(63830,5),(63837,5),(63840,5),(63843,5),(63844,5),(63851,5),(63872,5),(63876,5),(63877,5),(63881,5),(63887,5),(63892,5),(63894,5),(63896,5),(63918,5),(63919,5),(63921,5),(63924,5),(63950,5),(63965,5),(63987,5),(63992,5),(64001,5),(64003,5),(64006,5),(64010,5),(64023,5),(64027,5),(64041,5),(64044,5),(64049,5),(64051,5),(64052,5),(64060,5),(64073,5),(64078,5),(64079,5),(64080,5),(64081,5),(64085,5),(64101,5),(64105,5),(64112,5),(64124,5),(64126,5),(64131,5),(64133,5),(64135,5),(64141,5),(64162,5),(64163,5),(64172,5),(64190,5),(64204,5),(64215,5),(64217,5),(64219,5),(64221,5),(64228,5),(64229,5),(64233,5),(64236,5),(64239,5),(64240,5),(64251,5),(64253,5),(64276,5),(64278,5),(64282,5),(64287,5),(64291,5),(64299,5),(64300,5),(64307,5),(64311,5),(64318,5),(64326,5),(64332,5),(64345,5),(64346,5),(64358,5),(64362,5),(64367,5),(64371,5),(64378,5),(64394,5),(64398,5),(64400,5),(64403,5),(64407,5),(64409,5),(64412,5),(64419,5),(64425,5),(64429,5),(64443,5),(64447,5),(64448,5),(64450,5),(64451,5),(64463,5),(64468,5),(64469,5),(64471,5),(64479,5),(64481,5),(64483,5),(64484,5),(64486,5),(64488,5),(64489,5),(64493,5),(64506,5),(64510,5),(64515,5),(64524,5),(64531,5),(64532,5),(64535,5),(64537,5),(64545,5),(64547,5),(64550,5),(64551,5),(64566,5),(64577,5),(64582,5),(64590,5),(64601,5),(64604,5),(64605,5),(64623,5),(64627,5),(64628,5),(64630,5),(64632,5),(64649,5),(64662,5),(64665,5),(64666,5),(64668,5),(64677,5),(64681,5),(64688,5),(64691,5),(64693,5),(64702,5),(64706,5),(64712,5),(64724,5),(64727,5),(64734,5),(64736,5),(64737,5),(64741,5),(64742,5),(64744,5),(64747,5),(64751,5),(64752,5),(64755,5),(64758,5),(64765,5),(64779,5),(64782,5),(64812,5),(64815,5),(64820,5),(64826,5),(64829,5),(64830,5),(64833,5),(64838,5),(64841,5),(64844,5),(64864,5),(64869,5),(64874,5),(64880,5),(64891,5),(64898,5),(64913,5),(64914,5),(64915,5),(64934,5),(64937,5),(64945,5),(64946,5),(64959,5),(64982,5),(64984,5),(64985,5),(64991,5),(65001,5),(65005,5),(65009,5),(65014,5),(65023,5),(65025,5),(65031,5),(65035,5),(65037,5),(65051,5),(65066,5),(65071,5),(65072,5),(65074,5),(65076,5),(65077,5),(65078,5),(65089,5),(65091,5),(65092,5),(65103,5),(65113,5),(65114,5),(65116,5),(65120,5),(65123,5),(65131,5),(65138,5),(65146,5),(65149,5),(65158,5),(65163,5),(65166,5),(65177,5),(65202,5),(65207,5),(65214,5),(65218,5),(65239,5),(65263,5),(65271,5),(65275,5),(65282,5),(65286,5),(65316,5),(65323,5),(65324,5),(65329,5),(65330,5),(65333,5),(65334,5),(65335,5),(65343,5),(65344,5),(65348,5),(65351,5),(65357,5),(65368,5),(65372,5),(65383,5),(65387,5),(65391,5),(65393,5),(65405,5),(65407,5),(65418,5),(65425,5),(65432,5),(65434,5),(65475,5),(65480,5),(65483,5),(65485,5),(65490,5),(65495,5),(65504,5),(65508,5),(65511,5),(65522,5),(65524,5),(65527,5),(65535,5),(65539,5),(65545,5),(65549,5),(65572,5),(65575,5),(65578,5),(65579,5),(65585,5),(65589,5),(65592,5),(65606,5),(65607,5),(65619,5),(65629,5),(65631,5),(65638,5),(65640,5),(65643,5),(65660,5),(65666,5),(65668,5),(65673,5),(65674,5),(65675,5),(65687,5),(65696,5),(65700,5),(65702,5),(65706,5),(65710,5),(65717,5),(65718,5),(65729,5),(65731,5),(65732,5),(65736,5),(65739,5),(65748,5),(65757,5),(65763,5),(65779,5),(65781,5),(65805,5),(65809,5),(65812,5),(65815,5),(65820,5),(65823,5),(65825,5),(65832,5),(65834,5),(65836,5),(65863,5),(65868,5),(65869,5),(65872,5),(65881,5),(65890,5),(65891,5),(65893,5),(65899,5),(65918,5),(65923,5),(65925,5),(65927,5),(65938,5),(65942,5),(65952,5),(65966,5),(65971,5),(65976,5),(65987,5),(66000,5),(66010,5),(66017,5),(66025,5),(66032,5),(66039,5),(66045,5),(66049,5),(66070,5),(66071,5),(66086,5),(66103,5),(66105,5),(66109,5),(66110,5),(66117,5),(66133,5),(66134,5),(66137,5),(66146,5),(66154,5),(66165,5),(66177,5),(66180,5),(66183,5),(66189,5),(66190,5),(66191,5),(66203,5),(66204,5),(66212,5),(66219,5),(66221,5),(66228,5),(66239,5),(66240,5),(66259,5),(66265,5),(66270,5),(66271,5),(66272,5),(66275,5),(66279,5),(66281,5),(66295,5),(66311,5),(66314,5),(66315,5),(66316,5),(66323,5),(66336,5),(66342,5),(66355,5),(66357,5),(66364,5),(66386,5),(66400,5),(66404,5),(66409,5),(66410,5),(66415,5),(66421,5),(66430,5),(66448,5),(66464,5),(66480,5),(66482,5),(66484,5),(66491,5),(66492,5),(66497,5),(66502,5),(66517,5),(66551,5),(66552,5),(66577,5),(66580,5),(66583,5),(66592,5),(66596,5),(66615,5),(66618,5),(66619,5),(66620,5),(66624,5),(66631,5),(66638,5),(66641,5),(66642,5),(66647,5),(66665,5),(66670,5),(66674,5),(66675,5),(66676,5),(66677,5),(66681,5),(66683,5),(66687,5),(66689,5),(66697,5),(66702,5),(66703,5),(66705,5),(66716,5),(66719,5),(66722,5),(66723,5),(66724,5),(66728,5),(66734,5),(66752,5),(66755,5),(66767,5),(66768,5),(66776,5),(66780,5),(66789,5),(66796,5),(66808,5),(66809,5),(66810,5),(66817,5),(66818,5),(66822,5),(66832,5),(66840,5),(66841,5),(66842,5),(66847,5),(66860,5),(66864,5),(66867,5),(66876,5),(66884,5),(66889,5),(66890,5),(66897,5),(66901,5),(66908,5),(66912,5),(66914,5),(66916,5),(66922,5),(66930,5),(66941,5),(66942,5),(66943,5),(66948,5),(66953,5),(66968,5),(66977,5),(66983,5),(66998,5),(67004,5),(67005,5),(67017,5),(67021,5),(67024,5),(67035,5),(67040,5),(67043,5),(67044,5),(67045,5),(67047,5),(67053,5),(67055,5),(67057,5),(67060,5),(67073,5),(67079,5),(67089,5),(67111,5),(67114,5),(67124,5),(67126,5),(67127,5),(67129,5),(67140,5),(67141,5),(67143,5),(67154,5),(67155,5),(67156,5),(67160,5),(67165,5),(67176,5),(67181,5),(67188,5),(67210,5),(67216,5),(67217,5),(67219,5),(67229,5),(67233,5),(67237,5),(67238,5),(67250,5),(67259,5),(67272,5),(67281,5),(67283,5),(67294,5),(67299,5),(67300,5),(67301,5),(67302,5),(67321,5),(67323,5),(67326,5),(67328,5),(67335,5),(67349,5),(67355,5),(67365,5),(67370,5),(67379,5),(67386,5),(67387,5),(67388,5),(67399,5),(67405,5),(67407,5),(67411,5),(67415,5),(67429,5),(67433,5),(67434,5),(67439,5),(67441,5),(67443,5),(67444,5),(67446,5),(67453,5),(67454,5),(67464,5),(67477,5),(67479,5),(67487,5),(67493,5),(67510,5),(67518,5),(67523,5),(67542,5),(67544,5),(67553,5),(67565,5),(67581,5),(67587,5),(67594,5),(67595,5),(67596,5),(67598,5),(67599,5),(67601,5),(67605,5),(67609,5),(67623,5),(67630,5),(67631,5),(67639,5),(67640,5),(67641,5),(67655,5),(67661,5),(67665,5),(67669,5),(67674,5),(67675,5),(67676,5),(67688,5),(67690,5),(67693,5),(67706,5),(67713,5),(67725,5),(67726,5),(67735,5),(67738,5),(67744,5),(67755,5),(67767,5),(67772,5),(67773,5),(67780,5),(67785,5),(67787,5),(67789,5),(67790,5),(67792,5),(67809,5),(67810,5),(67812,5),(67827,5),(67833,5),(67843,5),(67854,5),(67859,5),(67860,5),(67866,5),(67868,5),(67872,5),(67874,5),(67875,5),(67886,5),(67894,5),(67901,5),(67902,5),(67903,5),(67912,5),(67925,5),(67933,5),(67936,5),(67941,5),(67947,5),(67956,5),(67967,5),(67974,5),(67975,5),(67985,5),(67989,5),(67995,5),(67996,5),(67998,5),(68000,5),(68003,5),(68022,5),(68025,5),(68033,5),(68044,5),(68049,5),(68052,5),(68054,5),(68060,5),(68062,5),(68070,5),(68074,5),(68081,5),(68085,5),(68089,5),(68094,5),(68097,5),(68100,5),(68123,5),(68131,5),(68135,5),(68136,5),(68140,5),(68149,5),(68154,5),(68159,5),(68161,5),(68162,5),(68169,5),(68178,5),(68192,5),(68199,5),(68200,5),(68202,5),(68204,5),(68214,5),(68219,5),(68221,5),(68235,5),(68243,5),(68254,5),(68265,5),(68277,5),(68278,5),(68308,5),(68311,5),(68320,5),(68325,5),(68329,5),(68330,5),(68342,5),(68355,5),(68365,5),(68372,5),(68386,5),(68394,5),(68399,5),(68402,5),(68409,5),(68412,5),(68421,5),(68422,5),(68424,5),(68429,5),(68430,5),(68432,5),(68439,5),(68440,5),(68443,5),(68448,5),(68451,5),(68457,5),(68462,5),(68465,5),(68466,5),(68467,5),(68475,5),(68480,5),(68488,5),(68493,5),(68498,5),(68499,5),(68502,5),(68522,5),(68525,5),(68539,5),(68548,5),(68550,5),(68552,5),(68553,5),(68557,5),(68569,5),(68570,5),(68574,5),(68575,5),(68583,5),(68591,5),(68596,5),(68600,5),(68605,5),(68606,5),(68620,5),(68621,5),(68623,5),(68637,5),(68640,5),(68643,5),(68663,5),(68671,5),(68674,5),(68675,5),(68712,5),(68715,5),(68721,5),(68722,5),(68730,5),(68731,5),(68732,5),(68733,5),(68736,5),(68738,5),(68739,5),(68741,5),(68742,5),(68744,5),(68749,5),(68750,5),(68753,5),(68756,5),(68757,5),(68758,5),(68763,5),(68765,5),(68769,5),(68770,5),(68771,5),(68772,5),(68783,5),(68785,5),(68790,5),(68792,5),(68794,5),(68796,5),(68799,5),(68811,5),(68815,5),(68830,5),(68838,5),(68840,5),(68846,5),(68863,5),(68867,5),(68877,5),(68878,5),(68889,5),(68891,5),(68912,5),(68916,5),(68924,5),(68927,5),(68936,5),(68938,5),(68939,5),(68943,5),(68949,5),(68966,5),(68970,5),(68973,5),(68979,5),(68981,5),(68986,5),(68994,5),(68999,5),(69001,5),(69004,5),(69007,5),(69011,5),(69012,5),(69024,5),(69035,5),(69044,5),(69047,5),(69053,5),(69055,5),(69066,5),(69074,5),(69086,5),(69094,5),(69097,5),(69110,5),(69112,5),(69124,5),(69126,5),(69128,5),(69145,5),(69160,5),(69169,5),(69178,5),(69179,5),(69183,5),(69185,5),(69191,5),(69199,5),(69203,5),(69204,5),(69208,5),(69219,5),(69231,5),(69232,5),(69239,5),(69247,5),(69248,5),(69250,5),(69261,5),(69263,5),(69268,5),(69269,5),(69276,5),(69277,5),(69280,5),(69288,5),(69292,5),(69303,5),(69313,5),(69315,5),(69320,5),(69321,5),(69329,5),(69345,5),(69346,5),(69354,5),(69355,5),(69358,5),(69365,5),(69366,5),(69372,5),(69375,5),(69376,5),(69402,5),(69408,5),(69420,5),(69421,5),(69425,5),(69433,5),(69437,5),(69439,5),(69459,5),(69462,5),(69463,5),(69475,5),(69480,5),(69493,5),(69495,5),(69501,5),(69504,5),(69514,5),(69520,5),(69529,5),(69533,5),(69553,5),(69555,5),(69563,5),(69566,5),(69568,5),(69570,5),(69571,5),(69573,5),(69574,5),(69579,5),(69583,5),(69584,5),(69585,5),(69586,5),(69587,5),(69597,5),(69602,5),(69617,5),(69619,5),(69623,5),(69629,5),(69632,5),(69633,5),(69656,5),(69663,5),(69664,5),(69686,5),(69687,5),(69688,5),(69690,5),(69691,5),(69692,5),(69697,5),(69701,5),(69707,5),(69708,5),(69709,5),(69717,5),(69720,5),(69723,5),(69726,5),(69735,5),(69737,5),(69751,5),(69752,5),(69755,5),(69760,5),(69776,5),(69778,5),(69780,5),(69785,5),(69795,5),(69802,5),(69816,5),(69826,5),(69838,5),(69852,5),(69854,5),(69870,5),(69873,5),(69878,5),(69881,5),(69882,5),(69883,5),(69887,5),(69892,5),(69895,5),(69905,5),(69913,5),(69916,5),(69921,5),(69923,5),(69930,5),(69945,5),(69956,5),(69958,5),(69971,5),(69978,5),(69981,5),(69989,5),(70010,5),(70015,5),(70024,5),(70044,5),(70045,5),(70047,5),(70049,5),(70050,5),(70055,5),(70067,5),(70069,5),(70070,5),(70074,5),(70082,5),(70085,5),(70086,5),(70087,5),(70088,5),(70095,5),(70102,5),(70108,5),(70113,5),(70118,5),(70133,5),(70146,5),(70160,5),(70161,5),(70172,5),(70173,5),(70175,5),(70179,5),(70205,5),(70211,5),(70216,5),(70225,5),(70226,5),(70232,5),(70235,5),(70236,5),(70239,5),(70268,5),(70275,5),(70282,5),(70293,5),(70295,5),(70308,5),(70311,5),(70314,5),(70317,5),(70318,5),(70327,5),(70333,5),(70334,5),(70350,5),(70360,5),(70370,5),(70374,5),(70376,5),(70378,5),(70379,5),(70389,5),(70392,5),(70405,5),(70420,5),(70454,5),(70461,5),(70471,5),(70475,5),(70476,5),(70490,5),(70498,5),(70501,5),(70502,5),(70507,5),(70509,5),(70514,5),(70521,5),(70524,5),(70532,5),(70533,5),(70540,5),(70542,5),(70551,5),(70555,5),(70570,5),(70571,5),(70578,5),(70604,5),(70617,5),(70627,5),(70635,5),(70640,5),(70641,5),(70654,5),(70660,5),(70665,5),(70668,5),(70670,5),(70672,5),(70674,5),(70679,5),(70685,5),(70692,5),(70703,5),(70708,5),(70711,5),(70727,5),(70732,5),(70734,5),(70740,5),(70749,5),(70758,5),(70762,5),(70766,5),(70767,5),(70774,5),(70776,5),(70777,5),(70793,5),(70794,5),(70811,5),(70817,5),(70828,5),(70831,5),(70844,5),(70849,5),(70854,5),(70857,5),(70858,5),(70859,5),(70862,5),(70868,5),(70886,5),(70891,5),(70897,5),(70907,5),(70911,5),(70926,5),(70940,5),(70948,5),(70955,5),(70964,5),(70965,5),(70970,5),(70972,5),(70975,5),(70980,5),(70989,5),(71002,5),(71006,5),(71007,5),(71017,5),(71020,5),(71021,5),(71023,5),(71024,5),(71030,5),(71033,5),(71043,5),(71048,5),(71053,5),(71060,5),(71065,5),(71066,5),(71068,5),(71083,5),(71093,5),(71097,5),(71099,5),(71103,5),(71108,5),(71116,5),(71120,5),(71123,5),(71124,5),(71125,5),(71134,5),(71135,5),(71136,5),(71149,5),(71152,5),(71155,5),(71160,5),(71167,5),(71176,5),(71183,5),(71186,5),(71220,5),(71222,5),(71223,5),(71224,5),(71231,5),(71235,5),(71249,5),(71250,5),(71252,5),(71261,5),(71268,5),(71272,5),(71280,5),(71282,5),(71284,5),(71289,5),(71299,5),(71305,5),(71307,5),(71308,5),(71313,5),(71317,5),(71318,5),(71325,5),(71333,5),(71337,5),(71340,5),(71343,5),(71344,5),(71350,5),(71351,5),(71353,5),(71356,5),(71360,5),(71367,5),(71368,5),(71371,5),(71373,5),(71374,5),(71375,5),(71378,5),(71400,5),(71404,5),(71408,5),(71411,5),(71413,5),(71417,5),(71419,5),(71430,5),(71432,5),(71433,5),(71435,5),(71440,5),(71454,5),(71472,5),(71485,5),(71498,5),(71501,5),(71503,5),(71504,5),(71506,5),(71515,5),(71519,5),(71525,5),(71529,5),(71540,5),(71542,5),(71543,5),(71546,5),(71557,5),(71561,5),(71562,5),(71564,5),(71574,5),(71576,5),(71579,5),(71583,5),(71584,5),(71585,5),(71589,5),(71601,5),(71602,5),(71613,5),(71619,5),(71625,5),(71633,5),(71643,5),(71665,5),(71670,5),(71673,5),(71674,5),(71675,5),(71677,5),(71686,5),(71691,5),(71699,5),(71703,5),(71717,5),(71731,5),(71734,5),(71736,5),(71740,5),(71745,5),(71749,5),(71761,5),(71773,5),(71783,5),(71784,5),(71789,5),(71796,5),(71798,5),(71815,5),(71819,5),(71834,5),(71839,5),(71843,5),(71857,5),(71859,5),(71861,5),(71868,5),(71875,5),(71880,5),(71881,5),(71884,5),(71888,5),(71892,5),(71895,5),(71896,5),(71901,5),(71909,5),(71919,5),(71920,5),(71927,5),(71939,5),(71945,5),(71960,5),(71962,5),(71975,5),(71977,5),(71978,5),(71989,5),(71993,5),(71999,5),(72004,5),(72009,5),(72014,5),(72029,5),(72036,5),(72038,5),(72039,5),(72040,5),(72051,5),(72056,5),(72068,5),(72070,5),(72087,5),(72088,5),(72105,5),(72109,5),(72111,5),(72118,5),(72121,5),(72124,5),(72125,5),(72126,5),(72128,5),(72131,5),(72137,5),(72139,5),(72140,5),(72142,5),(72151,5),(72168,5),(72170,5),(72176,5),(72188,5),(72195,5),(72197,5),(72198,5),(72220,5),(72226,5),(72243,5),(72258,5),(72271,5),(72276,5),(72283,5),(72288,5),(72299,5),(72306,5),(72307,5),(72315,5),(72321,5),(72328,5),(72343,5),(72357,5),(72359,5),(72368,5),(72374,5),(72387,5),(72396,5),(72399,5),(72412,5),(72414,5),(72419,5),(72423,5),(72424,5),(72432,5),(72434,5),(72440,5),(72445,5),(72457,5),(72467,5),(72469,5),(72471,5),(72477,5),(72479,5),(72482,5),(72494,5),(72496,5),(72497,5),(72498,5),(72501,5),(72513,5),(72514,5),(72525,5),(72534,5),(72536,5),(72544,5),(72546,5),(72559,5),(72561,5),(72568,5),(72569,5),(72572,5),(72580,5),(72597,5),(72600,5),(72606,5),(72608,5),(72612,5),(72614,5),(72615,5),(72618,5),(72626,5),(72640,5),(72641,5),(72642,5),(72651,5),(72654,5),(72659,5),(72673,5),(72674,5),(72682,5),(72686,5),(72687,5),(72688,5),(72689,5),(72693,5),(72702,5),(72722,5),(72724,5),(72734,5),(72736,5),(72750,5),(72753,5),(72757,5),(72758,5),(72761,5),(72767,5),(72769,5),(72781,5),(72787,5),(72789,5),(72790,5),(72793,5),(72794,5),(72798,5),(72803,5),(72809,5),(72824,5),(72837,5),(72851,5),(72852,5),(72855,5),(72859,5),(72862,5),(72869,5),(72871,5),(72881,5),(72888,5),(72896,5),(72901,5),(72902,5),(72911,5),(72914,5),(72917,5),(72921,5),(72925,5),(72929,5),(72931,5),(72933,5),(72937,5),(72938,5),(72955,5),(72963,5),(72964,5),(72965,5),(72970,5),(72976,5),(72982,5),(72992,5),(72994,5),(73004,5),(73007,5),(73017,5),(73023,5),(73024,5),(73034,5),(73043,5),(73062,5),(73069,5),(73071,5),(73080,5),(73084,5),(73086,5),(73101,5),(73106,5),(73116,5),(73117,5),(73123,5),(73124,5),(73139,5),(73140,5),(73143,5),(73145,5),(73146,5),(73159,5),(73167,5),(73168,5),(73173,5),(73183,5),(73184,5),(73193,5),(73194,5),(73196,5),(73208,5),(73214,5),(73215,5),(73221,5),(73224,5),(73229,5),(73243,5),(73249,5),(73269,5),(73270,5),(73288,5),(73299,5),(73301,5),(73308,5),(73312,5),(73316,5),(73319,5),(73329,5),(73331,5),(73334,5),(73345,5),(73347,5),(73359,5),(73360,5),(73363,5),(73372,5),(73375,5),(73376,5),(73379,5),(73380,5),(73388,5),(73408,5),(73414,5),(73416,5),(73419,5),(73420,5),(73421,5),(73425,5),(73437,5),(73439,5),(73440,5),(73442,5),(73448,5),(73450,5),(73451,5),(73457,5),(73462,5),(73464,5),(73470,5),(73481,5),(73483,5),(73484,5),(73486,5),(73487,5),(73489,5),(73491,5),(73496,5),(73511,5),(73520,5),(73528,5),(73533,5),(73535,5),(73537,5),(73548,5),(73550,5),(73555,5),(73556,5),(73563,5),(73567,5),(73581,5),(73584,5),(73587,5),(73602,5),(73607,5),(73610,5),(73623,5),(73627,5),(73639,5),(73643,5),(73649,5),(73651,5),(73658,5),(73659,5),(73671,5),(73678,5),(73702,5),(73710,5),(73715,5),(73724,5),(73743,5),(73744,5),(73747,5),(73751,5),(73757,5),(73759,5),(73763,5),(73764,5),(73773,5),(73775,5),(73781,5),(73796,5),(73802,5),(73807,5),(73811,5),(73814,5),(73840,5),(73846,5),(73847,5),(73851,5),(73860,5),(73864,5),(73865,5),(73866,5),(73871,5),(73873,5),(73876,5),(73877,5),(73886,5),(73899,5),(73914,5),(73922,5),(73928,5),(73930,5),(73931,5),(73945,5),(73949,5),(73953,5),(73963,5),(73977,5),(73978,5),(73984,5),(74001,5),(74004,5),(74006,5),(74007,5),(74017,5),(74022,5),(74028,5),(74030,5),(74031,5),(74033,5),(74034,5),(74036,5),(74046,5),(74053,5),(74066,5),(74072,5),(74080,5),(74104,5),(74114,5),(74126,5),(74129,5),(74130,5),(74131,5),(74138,5),(74151,5),(74170,5),(74178,5),(74181,5),(74199,5),(74203,5),(74211,5),(74223,5),(74231,5),(74234,5),(74237,5),(74239,5),(74243,5),(74245,5),(74247,5),(74251,5),(74256,5),(74259,5),(74262,5),(74265,5),(74274,5),(74278,5),(74284,5),(74285,5),(74297,5),(74302,5),(74303,5),(74314,5),(74317,5),(74318,5),(74325,5),(74328,5),(74331,5),(74335,5),(74341,5),(74345,5),(74352,5),(74357,5),(74371,5),(74382,5),(74386,5),(74394,5),(74399,5),(74419,5),(74421,5),(74422,5),(74425,5),(74427,5),(74428,5),(74435,5),(74442,5),(74446,5),(74447,5),(74449,5),(74457,5),(74460,5),(74464,5),(74467,5),(74472,5),(74474,5),(74479,5),(74481,5),(74483,5),(74484,5),(74485,5),(74500,5),(74505,5),(74509,5),(74512,5),(74516,5),(74517,5),(74519,5),(74526,5),(74530,5),(74534,5),(74540,5),(74555,5),(74562,5),(74576,5),(74578,5),(74579,5),(74582,5),(74594,5),(74609,5),(74612,5),(74615,5),(74616,5),(74629,5),(74638,5),(74650,5),(74651,5),(74654,5),(74663,5),(74674,5),(74687,5),(74698,5),(74707,5),(74719,5),(74724,5),(74725,5),(74726,5),(74729,5),(74737,5),(74742,5),(74743,5),(74748,5),(74760,5),(74770,5),(74784,5),(74785,5),(74786,5),(74789,5),(74795,5),(74796,5),(74797,5),(74806,5),(74828,5),(74839,5),(74840,5),(74847,5),(74851,5),(74855,5),(74860,5),(74872,5),(74888,5),(74901,5),(74902,5),(74906,5),(74907,5),(74917,5),(74921,5),(74923,5),(74924,5),(74927,5),(74931,5),(74945,5),(74947,5),(74954,5),(74961,5),(74963,5),(74974,5),(74976,5),(74979,5),(75005,5),(75015,5),(75019,5),(75030,5),(75033,5),(75037,5),(75045,5),(75051,5),(75061,5),(75072,5),(75076,5),(75080,5),(75085,5),(75096,5),(75099,5),(75111,5),(75127,5),(75132,5),(75134,5),(75142,5),(75143,5),(75147,5),(75154,5),(75169,5),(75172,5),(75187,5),(75191,5),(75192,5),(75207,5),(75211,5),(75213,5),(75217,5),(75244,5),(75249,5),(75252,5),(75256,5),(75259,5),(75262,5),(75267,5),(75279,5),(75290,5),(75291,5),(75299,5),(75301,5),(75303,5),(75307,5),(75312,5),(75324,5),(75333,5),(75339,5),(75343,5),(75345,5),(75360,5),(75363,5),(75366,5),(75368,5),(75372,5),(75373,5),(75375,5),(75417,5),(75418,5),(75426,5),(75428,5),(75431,5),(75436,5),(75437,5),(75442,5),(75444,5),(75448,5),(75451,5),(75454,5),(75456,5),(75458,5),(75461,5),(75462,5),(75466,5),(75473,5),(75474,5),(75480,5),(75483,5),(75490,5),(75491,5),(75494,5),(75502,5),(75504,5),(75509,5),(75510,5),(75515,5),(75527,5),(75528,5),(75535,5),(75540,5),(75542,5),(75547,5),(75552,5),(75553,5),(75565,5),(75570,5),(75573,5),(75574,5),(75582,5),(75588,5),(75592,5),(75597,5),(75598,5),(75609,5),(75610,5),(75616,5),(75617,5),(75626,5),(75632,5),(75638,5),(75666,5),(75673,5),(75683,5),(75686,5),(75687,5),(75691,5),(75708,5),(75710,5),(75713,5),(75720,5),(75722,5),(75724,5),(75727,5),(75733,5),(75743,5),(75747,5),(75749,5),(75770,5),(75777,5),(75781,5),(75782,5),(75790,5),(75791,5),(75802,5),(75807,5),(75813,5),(75816,5),(75817,5),(75818,5),(75822,5),(75826,5),(75829,5),(75833,5),(75842,5),(75844,5),(75846,5),(75874,5),(75877,5),(75878,5),(75883,5),(75891,5),(75894,5),(75899,5),(75902,5),(75906,5),(75912,5),(75915,5),(75925,5),(75926,5),(75940,5),(75941,5),(75943,5),(75945,5),(75950,5),(75955,5),(75960,5),(75973,5),(75977,5),(75979,5),(75981,5),(75982,5),(76003,5),(76007,5),(76018,5),(76033,5),(76038,5),(76039,5),(76048,5),(76050,5),(76069,5),(76078,5),(76091,5),(76094,5),(76096,5),(76106,5),(76112,5),(76113,5),(76132,5),(76136,5),(76139,5),(76147,5),(76155,5),(76158,5),(76160,5),(76162,5),(76169,5),(76185,5),(76197,5),(76198,5),(76207,5),(76212,5),(76226,5),(76230,5),(76235,5),(76239,5),(76242,5),(76245,5),(76252,5),(76256,5),(76262,5),(76263,5),(76264,5),(76284,5),(76295,5),(76297,5),(76299,5),(76317,5),(76320,5),(76325,5),(76328,5),(76338,5),(76342,5),(76348,5),(76363,5),(76376,5),(76380,5),(76384,5),(76395,5),(76397,5),(76398,5),(76400,5),(76401,5),(76415,5),(76416,5),(76419,5),(76425,5),(76433,5),(76435,5),(76470,5),(76495,5),(76499,5),(76503,5),(76521,5),(76536,5),(76537,5),(76538,5),(76540,5),(76563,5),(76565,5),(76573,5),(76580,5),(76581,5),(76594,5),(76604,5),(76614,5),(76623,5),(76631,5),(76635,5),(76637,5),(76645,5),(76646,5),(76649,5),(76654,5),(76661,5),(76669,5),(76690,5),(76692,5),(76702,5),(76713,5),(76718,5),(76722,5),(76725,5),(76749,5),(76752,5),(76755,5),(76766,5),(76769,5),(76777,5),(76779,5),(76783,5),(76799,5),(76808,5),(76817,5),(76825,5),(76837,5),(76840,5),(76844,5),(76849,5),(76857,5),(76866,5),(76867,5),(76874,5),(76878,5),(76882,5),(76889,5),(76892,5),(76896,5),(76907,5),(76911,5),(76920,5),(76922,5),(76932,5),(76938,5),(76939,5),(76947,5),(76952,5),(76957,5),(76963,5),(76964,5),(76966,5),(76980,5),(76985,5),(76988,5),(76991,5),(76993,5),(77012,5),(77013,5),(77057,5),(77058,5),(77066,5),(77088,5),(77102,5),(77108,5),(77116,5),(77120,5),(77121,5),(77125,5),(77129,5),(77135,5),(77138,5),(77147,5),(77153,5),(77156,5),(77165,5),(77172,5),(77175,5),(77176,5),(77178,5),(77184,5),(77185,5),(77187,5),(77196,5),(77199,5),(77205,5),(77212,5),(77213,5),(77234,5),(77245,5),(77246,5),(77268,5),(77269,5),(77280,5),(77287,5),(77292,5),(77296,5),(77298,5),(77303,5),(77310,5),(77312,5),(77322,5),(77323,5),(77328,5),(77330,5),(77334,5),(77337,5),(77339,5),(77351,5),(77353,5),(77368,5),(77370,5),(77380,5),(77393,5),(77400,5),(77402,5),(77415,5),(77417,5),(77421,5),(77437,5),(77439,5),(77440,5),(77441,5),(77443,5),(77447,5),(77455,5),(77456,5),(77470,5),(77476,5),(77482,5),(77483,5),(77484,5),(77486,5),(77490,5),(77494,5),(77506,5),(77520,5),(77530,5),(77537,5),(77539,5),(77544,5),(77547,5),(77556,5),(77563,5),(77566,5),(77587,5),(77594,5),(77597,5),(77607,5),(77616,5),(77620,5),(77626,5),(77627,5),(77637,5),(77665,5),(77689,5),(77692,5),(77693,5),(77704,5),(77706,5),(77711,5),(77732,5),(77734,5),(77735,5),(77737,5),(77756,5),(77757,5),(77758,5),(77760,5),(77778,5),(77781,5),(77790,5),(77795,5),(77800,5),(77807,5),(77811,5),(77814,5),(77817,5),(77818,5),(77821,5),(77823,5),(77825,5),(77828,5),(77832,5),(77851,5),(77856,5),(77859,5),(77865,5),(77867,5),(77868,5),(77870,5),(77876,5),(77877,5),(77882,5),(77886,5),(77897,5),(77915,5),(77916,5),(77921,5),(77922,5),(77933,5),(77934,5),(77949,5),(77950,5),(77953,5),(77979,5),(77980,5),(77982,5),(77991,5),(77994,5),(77998,5),(78000,5),(78004,5),(78011,5),(78016,5),(78020,5),(78025,5),(78028,5),(78030,5),(78031,5),(78047,5),(78052,5),(78054,5),(78061,5),(78069,5),(78075,5),(78082,5),(78104,5),(78106,5),(78109,5),(78113,5),(78115,5),(78116,5),(78122,5),(78125,5),(78133,5),(78135,5),(78136,5),(78137,5),(78149,5),(78152,5),(78153,5),(78155,5),(78172,5),(78190,5),(78203,5),(78204,5),(78206,5),(78213,5),(78214,5),(78218,5),(78222,5),(78227,5),(78229,5),(78242,5),(78245,5),(78251,5),(78255,5),(78258,5),(78272,5),(78276,5),(78280,5),(78281,5),(78293,5),(78306,5),(78307,5),(78311,5),(78312,5),(78314,5),(78325,5),(78326,5),(78331,5),(78333,5),(78338,5),(78340,5),(78348,5),(78352,5),(78358,5),(78368,5),(78372,5),(78376,5),(78379,5),(78382,5),(78387,5),(78395,5),(78396,5),(78402,5),(78403,5),(78411,5),(78413,5),(78414,5),(78415,5),(78419,5),(78427,5),(78432,5),(78434,5),(78439,5),(78440,5),(78443,5),(78448,5),(78449,5),(78451,5),(78459,5),(78461,5),(78465,5),(78467,5),(78470,5),(78475,5),(78484,5),(78487,5),(78492,5),(78499,5),(78500,5),(78503,5),(78515,5),(78517,5),(78519,5),(78520,5),(78522,5),(78524,5),(78528,5),(78532,5),(78536,5),(78542,5),(78549,5),(78553,5),(78554,5),(78561,5),(78568,5),(78569,5),(78573,5),(78579,5),(78582,5),(78589,5),(78591,5),(78592,5),(78596,5),(78610,5),(78611,5),(78612,5),(78614,5),(78617,5),(78620,5),(78625,5),(78626,5),(78628,5),(78632,5),(78636,5),(78641,5),(78642,5),(78648,5),(78653,5),(78673,5),(78674,5),(78677,5),(78679,5),(78681,5),(78683,5),(78686,5),(78704,5),(78707,5),(78708,5),(78712,5),(78719,5),(78734,5),(78735,5),(78740,5),(78743,5),(78745,5),(78747,5),(78751,5),(78765,5),(78773,5),(78777,5),(78788,5),(78789,5),(78790,5),(78791,5),(78801,5),(78805,5),(78806,5),(78808,5),(78809,5),(78813,5),(78827,5),(78829,5),(78831,5),(78836,5),(78838,5),(78843,5),(78849,5),(78857,5),(78861,5),(78863,5),(78864,5),(78872,5),(78874,5),(78881,5),(78885,5),(78888,5),(78899,5),(78904,5),(78911,5),(78915,5),(78919,5),(78930,5),(78938,5),(78941,5),(78944,5),(78949,5),(78950,5),(78960,5),(78962,5),(78963,5),(78969,5),(78972,5),(78974,5),(78980,5),(78982,5),(78985,5),(78987,5),(78990,5),(78992,5),(79016,5),(79022,5),(79023,5),(79026,5),(79031,5),(79039,5),(79041,5),(79042,5),(79054,5),(79055,5),(79059,5),(79060,5),(79067,5),(79068,5),(79083,5),(79090,5),(79097,5),(79109,5),(79110,5),(79115,5),(79117,5),(79123,5),(79159,5),(79163,5),(79165,5),(79179,5),(79180,5),(79182,5),(79184,5),(79186,5),(79193,5),(79194,5),(79198,5),(79204,5),(79206,5),(79208,5),(79216,5),(79221,5),(79230,5),(79242,5),(79255,5),(79259,5),(79262,5),(79268,5),(79269,5),(79270,5),(79274,5),(79276,5),(79281,5),(79291,5),(79295,5),(79315,5),(79317,5),(79320,5),(79324,5),(79330,5),(79334,5),(79346,5),(79347,5),(79357,5),(79362,5),(79366,5),(79368,5),(79369,5),(79370,5),(79374,5),(79380,5),(79388,5),(79389,5),(79390,5),(79394,5),(79404,5),(79405,5),(79411,5),(79423,5),(79424,5),(79426,5),(79427,5),(79429,5),(79430,5),(79437,5),(79445,5),(79451,5),(79452,5),(79455,5),(79462,5),(79463,5),(79466,5),(79494,5),(79499,5),(79503,5),(79508,5),(79510,5),(79513,5),(79514,5),(79515,5),(79516,5),(79523,5),(79528,5),(79529,5),(79530,5),(79538,5),(79539,5),(79541,5),(79542,5),(79547,5),(79554,5),(79564,5),(79568,5),(79573,5),(79574,5),(79575,5),(79581,5),(79582,5),(79589,5),(79594,5),(79595,5),(79596,5),(79597,5),(79602,5),(79606,5),(79615,5),(79616,5),(79620,5),(79621,5),(79622,5),(79624,5),(79626,5),(79627,5),(79636,5),(79642,5),(79646,5),(79652,5),(79659,5),(79660,5),(79665,5),(79666,5),(79682,5),(79691,5),(79702,5),(79703,5),(79706,5),(79707,5),(79711,5),(79712,5),(79719,5),(79726,5),(79728,5),(79737,5),(79745,5),(79750,5),(79751,5),(79754,5),(79765,5),(79769,5),(79770,5),(79776,5),(79780,5),(79784,5),(79790,5),(79791,5),(79801,5),(79807,5),(79809,5),(79813,5),(79818,5),(79820,5),(79822,5),(79829,5),(79831,5),(79832,5),(79833,5),(79834,5),(79840,5),(79847,5),(79850,5),(79852,5),(79853,5),(79856,5),(79868,5),(79875,5),(79876,5),(79877,5),(79879,5),(79884,5),(79893,5),(79895,5),(79896,5),(79898,5),(79902,5),(79929,5),(79943,5),(79958,5),(79959,5),(79961,5),(79963,5),(79966,5),(79971,5),(79976,5),(79991,5),(80001,5),(80029,5),(80030,5),(80031,5),(80034,5),(80037,5),(80047,5),(80071,5),(80074,5),(80080,5),(80081,5),(80085,5),(80094,5),(80095,5),(80098,5),(80102,5),(80105,5),(80110,5),(80119,5),(80121,5),(80122,5),(80123,5),(80124,5),(80130,5),(80132,5),(80148,5),(80156,5),(80157,5),(80174,5),(80175,5),(80180,5),(80190,5),(80202,5),(80208,5),(80212,5),(80225,5),(80226,5),(80233,5),(80234,5),(80250,5),(80263,5),(80264,5),(80268,5),(80270,5),(80277,5),(80286,5),(80291,5),(80295,5),(80311,5),(80312,5),(80318,5),(80325,5),(80340,5),(80352,5),(80358,5),(80382,5),(80388,5),(80402,5),(80410,5),(80411,5),(80417,5),(80418,5),(80419,5),(80425,5),(80429,5),(80434,5),(80436,5),(80437,5),(80440,5),(80443,5),(80457,5),(80461,5),(80470,5),(80486,5),(80497,5),(80507,5),(80509,5),(80515,5),(80527,5),(80528,5),(80529,5),(80543,5),(80545,5),(80556,5),(80557,5),(80562,5),(80576,5),(80584,5),(80602,5),(80608,5),(80610,5),(80612,5),(80616,5),(80633,5),(80647,5),(80658,5),(80664,5),(80665,5),(80672,5),(80677,5),(80683,5),(80694,5),(80711,5),(80722,5),(80732,5),(80733,5),(80737,5),(80739,5),(80743,5),(80745,5),(80755,5),(80764,5),(80772,5),(80774,5),(80775,5),(80779,5),(80782,5),(80786,5),(80789,5),(80794,5),(80812,5),(80813,5),(80814,5),(80817,5),(80844,5),(80848,5),(80857,5),(80861,5),(80863,5),(80876,5),(80882,5),(80891,5),(80892,5),(80898,5),(80904,5),(80908,5),(80909,5),(80911,5),(80914,5),(80915,5),(80918,5),(80924,5),(80927,5),(80932,5),(80937,5),(80941,5),(80960,5),(80963,5),(80965,5),(80974,5),(80981,5),(80983,5),(80996,5),(80999,5),(81002,5),(81004,5),(81006,5),(81008,5),(81011,5),(81016,5),(81018,5),(81019,5),(81021,5),(81023,5),(81025,5),(81026,5),(81029,5),(81034,5),(81036,5),(81041,5),(81043,5),(81069,5),(81076,5),(81077,5),(81088,5),(81091,5),(81093,5),(81097,5),(81100,5),(81101,5),(81108,5),(81118,5),(81124,5),(81135,5),(81140,5),(81144,5),(81156,5),(81172,5),(81180,5),(81204,5),(81213,5),(81214,5),(81215,5),(81222,5),(81235,5),(81238,5),(81239,5),(81240,5),(81248,5),(81254,5),(81255,5),(81258,5),(81259,5),(81263,5),(81264,5),(81268,5),(81275,5),(81279,5),(81284,5),(81291,5),(81294,5),(81301,5),(81307,5),(81312,5),(81316,5),(81324,5),(81329,5),(81330,5),(81333,5),(81338,5),(81339,5),(81355,5),(81356,5),(81364,5),(81373,5),(81377,5),(81391,5),(81392,5),(81393,5),(81399,5),(81411,5),(81414,5),(81421,5),(81425,5),(81430,5),(81433,5),(81434,5),(81441,5),(81452,5),(81465,5),(81472,5),(81476,5),(81477,5),(81478,5),(81488,5),(81496,5),(81507,5),(81526,5),(81546,5),(81548,5),(81550,5),(81552,5),(81559,5),(81561,5),(81563,5),(81568,5),(81574,5),(81583,5),(81584,5),(81585,5),(81593,5),(81598,5),(81600,5),(81606,5),(81608,5),(81617,5),(81629,5),(81632,5),(81638,5),(81641,5),(81644,5),(81657,5),(81670,5),(81678,5),(81698,5),(81704,5),(81705,5),(81707,5),(81708,5),(81710,5),(81719,5),(81721,5),(81726,5),(81754,5),(81757,5),(81758,5),(81773,5),(81778,5),(81789,5),(81793,5),(81799,5),(81801,5),(81802,5),(81807,5),(81812,5),(81814,5),(81816,5),(81822,5),(81823,5),(81826,5),(81829,5),(81836,5),(81839,5),(81851,5),(81854,5),(81855,5),(81867,5),(81883,5),(81892,5),(81893,5),(81903,5),(81907,5),(81908,5),(81910,5),(81916,5),(81917,5),(81918,5),(81922,5),(81924,5),(81934,5),(81942,5),(81943,5),(81949,5),(81952,5),(81956,5),(81957,5),(81964,5),(81979,5),(81983,5),(81986,5),(81988,5),(82001,5),(82003,5),(82004,5),(82023,5),(82027,5),(82030,5),(82036,5),(82039,5),(82040,5),(82047,5),(82049,5),(82056,5),(82062,5),(82064,5),(82067,5),(82068,5),(82074,5),(82075,5),(82080,5),(82087,5),(82092,5),(82094,5),(82101,5),(82102,5),(82104,5),(82109,5),(82116,5),(82117,5),(82124,5),(82129,5),(82133,5),(82134,5),(82136,5),(82153,5),(82156,5),(82161,5),(82169,5),(82179,5),(82189,5),(82194,5),(82203,5),(82210,5),(82225,5),(82232,5),(82233,5),(82234,5),(82238,5),(82244,5),(82248,5),(82270,5),(82272,5),(82274,5),(82275,5),(82278,5),(82285,5),(82290,5),(82291,5),(82297,5),(82309,5),(82314,5),(82317,5),(82325,5),(82328,5),(82329,5),(82330,5),(82333,5),(82338,5),(82339,5),(82341,5),(82343,5),(82359,5),(82375,5),(82376,5),(82377,5),(82384,5),(82386,5),(82387,5),(82392,5),(82399,5),(82405,5),(82419,5),(82423,5),(82427,5),(82453,5),(82455,5),(82458,5),(82462,5),(82463,5),(82467,5),(82470,5),(82475,5),(82481,5),(82490,5),(82491,5),(82508,5),(82516,5),(82524,5),(82534,5),(82538,5),(82540,5),(82541,5),(82545,5),(82550,5),(82556,5),(82557,5),(82564,5),(82565,5),(82567,5),(82569,5),(82578,5),(82586,5),(82591,5),(82605,5),(82608,5),(82612,5),(82629,5),(82630,5),(82636,5),(82638,5),(82641,5),(82664,5),(82666,5),(82672,5),(82680,5),(82691,5),(82705,5),(82714,5),(82715,5),(82716,5),(82717,5),(82722,5),(82730,5),(82738,5),(82739,5),(82743,5),(82747,5),(82749,5),(82772,5),(82780,5),(82794,5),(82799,5),(82801,5),(82802,5),(82803,5),(82807,5),(82817,5),(82823,5),(82826,5),(82829,5),(82831,5),(82843,5),(82845,5),(82848,5),(82853,5),(82861,5),(82870,5),(82874,5),(82890,5),(82904,5),(82905,5),(82906,5),(82907,5),(82914,5),(82922,5),(82940,5),(82944,5),(82946,5),(82954,5),(82956,5),(82963,5),(82966,5),(82970,5),(82974,5),(82979,5),(82982,5),(82987,5),(82991,5),(83000,5),(83018,5),(83019,5),(83026,5),(83039,5),(83040,5),(83045,5),(83053,5),(83055,5),(83061,5),(83070,5),(83073,5),(83081,5),(83092,5),(83106,5),(83108,5),(83111,5),(83120,5),(83124,5),(83128,5),(83143,5),(83144,5),(83146,5),(83150,5),(83152,5),(83166,5),(83168,5),(83176,5),(83182,5),(83183,5),(83186,5),(83195,5),(83200,5),(83204,5),(83208,5),(83211,5),(83213,5),(83218,5),(83243,5),(83251,5),(83252,5),(83255,5),(83256,5),(83257,5),(83258,5),(83260,5),(83261,5),(83264,5),(83287,5),(83289,5),(83295,5),(83303,5),(83308,5),(83309,5),(83314,5),(83333,5),(83335,5),(83342,5),(83348,5),(83351,5),(83354,5),(83368,5),(83377,5),(83380,5),(83384,5),(83395,5),(83397,5),(83409,5),(83420,5),(83421,5),(83430,5),(83431,5),(83434,5),(83440,5),(83443,5),(83444,5),(83450,5),(83456,5),(83458,5),(83475,5),(83481,5),(83483,5),(83492,5),(83496,5),(83501,5),(83520,5),(83521,5),(83523,5),(83526,5),(83537,5),(83542,5),(83547,5),(83548,5),(83549,5),(83555,5),(83569,5),(83571,5),(83575,5),(83578,5),(83584,5),(83592,5),(83599,5),(83602,5),(83604,5),(83610,5),(83617,5),(83623,5),(83626,5),(83635,5),(83639,5),(83640,5),(83645,5),(83655,5),(83663,5),(83673,5),(83686,5),(83696,5),(83712,5),(83714,5),(83716,5),(83721,5),(83724,5),(83730,5),(83755,5),(83759,5),(83760,5),(83784,5),(83794,5),(83795,5),(83800,5),(83802,5),(83808,5),(83815,5),(83819,5),(83820,5),(83822,5),(83834,5),(83836,5),(83837,5),(83838,5),(83845,5),(83846,5),(83847,5),(83850,5),(83879,5),(83890,5),(83892,5),(83893,5),(83908,5),(83920,5),(83931,5),(83938,5),(83941,5),(83951,5),(83961,5),(83962,5),(83964,5),(83966,5),(83971,5),(83978,5),(83984,5),(83993,5),(83998,5),(84000,5),(84003,5),(84005,5),(84012,5),(84025,5),(84030,5),(84044,5),(84047,5),(84053,5),(84059,5),(84063,5),(84068,5),(84087,5),(84088,5),(84090,5),(84093,5),(84098,5),(84101,5),(84103,5),(84106,5),(84125,5),(84128,5),(84129,5),(84139,5),(84141,5),(84154,5),(84177,5),(84181,5),(84183,5),(84199,5),(84202,5),(84208,5),(84243,5),(84246,5),(84258,5),(84266,5),(84285,5),(84297,5),(84306,5),(84308,5),(84317,5),(84323,5),(84328,5),(84332,5),(84334,5),(84346,5),(84351,5),(84357,5),(84360,5),(84361,5),(84362,5),(84364,5),(84366,5),(84373,5),(84375,5),(84392,5),(84394,5),(84395,5),(84397,5),(84400,5),(84402,5),(84407,5),(84408,5),(84410,5),(84412,5),(84417,5),(84423,5),(84435,5),(84436,5),(84440,5),(84447,5),(84451,5),(84470,5),(84475,5),(84483,5),(84484,5),(84486,5),(84488,5),(84491,5),(84497,5),(84500,5),(84510,5),(84517,5),(84518,5),(84522,5),(84529,5),(84530,5),(84532,5),(84541,5),(84549,5),(84550,5),(84557,5),(84567,5),(84576,5),(84580,5),(84590,5),(84592,5),(84593,5),(84594,5),(84608,5),(84612,5),(84618,5),(84623,5),(84627,5),(84629,5),(84637,5),(84640,5),(84645,5),(84659,5),(84666,5),(84672,5),(84678,5),(84687,5),(84688,5),(84690,5),(84694,5),(84697,5),(84704,5),(84715,5),(84726,5),(84729,5),(84730,5),(84734,5),(84741,5),(84743,5),(84746,5),(84754,5),(84763,5),(84764,5),(84769,5),(84771,5),(84775,5),(84776,5),(84784,5),(84790,5),(84798,5),(84804,5),(84807,5),(84821,5),(84826,5),(84827,5),(84834,5),(84838,5),(84842,5),(84849,5),(84866,5),(84876,5),(84880,5),(84896,5),(84899,5),(84903,5),(84910,5),(84911,5),(84913,5),(84917,5),(84918,5),(84931,5),(84941,5),(84945,5),(84950,5),(84953,5),(84956,5),(84963,5),(84978,5),(84981,5),(84984,5),(84986,5),(84994,5),(85002,5),(85003,5),(85004,5),(85008,5),(85012,5),(85017,5),(85018,5),(85030,5),(85033,5),(85034,5),(85040,5),(85045,5),(85048,5),(85057,5),(85058,5),(85061,5),(85064,5),(85069,5),(85081,5),(85082,5),(85083,5),(85092,5),(85097,5),(85104,5),(85109,5),(85120,5),(85121,5),(85124,5),(85130,5),(85131,5),(85141,5),(85159,5),(85168,5),(85170,5),(85171,5),(85178,5),(85186,5),(85187,5),(85192,5),(85194,5),(85210,5),(85212,5),(85215,5),(85216,5),(85220,5),(85227,5),(85232,5),(85234,5),(85240,5),(85247,5),(85249,5),(85251,5),(85261,5),(85262,5),(85264,5),(85266,5),(85271,5),(85272,5),(85277,5),(85279,5),(85287,5),(85303,5),(85311,5),(85316,5),(85321,5),(85322,5),(85323,5),(85324,5),(85326,5),(85330,5),(85333,5),(85343,5),(85344,5),(85351,5),(85357,5),(85359,5),(85363,5),(85365,5),(85367,5),(85368,5),(85371,5),(85375,5),(85380,5),(85386,5),(85406,5),(85409,5),(85423,5),(85428,5),(85432,5),(85442,5),(85448,5),(85456,5),(85480,5),(85484,5),(85485,5),(85486,5),(85490,5),(85494,5),(85500,5),(85503,5),(85506,5),(85521,5),(85523,5),(85527,5),(85528,5),(85531,5),(85533,5),(85539,5),(85546,5),(85548,5),(85550,5),(85555,5),(85558,5),(85559,5),(85561,5),(85569,5),(85573,5),(85598,5),(85603,5),(85605,5),(85606,5),(85625,5),(85632,5),(85638,5),(85639,5),(85641,5),(85646,5),(85654,5),(85657,5),(85672,5),(85677,5),(85682,5),(85691,5),(85698,5),(85711,5),(85713,5),(85719,5),(85724,5),(85730,5),(85733,5),(85734,5),(85739,5),(85740,5),(85757,5),(85763,5),(85766,5),(85778,5),(85779,5),(85787,5),(85790,5),(85792,5),(85795,5),(85820,5),(85825,5),(85832,5),(85838,5),(85846,5),(85853,5),(85867,5),(85871,5),(85876,5),(85881,5),(85887,5),(85890,5),(85899,5),(85903,5),(85905,5),(85910,5),(85920,5),(85922,5),(85926,5),(85936,5),(85943,5),(85948,5),(85952,5),(85953,5),(85963,5),(85971,5),(85972,5),(85982,5),(86001,5),(86002,5),(86005,5),(86015,5),(86018,5),(86021,5),(86022,5),(86026,5),(86041,5),(86059,5),(86060,5),(86073,5),(86080,5),(86101,5),(86103,5),(86106,5),(86112,5),(86115,5),(86128,5),(86130,5),(86143,5),(86146,5),(86147,5),(86148,5),(86157,5),(86159,5),(86164,5),(86167,5),(86169,5),(86172,5),(86183,5),(86185,5),(86193,5),(86194,5),(86204,5),(86210,5),(86222,5),(86227,5),(86232,5),(86237,5),(86239,5),(86242,5),(86245,5),(86250,5),(86251,5),(86256,5),(86260,5),(86262,5),(86263,5),(86272,5),(86292,5),(86293,5),(86295,5),(86308,5),(86311,5),(86314,5),(86318,5),(86328,5),(86332,5),(86339,5),(86340,5),(86341,5),(86343,5),(86345,5),(86346,5),(86347,5),(86348,5),(86351,5),(86357,5),(86358,5),(86359,5),(86371,5),(86384,5),(86387,5),(86389,5),(86393,5),(86408,5),(86413,5),(86414,5),(86430,5),(86433,5),(86441,5),(86442,5),(86444,5),(86450,5),(86460,5),(86462,5),(86465,5),(86479,5),(86487,5),(86489,5),(86494,5),(86495,5),(86501,5),(86512,5),(86514,5),(86517,5),(86520,5),(86523,5),(86524,5),(86526,5),(86527,5),(86533,5),(86534,5),(86542,5),(86547,5),(86551,5),(86553,5),(86562,5),(86564,5),(86595,5),(86603,5),(86612,5),(86616,5),(86622,5),(86631,5),(86633,5),(86640,5),(86642,5),(86657,5),(86661,5),(86662,5),(86667,5),(86668,5),(86675,5),(86684,5),(86690,5),(86696,5),(86702,5),(86706,5),(86708,5),(86714,5),(86715,5),(86718,5),(86728,5),(86730,5),(86734,5),(86741,5),(86752,5),(86757,5),(86760,5),(86781,5),(86783,5),(86785,5),(86794,5),(86802,5),(86805,5),(86813,5),(86815,5),(86822,5),(86834,5),(86835,5),(86840,5),(86850,5),(86859,5),(86866,5),(86869,5),(86870,5),(86872,5),(86873,5),(86878,5),(86879,5),(86886,5),(86890,5),(86899,5),(86905,5),(86913,5),(86926,5),(86932,5),(86941,5),(86942,5),(86950,5),(86952,5),(86961,5),(86970,5),(86981,5),(86983,5),(86989,5),(86991,5),(86996,5),(87003,5),(87007,5),(87009,5),(87010,5),(87011,5),(87012,5),(87015,5),(87018,5),(87032,5),(87045,5),(87046,5),(87048,5),(87059,5),(87061,5),(87071,5),(87074,5),(87088,5),(87094,5),(87098,5),(87103,5),(87105,5),(87110,5),(87111,5),(87113,5),(87121,5),(87124,5),(87127,5),(87132,5),(87137,5),(87138,5),(87140,5),(87155,5),(87162,5),(87164,5),(87171,5),(87172,5),(87179,5),(87187,5),(87195,5),(87200,5),(87205,5),(87222,5),(87227,5),(87236,5),(87238,5),(87241,5),(87250,5),(87262,5),(87263,5),(87264,5),(87265,5),(87275,5),(87280,5),(87283,5),(87286,5),(87289,5),(87293,5),(87298,5),(87299,5),(87311,5),(87312,5),(87324,5),(87332,5),(87333,5),(87342,5),(87348,5),(87351,5),(87360,5),(87365,5),(87375,5),(87376,5),(87385,5),(87390,5),(87400,5),(87402,5),(87403,5),(87404,5),(87408,5),(87414,5),(87415,5),(87419,5),(87424,5),(87426,5),(87427,5),(87435,5),(87441,5),(87450,5),(87461,5),(87463,5),(87466,5),(87468,5),(87469,5),(87470,5),(87481,5),(87488,5),(87489,5),(87491,5),(87501,5),(87510,5),(87522,5),(87527,5),(87533,5),(87537,5),(87545,5),(87554,5),(87560,5),(87569,5),(87578,5),(87581,5),(87589,5),(87595,5),(87598,5),(87604,5),(87610,5),(87621,5),(87622,5),(87632,5),(87636,5),(87643,5),(87652,5),(87657,5),(87666,5),(87697,5),(87700,5),(87703,5),(87704,5),(87710,5),(87711,5),(87714,5),(87720,5),(87731,5),(87732,5),(87739,5),(87748,5),(87756,5),(87763,5),(87767,5),(87771,5),(87773,5),(87782,5),(87783,5),(87793,5),(87794,5),(87808,5),(87815,5),(87824,5),(87848,5),(87857,5),(87870,5),(87871,5),(87873,5),(87882,5),(87886,5),(87887,5),(87897,5),(87901,5),(87909,5),(87910,5),(87924,5),(87925,5),(87935,5),(87947,5),(87948,5),(87951,5),(87970,5),(87973,5),(87976,5),(87980,5),(87981,5),(87988,5),(88003,5),(88004,5),(88005,5),(88006,5),(88010,5),(88013,5),(88016,5),(88018,5),(88020,5),(88021,5),(88022,5),(88034,5),(88045,5),(88046,5),(88048,5),(88064,5),(88070,5),(88072,5),(88077,5),(88087,5),(88089,5),(88094,5),(88096,5),(88100,5),(88101,5),(88104,5),(88106,5),(88107,5),(88112,5),(88117,5),(88119,5),(88125,5),(88142,5),(88143,5),(88145,5),(88149,5),(88150,5),(88153,5),(88155,5),(88167,5),(88169,5),(88175,5),(88177,5),(88190,5),(88200,5),(88203,5),(88208,5),(88211,5),(88217,5),(88222,5),(88236,5),(88254,5),(88255,5),(88264,5),(88278,5),(88283,5),(88285,5),(88290,5),(88295,5),(88298,5),(88309,5),(88312,5),(88320,5),(88322,5),(88331,5),(88336,5),(88342,5),(88343,5),(88367,5),(88368,5),(88370,5),(88372,5),(88378,5),(88382,5),(88393,5),(88401,5),(88406,5),(88411,5),(88422,5),(88423,5),(88430,5),(88431,5),(88434,5),(88444,5),(88445,5),(88455,5),(88460,5),(88464,5),(88468,5),(88479,5),(88484,5),(88494,5),(88498,5),(88499,5),(88519,5),(88522,5),(88523,5),(88525,5),(88537,5),(88538,5),(88559,5),(88571,5),(88576,5),(88578,5),(88583,5),(88587,5),(88591,5),(88592,5),(88601,5),(88608,5),(88616,5),(88621,5),(88624,5),(88640,5),(88646,5),(88647,5),(88653,5),(88654,5),(88657,5),(88661,5),(88666,5),(88676,5),(88678,5),(88680,5),(88681,5),(88682,5),(88691,5),(88692,5),(88696,5),(88698,5),(88708,5),(88716,5),(88717,5),(88719,5),(88720,5),(88724,5),(88727,5),(88736,5),(88740,5),(88743,5),(88744,5),(88749,5),(88751,5),(88761,5),(88787,5),(88789,5),(88799,5),(88800,5),(88804,5),(88805,5),(88806,5),(88809,5),(88825,5),(88831,5),(88839,5),(88846,5),(88870,5),(88871,5),(88872,5),(88880,5),(88884,5),(88894,5),(88899,5),(88906,5),(88914,5),(88917,5),(88919,5),(88920,5),(88923,5),(88929,5),(88936,5),(88939,5),(88943,5),(88946,5),(88951,5),(88953,5),(88961,5),(88974,5),(88987,5),(88990,5),(89000,5),(89004,5),(89030,5),(89033,5),(89037,5),(89041,5),(89048,5),(89054,5),(89055,5),(89058,5),(89068,5),(89071,5),(89077,5),(89087,5),(89099,5),(89103,5),(89104,5),(89110,5),(89118,5),(89122,5),(89127,5),(89130,5),(89136,5),(89138,5),(89142,5),(89158,5),(89161,5),(89169,5),(89174,5),(89176,5),(89177,5),(89181,5),(89183,5),(89206,5),(89212,5),(89216,5),(89219,5),(89224,5),(89239,5),(89244,5),(89245,5),(89246,5),(89248,5),(89254,5),(89256,5),(89257,5),(89260,5),(89261,5),(89263,5),(89272,5),(89273,5),(89278,5),(89279,5),(89284,5),(89296,5),(89315,5),(89323,5),(89324,5),(89327,5),(89328,5),(89329,5),(89346,5),(89358,5),(89361,5),(89362,5),(89368,5),(89369,5),(89392,5),(89394,5),(89398,5),(89405,5),(89416,5),(89421,5),(89425,5),(89426,5),(89431,5),(89450,5),(89462,5),(89464,5),(89472,5),(89475,5),(89484,5),(89487,5),(89493,5),(89500,5),(89507,5),(89520,5),(89526,5),(89529,5),(89533,5),(89539,5),(89552,5),(89555,5),(89560,5),(89562,5),(89563,5),(89568,5),(89572,5),(89577,5),(89583,5),(89592,5),(89599,5),(89601,5),(89619,5),(89621,5),(89627,5),(89628,5),(89629,5),(89636,5),(89656,5),(89657,5),(89660,5),(89662,5),(89671,5),(89674,5),(89677,5),(89678,5),(89685,5),(89686,5),(89690,5),(89702,5),(89709,5),(89726,5),(89733,5),(89739,5),(89743,5),(89770,5),(89776,5),(89783,5),(89786,5),(89798,5),(89800,5),(89805,5),(89807,5),(89812,5),(89823,5),(89826,5),(89828,5),(89834,5),(89838,5),(89840,5),(89842,5),(89843,5),(89844,5),(89846,5),(89851,5),(89857,5),(89859,5),(89864,5),(89865,5),(89879,5),(89881,5),(89886,5),(89890,5),(89893,5),(89897,5),(89903,5),(89907,5),(89908,5),(89910,5),(89911,5),(89917,5),(89941,5),(89962,5),(89963,5),(89968,5),(89974,5),(89987,5),(90005,5),(90008,5),(90010,5),(90017,5),(90019,5),(90021,5),(90023,5),(90025,5),(90027,5),(90038,5),(90042,5),(90054,5),(90057,5),(90068,5),(90079,5),(90085,5),(90098,5),(90104,5),(90110,5),(90127,5),(90128,5),(90130,5),(90134,5),(90138,5),(90143,5),(90165,5),(90169,5),(90177,5),(90183,5),(90195,5),(90196,5),(90197,5),(90241,5),(90248,5),(90254,5),(90268,5),(90269,5),(90270,5),(90271,5),(90273,5),(90275,5),(90279,5),(90292,5),(90295,5),(90300,5),(90301,5),(90304,5),(90310,5),(90313,5),(90319,5),(90335,5),(90347,5),(90354,5),(90355,5),(90363,5),(90366,5),(90373,5),(90378,5),(90388,5),(90408,5),(90414,5),(90417,5),(90418,5),(90419,5),(90420,5),(90425,5),(90426,5),(90428,5),(90440,5),(90444,5),(90445,5),(90446,5),(90450,5),(90467,5),(90471,5),(90481,5),(90484,5),(90501,5),(90516,5),(90521,5),(90525,5),(90527,5),(90534,5),(90537,5),(90538,5),(90546,5),(90556,5),(90560,5),(90564,5),(90567,5),(90568,5),(90579,5),(90581,5),(90584,5),(90601,5),(90602,5),(90606,5),(90609,5),(90611,5),(90620,5),(90629,5),(90630,5),(90645,5),(90647,5),(90652,5),(90656,5),(90673,5),(90678,5),(90681,5),(90682,5),(90684,5),(90685,5),(90687,5),(90697,5),(90704,5),(90705,5),(90717,5),(90724,5),(90731,5),(90733,5),(90735,5),(90736,5),(90745,5),(90751,5),(90752,5),(90761,5),(90764,5),(90770,5),(90778,5),(90781,5),(90788,5),(90799,5),(90810,5),(90812,5),(90814,5),(90816,5),(90819,5),(90826,5),(90827,5),(90828,5),(90830,5),(90832,5),(90835,5),(90839,5),(90843,5),(90849,5),(90850,5),(90853,5),(90862,5),(90868,5),(90869,5),(90883,5),(90884,5),(90886,5),(90894,5),(90905,5),(90910,5),(90913,5),(90919,5),(90930,5),(90932,5),(90933,5),(90938,5),(90943,5),(90945,5),(90946,5),(90961,5),(90963,5),(90966,5),(90975,5),(90978,5),(90980,5),(90981,5),(90982,5),(90984,5),(90985,5),(90993,5),(90994,5),(90996,5),(91005,5),(91008,5),(91010,5),(91014,5),(91022,5),(91039,5),(91049,5),(91053,5),(91057,5),(91062,5),(91064,5),(91068,5),(91078,5),(91079,5),(91082,5),(91091,5),(91093,5),(91104,5),(91105,5),(91115,5),(91129,5),(91130,5),(91146,5),(91147,5),(91150,5),(91152,5),(91156,5),(91161,5),(91167,5),(91169,5),(91181,5),(91182,5),(91192,5),(91211,5),(91212,5),(91216,5),(91220,5),(91226,5),(91235,5),(91237,5),(91244,5),(91246,5),(91248,5),(91249,5),(91251,5),(91252,5),(91256,5),(91259,5),(91280,5),(91286,5),(91289,5),(91300,5),(91309,5),(91311,5),(91312,5),(91317,5),(91322,5),(91344,5),(91354,5),(91363,5),(91365,5),(91388,5),(91392,5),(91396,5),(91406,5),(91407,5),(91416,5),(91419,5),(91423,5),(91426,5),(91427,5),(91430,5),(91434,5),(91439,5),(91448,5),(91459,5),(91463,5),(91470,5),(91473,5),(91482,5),(91484,5),(91485,5),(91489,5),(91500,5),(91509,5),(91517,5),(91522,5),(91526,5),(91529,5),(91532,5),(91533,5),(91541,5),(91542,5),(91547,5),(91548,5),(91562,5),(91576,5),(91577,5),(91583,5),(91594,5),(91599,5),(91602,5),(91626,5),(91636,5),(91643,5),(91650,5),(91662,5),(91665,5),(91680,5),(91688,5),(91705,5),(91730,5),(91752,5),(91769,5),(91788,5),(91790,5),(91808,5),(91815,5),(91817,5),(91821,5),(91823,5),(91826,5),(91830,5),(91831,5),(91854,5),(91864,5),(91870,5),(91875,5),(91883,5),(91886,5),(91891,5),(91904,5),(91907,5),(91910,5),(91921,5),(91928,5),(91931,5),(91936,5),(91940,5),(91952,5),(91966,5),(91968,5),(91970,5),(91976,5),(91980,5),(91991,5),(91992,5),(91994,5),(91999,5),(92004,5),(92010,5),(92013,5),(92016,5),(92020,5),(92030,5),(92034,5),(92038,5),(92039,5),(92047,5),(92061,5),(92062,5),(92083,5),(92084,5),(92096,5),(92097,5),(92102,5),(92112,5),(92115,5),(92117,5),(92121,5),(92122,5),(92123,5),(92141,5),(92144,5),(92147,5),(92151,5),(92152,5),(92157,5),(92165,5),(92168,5),(92169,5),(92170,5),(92185,5),(92192,5),(92200,5),(92201,5),(92212,5),(92214,5),(92218,5),(92220,5),(92224,5),(92230,5),(92262,5),(92264,5),(92271,5),(92276,5),(92285,5),(92286,5),(92291,5),(92302,5),(92316,5),(92341,5),(92358,5),(92360,5),(92362,5),(92363,5),(92379,5),(92381,5),(92384,5),(92405,5),(92407,5),(92408,5),(92421,5),(92428,5),(92429,5),(92431,5),(92432,5),(92434,5),(92435,5),(92441,5),(92443,5),(92446,5),(92451,5),(92454,5),(92458,5),(92460,5),(92461,5),(92465,5),(92467,5),(92468,5),(92485,5),(92489,5),(92495,5),(92506,5),(92509,5),(92510,5),(92513,5),(92524,5),(92536,5),(92538,5),(92541,5),(92544,5),(92552,5),(92562,5),(92564,5),(92567,5),(92583,5),(92585,5),(92589,5),(92595,5),(92600,5),(92607,5),(92609,5),(92618,5),(92620,5),(92621,5),(92624,5),(92629,5),(92637,5),(92640,5),(92645,5),(92646,5),(92647,5),(92652,5),(92668,5),(92677,5),(92680,5),(92682,5),(92686,5),(92692,5),(92696,5),(92704,5),(92705,5),(92708,5),(92726,5),(92731,5),(92741,5),(92742,5),(92745,5),(92749,5),(92768,5),(92772,5),(92793,5),(92797,5),(92812,5),(92816,5),(92817,5),(92822,5),(92828,5),(92831,5),(92844,5),(92849,5),(92858,5),(92859,5),(92863,5),(92872,5),(92880,5),(92883,5),(92885,5),(92888,5),(92897,5),(92899,5),(92913,5),(92922,5),(92925,5),(92933,5),(92939,5),(92943,5),(92947,5),(92948,5),(92953,5),(92956,5),(92959,5),(92961,5),(92966,5),(92973,5),(92976,5),(92980,5),(92985,5),(92989,5),(92997,5),(93001,5),(93012,5),(93016,5),(93018,5),(93019,5),(93030,5),(93033,5),(93039,5),(93041,5),(93042,5),(93054,5),(93060,5),(93062,5),(93065,5),(93079,5),(93091,5),(93095,5),(93100,5),(93111,5),(93121,5),(93122,5),(93124,5),(93128,5),(93145,5),(93150,5),(93151,5),(93152,5),(93170,5),(93178,5),(93179,5),(93187,5),(93188,5),(93197,5),(93200,5),(93219,5),(93224,5),(93228,5),(93235,5),(93236,5),(93237,5),(93239,5),(93240,5),(93241,5),(93262,5),(93269,5),(93273,5),(93287,5),(93291,5),(93292,5),(93297,5),(93298,5),(93304,5),(93317,5),(93333,5),(93336,5),(93340,5),(93349,5),(93358,5),(93359,5),(93363,5),(93369,5),(93371,5),(93372,5),(93373,5),(93380,5),(93389,5),(93390,5),(93393,5),(93400,5),(93401,5),(93416,5),(93423,5),(93433,5),(93434,5),(93445,5),(93446,5),(93448,5),(93449,5),(93451,5),(93463,5),(93465,5),(93491,5),(93499,5),(93504,5),(93519,5),(93527,5),(93534,5),(93536,5),(93539,5),(93549,5),(93561,5),(93566,5),(93576,5),(93579,5),(93581,5),(93589,5),(93590,5),(93592,5),(93603,5),(93608,5),(93609,5),(93614,5),(93619,5),(93625,5),(93630,5),(93634,5),(93637,5),(93639,5),(93644,5),(93649,5),(93654,5),(93657,5),(93658,5),(93659,5),(93664,5),(93665,5),(93667,5),(93668,5),(93670,5),(93680,5),(93690,5),(93706,5),(93709,5),(93716,5),(93722,5),(93727,5),(93746,5),(93763,5),(93776,5),(93778,5),(93779,5),(93780,5),(93787,5),(93789,5),(93792,5),(93793,5),(93799,5),(93800,5),(93829,5),(93833,5),(93843,5),(93846,5),(93847,5),(93860,5),(93867,5),(93869,5),(93875,5),(93890,5),(93892,5),(93894,5),(93909,5),(93910,5),(93912,5),(93916,5),(93926,5),(93930,5),(93931,5),(93932,5),(93934,5),(93936,5),(93941,5),(93964,5),(93971,5),(93973,5),(93974,5),(93976,5),(93977,5),(93991,5),(93993,5),(93996,5),(93999,5),(94029,5),(94031,5),(94032,5),(94035,5),(94040,5),(94042,5),(94045,5),(94048,5),(94059,5),(94071,5),(94074,5),(94084,5),(94085,5),(94098,5),(94101,5),(94103,5),(94111,5),(94112,5),(94125,5),(94174,5),(94185,5),(94188,5),(94193,5),(94195,5),(94198,5),(94203,5),(94208,5),(94216,5),(94228,5),(94230,5),(94231,5),(94234,5),(94241,5),(94243,5),(94258,5),(94267,5),(94271,5),(94274,5),(94275,5),(94276,5),(94283,5),(94287,5),(94288,5),(94289,5),(94302,5),(94304,5),(94307,5),(94310,5),(94323,5),(94326,5),(94329,5),(94333,5),(94339,5),(94346,5),(94351,5),(94352,5),(94353,5),(94358,5),(94360,5),(94366,5),(94372,5),(94377,5),(94383,5),(94384,5),(94386,5),(94388,5),(94394,5),(94402,5),(94421,5),(94422,5),(94426,5),(94430,5),(94440,5),(94449,5),(94450,5),(94454,5),(94459,5),(94483,5),(94484,5),(94496,5),(94497,5),(94506,5),(94510,5),(94513,5),(94517,5),(94526,5),(94528,5),(94551,5),(94552,5),(94567,5),(94570,5),(94576,5),(94577,5),(94594,5),(94597,5),(94598,5),(94606,5),(94608,5),(94620,5),(94624,5),(94633,5),(94635,5),(94639,5),(94642,5),(94644,5),(94647,5),(94657,5),(94659,5),(94660,5),(94671,5),(94679,5),(94689,5),(94690,5),(94697,5),(94706,5),(94707,5),(94711,5),(94712,5),(94731,5),(94732,5),(94734,5),(94741,5),(94749,5),(94754,5),(94760,5),(94763,5),(94764,5),(94778,5),(94782,5),(94784,5),(94786,5),(94787,5),(94791,5),(94794,5),(94798,5),(94799,5),(94801,5),(94810,5),(94811,5),(94832,5),(94835,5),(94841,5),(94845,5),(94850,5),(94851,5),(94857,5),(94868,5),(94874,5),(94887,5),(94896,5),(94898,5),(94901,5),(94904,5),(94907,5),(94914,5),(94915,5),(94922,5),(94929,5),(94962,5),(94965,5),(94969,5),(94972,5),(94987,5),(94990,5),(94993,5),(95002,5),(95008,5),(95016,5),(95046,5),(95047,5),(95048,5),(95050,5),(95056,5),(95062,5),(95065,5),(95104,5),(95114,5),(95124,5),(95126,5),(95139,5),(95140,5),(95155,5),(95159,5),(95160,5),(95172,5),(95178,5),(95179,5),(95184,5),(95185,5),(95192,5),(95201,5),(95205,5),(95206,5),(95211,5),(95214,5),(95216,5),(95227,5),(95229,5),(95248,5),(95249,5),(95256,5),(95263,5),(95268,5),(95280,5),(95284,5),(95298,5),(95299,5),(95309,5),(95312,5),(95319,5),(95320,5),(95323,5),(95327,5),(95331,5),(95339,5),(95340,5),(95345,5),(95354,5),(95357,5),(95362,5),(95369,5),(95370,5),(95375,5),(95379,5),(95389,5),(95393,5),(95399,5),(95400,5),(95407,5),(95408,5),(95411,5),(95412,5),(95420,5),(95423,5),(95434,5),(95440,5),(95455,5),(95460,5),(95471,5),(95472,5),(95473,5),(95478,5),(95479,5),(95483,5),(95486,5),(95490,5),(95494,5),(95496,5),(95498,5),(95499,5),(95502,5),(95510,5),(95511,5),(95521,5),(95526,5),(95527,5),(95538,5),(95546,5),(95559,5),(95561,5),(95572,5),(95573,5),(95577,5),(95610,5),(95611,5),(95620,5),(95630,5),(95639,5),(95641,5),(95645,5),(95652,5),(95656,5),(95659,5),(95663,5),(95671,5),(95672,5),(95681,5),(95682,5),(95683,5),(95687,5),(95688,5),(95695,5),(95711,5),(95712,5),(95718,5),(95720,5),(95728,5),(95735,5),(95736,5),(95754,5),(95762,5),(95763,5),(95769,5),(95771,5),(95779,5),(95780,5),(95781,5),(95783,5),(95798,5),(95803,5),(95814,5),(95839,5),(95842,5),(95844,5),(95847,5),(95857,5),(95859,5),(95860,5),(95882,5),(95883,5),(95885,5),(95890,5),(95899,5),(95908,5),(95922,5),(95934,5),(95940,5),(95947,5),(95952,5),(95953,5),(95965,5),(95966,5),(95967,5),(95976,5),(95979,5),(95989,5),(95991,5),(95993,5),(95995,5),(95996,5),(95998,5),(96000,5),(96006,5),(96007,5),(96018,5),(96023,5),(96027,5),(96033,5),(96035,5),(96057,5),(96062,5),(96066,5),(96069,5),(96073,5),(96075,5),(96077,5),(96080,5),(96088,5),(96094,5),(96095,5),(96106,5),(96109,5),(96112,5),(96115,5),(96118,5),(96125,5),(96126,5),(96127,5),(96138,5),(96144,5),(96146,5),(96147,5),(96151,5),(96159,5),(96165,5),(96169,5),(96176,5),(96185,5),(96194,5),(96200,5),(96214,5),(96219,5),(96221,5),(96222,5),(96236,5),(96246,5),(96261,5),(96270,5),(96294,5),(96300,5),(96309,5),(96314,5),(96328,5),(96335,5),(96339,5),(96342,5),(96374,5),(96375,5),(96400,5),(96405,5),(96407,5),(96412,5),(96414,5),(96439,5),(96446,5),(96457,5),(96460,5),(96466,5),(96467,5),(96474,5),(96486,5),(96494,5),(96496,5),(96497,5),(96499,5),(96502,5),(96512,5),(96524,5),(96526,5),(96533,5),(96562,5),(96572,5),(96579,5),(96582,5),(96594,5),(96595,5),(96597,5),(96603,5),(96614,5),(96630,5),(96633,5),(96634,5),(96637,5),(96642,5),(96645,5),(96656,5),(96663,5),(96667,5),(96679,5),(96680,5),(96701,5),(96704,5),(96710,5),(96715,5),(96718,5),(96739,5),(96741,5),(96755,5),(96759,5),(96762,5),(96766,5),(96769,5),(96774,5),(96777,5),(96778,5),(96784,5),(96794,5),(96796,5),(96798,5),(96801,5),(96802,5),(96808,5),(96809,5),(96810,5),(96812,5),(96819,5),(96822,5),(96828,5),(96832,5),(96844,5),(96851,5),(96855,5),(96877,5),(96880,5),(96881,5),(96886,5),(96887,5),(96898,5),(96899,5),(96904,5),(96908,5),(96911,5),(96923,5),(96943,5),(96945,5),(96957,5),(96967,5),(96968,5),(96984,5),(96994,5),(97001,5),(97010,5),(97012,5),(97022,5),(97023,5),(97032,5),(97037,5),(97041,5),(97044,5),(97048,5),(97049,5),(97053,5),(97055,5),(97061,5),(97071,5),(97072,5),(97087,5),(97101,5),(97105,5),(97108,5),(97112,5),(97114,5),(97115,5),(97119,5),(97126,5),(97146,5),(97152,5),(97160,5),(97161,5),(97162,5),(97166,5),(97169,5),(97171,5),(97178,5),(97184,5),(97190,5),(97199,5),(97203,5),(97210,5),(97214,5),(97221,5),(97228,5),(97234,5),(97238,5),(97245,5),(97249,5),(97254,5),(97256,5),(97258,5),(97266,5),(97267,5),(97268,5),(97279,5),(97287,5),(97291,5),(97294,5),(97312,5),(97316,5),(97317,5),(97322,5),(97324,5),(97342,5),(97344,5),(97347,5),(97351,5),(97352,5),(97353,5),(97354,5),(97356,5),(97366,5),(97369,5),(97374,5),(97375,5),(97384,5),(97385,5),(97386,5),(97394,5),(97399,5),(97406,5),(97407,5),(97408,5),(97410,5),(97419,5),(97434,5),(97453,5),(97455,5),(97471,5),(97492,5),(97495,5),(97500,5),(97515,5),(97521,5),(97522,5),(97523,5),(97526,5),(97537,5),(97542,5),(97549,5),(97563,5),(97566,5),(97576,5),(97590,5),(97599,5),(97605,5),(97620,5),(97623,5),(97632,5),(97640,5),(97645,5),(97651,5),(97668,5),(97669,5),(97670,5),(97673,5),(97674,5),(97703,5),(97709,5),(97715,5),(97716,5),(97722,5),(97728,5),(97735,5),(97736,5),(97737,5),(97759,5),(97761,5),(97766,5),(97770,5),(97774,5),(97779,5),(97784,5),(97785,5),(97803,5),(97809,5),(97816,5),(97818,5),(97822,5),(97823,5),(97830,5),(97838,5),(97845,5),(97852,5),(97870,5),(97871,5),(97882,5),(97889,5),(97894,5),(97910,5),(97911,5),(97918,5),(97924,5),(97925,5),(97932,5),(97934,5),(97935,5),(97938,5),(97940,5),(97943,5),(97953,5),(97955,5),(97958,5),(97962,5),(97968,5),(97972,5),(97973,5),(97977,5),(97988,5),(97994,5),(98002,5),(98006,5),(98009,5),(98023,5),(98026,5),(98033,5),(98035,5),(98048,5),(98057,5),(98060,5),(98064,5),(98065,5),(98066,5),(98078,5),(98079,5),(98085,5),(98093,5),(98094,5),(98095,5),(98105,5),(98108,5),(98111,5),(98117,5),(98123,5),(98124,5),(98140,5),(98142,5),(98149,5),(98160,5),(98170,5),(98186,5),(98197,5),(98198,5),(98202,5),(98212,5),(98216,5),(98248,5),(98254,5),(98280,5),(98284,5),(98289,5),(98293,5),(98296,5),(98299,5),(98301,5),(98304,5),(98319,5),(98332,5),(98340,5),(98347,5),(98351,5),(98363,5),(98366,5),(98374,5),(98379,5),(98382,5),(98386,5),(98394,5),(98402,5),(98409,5),(98413,5),(98415,5),(98419,5),(98437,5),(98442,5),(98448,5),(98450,5),(98461,5),(98462,5),(98471,5),(98481,5),(98497,5),(98499,5),(98535,5),(98536,5),(98537,5),(98540,5),(98546,5),(98552,5),(98554,5),(98576,5),(98585,5),(98590,5),(98606,5),(98615,5),(98617,5),(98618,5),(98622,5),(98623,5),(98628,5),(98632,5),(98637,5),(98638,5),(98645,5),(98649,5),(98661,5),(98673,5),(98685,5),(98687,5),(98688,5),(98694,5),(98695,5),(98697,5),(98700,5),(98718,5),(98727,5),(98728,5),(98736,5),(98738,5),(98763,5),(98772,5),(98778,5),(98789,5),(98790,5),(98792,5),(98798,5),(98804,5),(98817,5),(98819,5),(98820,5),(98821,5),(98822,5),(98836,5),(98843,5),(98851,5),(98852,5),(98854,5),(98858,5),(98868,5),(98873,5),(98881,5),(98887,5),(98893,5),(98894,5),(98895,5),(98901,5),(98904,5),(98914,5),(98916,5),(98917,5),(98924,5),(98930,5),(98936,5),(98944,5),(98950,5),(98952,5),(98954,5),(98965,5),(98969,5),(98976,5),(98982,5),(7,6),(8,6),(14,6),(18,6),(20,6),(26,6),(27,6),(28,6),(45,6),(47,6),(51,6),(71,6),(85,6),(86,6),(87,6),(90,6),(91,6),(96,6),(116,6),(123,6),(126,6),(127,6),(129,6),(132,6),(138,6),(143,6),(174,6),(176,6),(180,6),(182,6),(184,6),(187,6),(188,6),(198,6),(206,6),(218,6),(240,6),(242,6),(243,6),(254,6),(266,6),(268,6),(277,6),(279,6),(283,6),(286,6),(292,6),(294,6),(307,6),(311,6),(312,6),(329,6),(337,6),(340,6),(343,6),(347,6),(348,6),(349,6),(361,6),(370,6),(371,6),(381,6),(390,6),(399,6),(400,6),(407,6),(409,6),(424,6),(442,6),(449,6),(452,6),(455,6),(459,6),(466,6),(469,6),(471,6),(472,6),(473,6),(484,6),(493,6),(497,6),(501,6),(507,6),(515,6),(518,6),(533,6),(539,6),(550,6),(551,6),(561,6),(565,6),(566,6),(568,6),(573,6),(595,6),(605,6),(621,6),(623,6),(630,6),(636,6),(637,6),(650,6),(654,6),(655,6),(660,6),(664,6),(666,6),(674,6),(679,6),(680,6),(685,6),(687,6),(688,6),(697,6),(700,6),(701,6),(707,6),(734,6),(751,6),(752,6),(758,6),(766,6),(768,6),(773,6),(787,6),(788,6),(790,6),(799,6),(803,6),(808,6),(810,6),(822,6),(828,6),(831,6),(832,6),(838,6),(844,6),(847,6),(851,6),(855,6),(858,6),(860,6),(862,6),(864,6),(868,6),(887,6),(889,6),(893,6),(896,6),(908,6),(910,6),(912,6),(917,6),(920,6),(933,6),(942,6),(946,6),(950,6),(968,6),(976,6),(983,6),(989,6),(1000,6),(1017,6),(1018,6),(1024,6),(1028,6),(1029,6),(1035,6),(1056,6),(1065,6),(1081,6),(1082,6),(1105,6),(1106,6),(1111,6),(1113,6),(1115,6),(1117,6),(1122,6),(1125,6),(1139,6),(1154,6),(1156,6),(1165,6),(1167,6),(1178,6),(1184,6),(1185,6),(1206,6),(1221,6),(1223,6),(1225,6),(1226,6),(1229,6),(1234,6),(1254,6),(1256,6),(1271,6),(1276,6),(1277,6),(1293,6),(1302,6),(1311,6),(1323,6),(1328,6),(1338,6),(1345,6),(1348,6),(1351,6),(1355,6),(1363,6),(1364,6),(1376,6),(1377,6),(1378,6),(1379,6),(1380,6),(1381,6),(1387,6),(1388,6),(1389,6),(1393,6),(1406,6),(1407,6),(1409,6),(1420,6),(1424,6),(1434,6),(1438,6),(1441,6),(1443,6),(1444,6),(1449,6),(1450,6),(1454,6),(1469,6),(1473,6),(1478,6),(1480,6),(1486,6),(1487,6),(1492,6),(1500,6),(1501,6),(1503,6),(1516,6),(1519,6),(1520,6),(1523,6),(1529,6),(1534,6),(1537,6),(1538,6),(1545,6),(1547,6),(1550,6),(1557,6),(1581,6),(1594,6),(1596,6),(1603,6),(1605,6),(1616,6),(1618,6),(1633,6),(1641,6),(1652,6),(1656,6),(1661,6),(1662,6),(1667,6),(1669,6),(1676,6),(1680,6),(1689,6),(1694,6),(1700,6),(1707,6),(1711,6),(1712,6),(1722,6),(1730,6),(1736,6),(1738,6),(1739,6),(1741,6),(1748,6),(1766,6),(1774,6),(1778,6),(1782,6),(1790,6),(1795,6),(1797,6),(1798,6),(1803,6),(1806,6),(1807,6),(1808,6),(1810,6),(1814,6),(1825,6),(1833,6),(1855,6),(1857,6),(1859,6),(1860,6),(1861,6),(1864,6),(1868,6),(1879,6),(1881,6),(1883,6),(1893,6),(1902,6),(1915,6),(1916,6),(1917,6),(1928,6),(1939,6),(1940,6),(1953,6),(1961,6),(1963,6),(1971,6),(1980,6),(1990,6),(1994,6),(2007,6),(2015,6),(2026,6),(2033,6),(2040,6),(2043,6),(2047,6),(2053,6),(2064,6),(2084,6),(2087,6),(2088,6),(2090,6),(2094,6),(2095,6),(2099,6),(2107,6),(2111,6),(2118,6),(2119,6),(2123,6),(2128,6),(2136,6),(2143,6),(2147,6),(2149,6),(2152,6),(2158,6),(2159,6),(2162,6),(2169,6),(2174,6),(2176,6),(2177,6),(2188,6),(2191,6),(2192,6),(2194,6),(2195,6),(2197,6),(2200,6),(2213,6),(2218,6),(2224,6),(2246,6),(2250,6),(2260,6),(2265,6),(2274,6),(2278,6),(2281,6),(2282,6),(2289,6),(2293,6),(2297,6),(2313,6),(2316,6),(2321,6),(2335,6),(2343,6),(2346,6),(2348,6),(2351,6),(2355,6),(2366,6),(2372,6),(2373,6),(2378,6),(2382,6),(2384,6),(2392,6),(2394,6),(2399,6),(2400,6),(2405,6),(2409,6),(2416,6),(2417,6),(2420,6),(2425,6),(2426,6),(2434,6),(2436,6),(2443,6),(2448,6),(2458,6),(2460,6),(2469,6),(2470,6),(2474,6),(2481,6),(2482,6),(2489,6),(2502,6),(2527,6),(2534,6),(2537,6),(2538,6),(2539,6),(2542,6),(2544,6),(2548,6),(2552,6),(2559,6),(2566,6),(2571,6),(2576,6),(2581,6),(2583,6),(2601,6),(2602,6),(2603,6),(2607,6),(2609,6),(2610,6),(2611,6),(2612,6),(2614,6),(2618,6),(2622,6),(2623,6),(2632,6),(2642,6),(2650,6),(2651,6),(2652,6),(2657,6),(2662,6),(2664,6),(2671,6),(2678,6),(2683,6),(2691,6),(2700,6),(2701,6),(2713,6),(2725,6),(2728,6),(2742,6),(2746,6),(2748,6),(2751,6),(2752,6),(2753,6),(2756,6),(2757,6),(2764,6),(2771,6),(2772,6),(2777,6),(2783,6),(2784,6),(2787,6),(2795,6),(2800,6),(2805,6),(2807,6),(2827,6),(2831,6),(2834,6),(2836,6),(2837,6),(2864,6),(2869,6),(2870,6),(2877,6),(2881,6),(2883,6),(2888,6),(2894,6),(2896,6),(2900,6),(2903,6),(2904,6),(2906,6),(2911,6),(2920,6),(2923,6),(2930,6),(2935,6),(2951,6),(2953,6),(2960,6),(2970,6),(2973,6),(2980,6),(2981,6),(2985,6),(2989,6),(2990,6),(2995,6),(2996,6),(3000,6),(3007,6),(3016,6),(3022,6),(3026,6),(3033,6),(3037,6),(3040,6),(3045,6),(3058,6),(3063,6),(3066,6),(3071,6),(3072,6),(3073,6),(3074,6),(3075,6),(3077,6),(3079,6),(3082,6),(3089,6),(3095,6),(3096,6),(3099,6),(3102,6),(3103,6),(3104,6),(3106,6),(3112,6),(3117,6),(3118,6),(3121,6),(3122,6),(3127,6),(3130,6),(3131,6),(3132,6),(3133,6),(3134,6),(3144,6),(3148,6),(3150,6),(3153,6),(3155,6),(3157,6),(3165,6),(3170,6),(3173,6),(3175,6),(3186,6),(3188,6),(3192,6),(3195,6),(3204,6),(3206,6),(3212,6),(3214,6),(3218,6),(3237,6),(3240,6),(3242,6),(3243,6),(3250,6),(3253,6),(3259,6),(3270,6),(3275,6),(3278,6),(3292,6),(3296,6),(3298,6),(3305,6),(3306,6),(3307,6),(3308,6),(3328,6),(3332,6),(3343,6),(3349,6),(3351,6),(3360,6),(3361,6),(3363,6),(3371,6),(3385,6),(3389,6),(3397,6),(3398,6),(3399,6),(3409,6),(3412,6),(3416,6),(3421,6),(3428,6),(3430,6),(3431,6),(3436,6),(3437,6),(3438,6),(3439,6),(3449,6),(3450,6),(3451,6),(3452,6),(3465,6),(3473,6),(3481,6),(3482,6),(3489,6),(3500,6),(3510,6),(3512,6),(3517,6),(3520,6),(3527,6),(3530,6),(3536,6),(3546,6),(3550,6),(3551,6),(3553,6),(3566,6),(3570,6),(3574,6),(3577,6),(3581,6),(3586,6),(3592,6),(3596,6),(3597,6),(3600,6),(3607,6),(3610,6),(3616,6),(3626,6),(3631,6),(3633,6),(3635,6),(3643,6),(3648,6),(3665,6),(3669,6),(3676,6),(3677,6),(3684,6),(3686,6),(3693,6),(3694,6),(3700,6),(3701,6),(3704,6),(3707,6),(3709,6),(3717,6),(3723,6),(3725,6),(3730,6),(3735,6),(3744,6),(3753,6),(3760,6),(3762,6),(3767,6),(3771,6),(3774,6),(3792,6),(3805,6),(3809,6),(3826,6),(3827,6),(3837,6),(3842,6),(3845,6),(3858,6),(3859,6),(3860,6),(3863,6),(3864,6),(3866,6),(3877,6),(3879,6),(3880,6),(3882,6),(3886,6),(3901,6),(3902,6),(3905,6),(3923,6),(3924,6),(3925,6),(3926,6),(3940,6),(3953,6),(3954,6),(3955,6),(3959,6),(3964,6),(3969,6),(3974,6),(3977,6),(4001,6),(4005,6),(4010,6),(4013,6),(4015,6),(4030,6),(4031,6),(4050,6),(4060,6),(4068,6),(4078,6),(4099,6),(4103,6),(4105,6),(4106,6),(4128,6),(4129,6),(4135,6),(4150,6),(4159,6),(4162,6),(4165,6),(4168,6),(4172,6),(4190,6),(4193,6),(4197,6),(4200,6),(4206,6),(4210,6),(4212,6),(4214,6),(4217,6),(4220,6),(4226,6),(4232,6),(4235,6),(4241,6),(4247,6),(4251,6),(4256,6),(4264,6),(4265,6),(4269,6),(4271,6),(4273,6),(4274,6),(4279,6),(4281,6),(4301,6),(4306,6),(4321,6),(4324,6),(4330,6),(4333,6),(4340,6),(4343,6),(4355,6),(4358,6),(4359,6),(4374,6),(4377,6),(4381,6),(4385,6),(4389,6),(4391,6),(4392,6),(4412,6),(4414,6),(4426,6),(4427,6),(4428,6),(4441,6),(4444,6),(4452,6),(4456,6),(4463,6),(4467,6),(4469,6),(4472,6),(4475,6),(4482,6),(4486,6),(4487,6),(4496,6),(4498,6),(4503,6),(4512,6),(4516,6),(4518,6),(4521,6),(4524,6),(4544,6),(4546,6),(4553,6),(4554,6),(4557,6),(4561,6),(4563,6),(4565,6),(4566,6),(4569,6),(4573,6),(4582,6),(4586,6),(4596,6),(4598,6),(4601,6),(4604,6),(4611,6),(4615,6),(4616,6),(4617,6),(4619,6),(4620,6),(4624,6),(4632,6),(4633,6),(4639,6),(4659,6),(4662,6),(4681,6),(4685,6),(4687,6),(4692,6),(4701,6),(4705,6),(4709,6),(4710,6),(4722,6),(4725,6),(4735,6),(4739,6),(4746,6),(4751,6),(4763,6),(4772,6),(4780,6),(4782,6),(4791,6),(4792,6),(4804,6),(4826,6),(4833,6),(4842,6),(4843,6),(4847,6),(4850,6),(4861,6),(4871,6),(4876,6),(4882,6),(4884,6),(4888,6),(4892,6),(4900,6),(4902,6),(4908,6),(4909,6),(4919,6),(4925,6),(4928,6),(4934,6),(4935,6),(4947,6),(4948,6),(4964,6),(4968,6),(4984,6),(4985,6),(4988,6),(4990,6),(4991,6),(4994,6),(5002,6),(5015,6),(5022,6),(5026,6),(5031,6),(5034,6),(5038,6),(5041,6),(5053,6),(5064,6),(5074,6),(5078,6),(5084,6),(5090,6),(5092,6),(5098,6),(5100,6),(5101,6),(5116,6),(5117,6),(5124,6),(5125,6),(5147,6),(5154,6),(5158,6),(5178,6),(5181,6),(5186,6),(5193,6),(5206,6),(5222,6),(5227,6),(5229,6),(5230,6),(5236,6),(5238,6),(5252,6),(5258,6),(5267,6),(5271,6),(5272,6),(5273,6),(5274,6),(5282,6),(5290,6),(5310,6),(5315,6),(5317,6),(5327,6),(5335,6),(5342,6),(5344,6),(5346,6),(5360,6),(5361,6),(5362,6),(5370,6),(5374,6),(5375,6),(5380,6),(5382,6),(5385,6),(5405,6),(5415,6),(5424,6),(5426,6),(5427,6),(5430,6),(5435,6),(5437,6),(5439,6),(5444,6),(5461,6),(5465,6),(5470,6),(5471,6),(5472,6),(5477,6),(5485,6),(5493,6),(5496,6),(5501,6),(5513,6),(5514,6),(5523,6),(5527,6),(5528,6),(5529,6),(5544,6),(5550,6),(5553,6),(5571,6),(5577,6),(5578,6),(5579,6),(5585,6),(5597,6),(5601,6),(5607,6),(5608,6),(5615,6),(5633,6),(5634,6),(5638,6),(5639,6),(5640,6),(5642,6),(5677,6),(5678,6),(5683,6),(5686,6),(5695,6),(5697,6),(5698,6),(5701,6),(5712,6),(5718,6),(5720,6),(5724,6),(5730,6),(5743,6),(5749,6),(5751,6),(5755,6),(5772,6),(5793,6),(5796,6),(5799,6),(5800,6),(5809,6),(5810,6),(5824,6),(5826,6),(5830,6),(5833,6),(5844,6),(5865,6),(5883,6),(5886,6),(5889,6),(5890,6),(5899,6),(5902,6),(5906,6),(5907,6),(5912,6),(5922,6),(5923,6),(5924,6),(5925,6),(5930,6),(5938,6),(5943,6),(5948,6),(5949,6),(5950,6),(5955,6),(5985,6),(5989,6),(6000,6),(6002,6),(6012,6),(6013,6),(6044,6),(6065,6),(6067,6),(6069,6),(6070,6),(6076,6),(6081,6),(6087,6),(6088,6),(6090,6),(6093,6),(6095,6),(6102,6),(6113,6),(6118,6),(6119,6),(6124,6),(6132,6),(6138,6),(6146,6),(6155,6),(6157,6),(6165,6),(6166,6),(6167,6),(6183,6),(6201,6),(6205,6),(6206,6),(6210,6),(6218,6),(6219,6),(6231,6),(6244,6),(6247,6),(6254,6),(6255,6),(6269,6),(6270,6),(6271,6),(6274,6),(6280,6),(6283,6),(6285,6),(6287,6),(6294,6),(6311,6),(6312,6),(6317,6),(6335,6),(6340,6),(6345,6),(6347,6),(6349,6),(6351,6),(6359,6),(6361,6),(6363,6),(6364,6),(6365,6),(6411,6),(6416,6),(6420,6),(6424,6),(6427,6),(6437,6),(6448,6),(6465,6),(6466,6),(6472,6),(6475,6),(6478,6),(6496,6),(6499,6),(6515,6),(6528,6),(6529,6),(6533,6),(6534,6),(6557,6),(6561,6),(6562,6),(6570,6),(6578,6),(6586,6),(6592,6),(6602,6),(6604,6),(6606,6),(6609,6),(6618,6),(6624,6),(6631,6),(6632,6),(6642,6),(6646,6),(6663,6),(6664,6),(6665,6),(6673,6),(6674,6),(6677,6),(6682,6),(6687,6),(6694,6),(6698,6),(6701,6),(6702,6),(6706,6),(6713,6),(6722,6),(6726,6),(6730,6),(6734,6),(6739,6),(6740,6),(6744,6),(6749,6),(6762,6),(6766,6),(6774,6),(6783,6),(6788,6),(6789,6),(6794,6),(6798,6),(6808,6),(6814,6),(6822,6),(6831,6),(6839,6),(6844,6),(6849,6),(6850,6),(6861,6),(6868,6),(6875,6),(6876,6),(6889,6),(6890,6),(6891,6),(6900,6),(6902,6),(6913,6),(6918,6),(6920,6),(6922,6),(6924,6),(6928,6),(6932,6),(6947,6),(6948,6),(6959,6),(6960,6),(6964,6),(6965,6),(6977,6),(6985,6),(6988,6),(6989,6),(6993,6),(6994,6),(6998,6),(7009,6),(7014,6),(7020,6),(7026,6),(7028,6),(7037,6),(7038,6),(7040,6),(7041,6),(7045,6),(7046,6),(7049,6),(7053,6),(7057,6),(7058,6),(7060,6),(7068,6),(7076,6),(7082,6),(7096,6),(7099,6),(7103,6),(7110,6),(7114,6),(7118,6),(7119,6),(7125,6),(7147,6),(7153,6),(7171,6),(7183,6),(7184,6),(7185,6),(7186,6),(7198,6),(7200,6),(7201,6),(7217,6),(7228,6),(7229,6),(7230,6),(7233,6),(7244,6),(7252,6),(7259,6),(7264,6),(7280,6),(7282,6),(7289,6),(7290,6),(7297,6),(7298,6),(7309,6),(7310,6),(7311,6),(7313,6),(7316,6),(7331,6),(7336,6),(7340,6),(7354,6),(7357,6),(7374,6),(7376,6),(7377,6),(7385,6),(7389,6),(7391,6),(7399,6),(7408,6),(7416,6),(7417,6),(7420,6),(7431,6),(7437,6),(7440,6),(7441,6),(7445,6),(7450,6),(7453,6),(7457,6),(7460,6),(7474,6),(7475,6),(7476,6),(7487,6),(7488,6),(7502,6),(7503,6),(7504,6),(7523,6),(7524,6),(7528,6),(7531,6),(7541,6),(7544,6),(7546,6),(7557,6),(7559,6),(7560,6),(7562,6),(7564,6),(7568,6),(7574,6),(7587,6),(7589,6),(7591,6),(7614,6),(7616,6),(7624,6),(7629,6),(7631,6),(7644,6),(7645,6),(7647,6),(7649,6),(7664,6),(7674,6),(7677,6),(7687,6),(7698,6),(7700,6),(7704,6),(7718,6),(7729,6),(7731,6),(7732,6),(7742,6),(7746,6),(7749,6),(7751,6),(7753,6),(7754,6),(7757,6),(7765,6),(7778,6),(7782,6),(7784,6),(7795,6),(7801,6),(7805,6),(7811,6),(7812,6),(7819,6),(7826,6),(7837,6),(7839,6),(7842,6),(7846,6),(7848,6),(7852,6),(7863,6),(7864,6),(7870,6),(7871,6),(7881,6),(7883,6),(7894,6),(7896,6),(7898,6),(7902,6),(7917,6),(7923,6),(7925,6),(7937,6),(7945,6),(7949,6),(7952,6),(7963,6),(7968,6),(7974,6),(7982,6),(7983,6),(7995,6),(7999,6),(8000,6),(8010,6),(8019,6),(8021,6),(8023,6),(8038,6),(8039,6),(8048,6),(8052,6),(8054,6),(8060,6),(8062,6),(8063,6),(8069,6),(8073,6),(8078,6),(8098,6),(8100,6),(8110,6),(8111,6),(8117,6),(8119,6),(8130,6),(8138,6),(8144,6),(8147,6),(8148,6),(8149,6),(8154,6),(8155,6),(8164,6),(8168,6),(8175,6),(8176,6),(8177,6),(8188,6),(8189,6),(8215,6),(8219,6),(8225,6),(8240,6),(8253,6),(8258,6),(8261,6),(8265,6),(8267,6),(8270,6),(8272,6),(8273,6),(8275,6),(8281,6),(8282,6),(8285,6),(8286,6),(8287,6),(8288,6),(8289,6),(8293,6),(8296,6),(8298,6),(8300,6),(8304,6),(8305,6),(8306,6),(8307,6),(8327,6),(8333,6),(8336,6),(8342,6),(8344,6),(8348,6),(8355,6),(8357,6),(8363,6),(8380,6),(8392,6),(8395,6),(8407,6),(8416,6),(8417,6),(8431,6),(8439,6),(8455,6),(8456,6),(8459,6),(8461,6),(8472,6),(8475,6),(8481,6),(8483,6),(8489,6),(8493,6),(8500,6),(8506,6),(8517,6),(8518,6),(8519,6),(8522,6),(8523,6),(8546,6),(8552,6),(8558,6),(8566,6),(8574,6),(8575,6),(8583,6),(8587,6),(8597,6),(8606,6),(8611,6),(8612,6),(8618,6),(8619,6),(8626,6),(8629,6),(8631,6),(8632,6),(8635,6),(8640,6),(8662,6),(8673,6),(8675,6),(8683,6),(8685,6),(8689,6),(8690,6),(8705,6),(8707,6),(8709,6),(8715,6),(8727,6),(8729,6),(8739,6),(8741,6),(8744,6),(8745,6),(8749,6),(8766,6),(8767,6),(8769,6),(8770,6),(8777,6),(8778,6),(8780,6),(8782,6),(8788,6),(8791,6),(8814,6),(8827,6),(8828,6),(8830,6),(8836,6),(8838,6),(8839,6),(8850,6),(8852,6),(8860,6),(8862,6),(8875,6),(8877,6),(8878,6),(8879,6),(8886,6),(8901,6),(8909,6),(8910,6),(8912,6),(8914,6),(8919,6),(8926,6),(8942,6),(8951,6),(8955,6),(8956,6),(8957,6),(8958,6),(8968,6),(8969,6),(8978,6),(8980,6),(8990,6),(8991,6),(9014,6),(9022,6),(9026,6),(9027,6),(9036,6),(9059,6),(9060,6),(9064,6),(9067,6),(9070,6),(9080,6),(9103,6),(9109,6),(9112,6),(9115,6),(9116,6),(9127,6),(9142,6),(9144,6),(9160,6),(9164,6),(9171,6),(9178,6),(9182,6),(9187,6),(9189,6),(9194,6),(9195,6),(9206,6),(9225,6),(9227,6),(9240,6),(9244,6),(9247,6),(9251,6),(9267,6),(9273,6),(9279,6),(9283,6),(9288,6),(9301,6),(9302,6),(9304,6),(9313,6),(9314,6),(9317,6),(9332,6),(9342,6),(9345,6),(9348,6),(9361,6),(9367,6),(9370,6),(9372,6),(9387,6),(9388,6),(9389,6),(9392,6),(9405,6),(9408,6),(9410,6),(9425,6),(9449,6),(9450,6),(9451,6),(9452,6),(9454,6),(9457,6),(9462,6),(9464,6),(9481,6),(9484,6),(9489,6),(9494,6),(9496,6),(9507,6),(9514,6),(9522,6),(9530,6),(9532,6),(9534,6),(9546,6),(9556,6),(9564,6),(9571,6),(9582,6),(9594,6),(9601,6),(9603,6),(9614,6),(9623,6),(9626,6),(9629,6),(9630,6),(9635,6),(9642,6),(9653,6),(9672,6),(9675,6),(9679,6),(9682,6),(9687,6),(9689,6),(9695,6),(9708,6),(9714,6),(9720,6),(9723,6),(9724,6),(9730,6),(9738,6),(9746,6),(9760,6),(9769,6),(9771,6),(9774,6),(9781,6),(9788,6),(9799,6),(9808,6),(9811,6),(9812,6),(9813,6),(9820,6),(9832,6),(9833,6),(9834,6),(9840,6),(9841,6),(9846,6),(9850,6),(9851,6),(9852,6),(9854,6),(9858,6),(9859,6),(9864,6),(9873,6),(9879,6),(9880,6),(9890,6),(9896,6),(9897,6),(9899,6),(9900,6),(9904,6),(9907,6),(9923,6),(9931,6),(9938,6),(9947,6),(9951,6),(9954,6),(9955,6),(9961,6),(9962,6),(9987,6),(9991,6),(10005,6),(10007,6),(10009,6),(10011,6),(10014,6),(10020,6),(10025,6),(10030,6),(10034,6),(10050,6),(10055,6),(10060,6),(10072,6),(10079,6),(10085,6),(10092,6),(10096,6),(10099,6),(10101,6),(10103,6),(10107,6),(10108,6),(10109,6),(10111,6),(10112,6),(10123,6),(10124,6),(10125,6),(10127,6),(10132,6),(10138,6),(10144,6),(10148,6),(10154,6),(10160,6),(10162,6),(10169,6),(10170,6),(10178,6),(10185,6),(10186,6),(10187,6),(10188,6),(10200,6),(10202,6),(10209,6),(10212,6),(10214,6),(10216,6),(10223,6),(10229,6),(10233,6),(10236,6),(10240,6),(10242,6),(10246,6),(10249,6),(10252,6),(10253,6),(10256,6),(10260,6),(10277,6),(10285,6),(10295,6),(10297,6),(10314,6),(10323,6),(10327,6),(10335,6),(10339,6),(10340,6),(10353,6),(10354,6),(10358,6),(10365,6),(10368,6),(10375,6),(10376,6),(10384,6),(10385,6),(10386,6),(10392,6),(10396,6),(10401,6),(10420,6),(10428,6),(10429,6),(10433,6),(10442,6),(10443,6),(10445,6),(10450,6),(10464,6),(10467,6),(10480,6),(10484,6),(10492,6),(10511,6),(10513,6),(10515,6),(10516,6),(10518,6),(10531,6),(10535,6),(10566,6),(10571,6),(10582,6),(10585,6),(10595,6),(10601,6),(10612,6),(10614,6),(10619,6),(10626,6),(10635,6),(10659,6),(10668,6),(10669,6),(10673,6),(10677,6),(10682,6),(10686,6),(10687,6),(10694,6),(10699,6),(10719,6),(10722,6),(10728,6),(10730,6),(10731,6),(10732,6),(10739,6),(10744,6),(10752,6),(10754,6),(10783,6),(10792,6),(10794,6),(10804,6),(10829,6),(10834,6),(10835,6),(10836,6),(10849,6),(10853,6),(10858,6),(10861,6),(10864,6),(10874,6),(10883,6),(10910,6),(10939,6),(10942,6),(10947,6),(10950,6),(10981,6),(10992,6),(10998,6),(11010,6),(11011,6),(11014,6),(11015,6),(11019,6),(11023,6),(11031,6),(11033,6),(11046,6),(11058,6),(11060,6),(11061,6),(11064,6),(11065,6),(11075,6),(11082,6),(11085,6),(11092,6),(11108,6),(11109,6),(11112,6),(11116,6),(11117,6),(11121,6),(11127,6),(11134,6),(11140,6),(11143,6),(11147,6),(11148,6),(11162,6),(11172,6),(11173,6),(11178,6),(11186,6),(11195,6),(11197,6),(11201,6),(11203,6),(11206,6),(11207,6),(11212,6),(11214,6),(11216,6),(11228,6),(11229,6),(11231,6),(11241,6),(11243,6),(11258,6),(11265,6),(11270,6),(11274,6),(11287,6),(11288,6),(11297,6),(11299,6),(11306,6),(11307,6),(11316,6),(11320,6),(11321,6),(11332,6),(11333,6),(11336,6),(11348,6),(11351,6),(11352,6),(11358,6),(11362,6),(11364,6),(11381,6),(11400,6),(11401,6),(11414,6),(11424,6),(11426,6),(11432,6),(11435,6),(11436,6),(11452,6),(11457,6),(11460,6),(11483,6),(11484,6),(11488,6),(11493,6),(11505,6),(11508,6),(11528,6),(11530,6),(11531,6),(11537,6),(11540,6),(11542,6),(11570,6),(11575,6),(11576,6),(11589,6),(11592,6),(11594,6),(11612,6),(11615,6),(11617,6),(11639,6),(11650,6),(11655,6),(11659,6),(11665,6),(11673,6),(11696,6),(11698,6),(11702,6),(11708,6),(11715,6),(11727,6),(11730,6),(11746,6),(11751,6),(11754,6),(11755,6),(11777,6),(11781,6),(11784,6),(11788,6),(11790,6),(11804,6),(11813,6),(11819,6),(11832,6),(11839,6),(11844,6),(11865,6),(11872,6),(11877,6),(11878,6),(11881,6),(11882,6),(11891,6),(11898,6),(11900,6),(11911,6),(11916,6),(11933,6),(11945,6),(11950,6),(11979,6),(12000,6),(12004,6),(12009,6),(12015,6),(12020,6),(12023,6),(12029,6),(12038,6),(12057,6),(12060,6),(12108,6),(12110,6),(12111,6),(12114,6),(12115,6),(12126,6),(12129,6),(12132,6),(12138,6),(12148,6),(12149,6),(12151,6),(12153,6),(12159,6),(12160,6),(12165,6),(12184,6),(12185,6),(12199,6),(12204,6),(12207,6),(12208,6),(12209,6),(12215,6),(12216,6),(12218,6),(12221,6),(12235,6),(12236,6),(12237,6),(12242,6),(12247,6),(12251,6),(12256,6),(12266,6),(12270,6),(12278,6),(12279,6),(12284,6),(12291,6),(12300,6),(12304,6),(12307,6),(12315,6),(12320,6),(12321,6),(12322,6),(12331,6),(12335,6),(12341,6),(12357,6),(12358,6),(12376,6),(12382,6),(12384,6),(12385,6),(12400,6),(12410,6),(12414,6),(12415,6),(12424,6),(12429,6),(12432,6),(12438,6),(12442,6),(12453,6),(12466,6),(12471,6),(12472,6),(12476,6),(12498,6),(12504,6),(12511,6),(12523,6),(12527,6),(12534,6),(12539,6),(12546,6),(12554,6),(12562,6),(12573,6),(12583,6),(12596,6),(12608,6),(12614,6),(12626,6),(12634,6),(12637,6),(12641,6),(12648,6),(12652,6),(12657,6),(12675,6),(12681,6),(12684,6),(12685,6),(12687,6),(12691,6),(12700,6),(12713,6),(12725,6),(12726,6),(12730,6),(12733,6),(12734,6),(12735,6),(12742,6),(12747,6),(12758,6),(12760,6),(12762,6),(12764,6),(12769,6),(12773,6),(12795,6),(12796,6),(12804,6),(12805,6),(12815,6),(12822,6),(12830,6),(12834,6),(12845,6),(12846,6),(12851,6),(12859,6),(12862,6),(12873,6),(12889,6),(12896,6),(12899,6),(12900,6),(12901,6),(12902,6),(12903,6),(12905,6),(12933,6),(12956,6),(12975,6),(12985,6),(12989,6),(12992,6),(12993,6),(12999,6),(13003,6),(13030,6),(13035,6),(13041,6),(13045,6),(13049,6),(13056,6),(13064,6),(13069,6),(13071,6),(13077,6),(13083,6),(13088,6),(13092,6),(13093,6),(13096,6),(13099,6),(13115,6),(13117,6),(13118,6),(13119,6),(13120,6),(13127,6),(13129,6),(13133,6),(13138,6),(13142,6),(13149,6),(13151,6),(13152,6),(13154,6),(13168,6),(13171,6),(13177,6),(13178,6),(13182,6),(13191,6),(13196,6),(13199,6),(13202,6),(13206,6),(13207,6),(13208,6),(13210,6),(13216,6),(13232,6),(13234,6),(13238,6),(13241,6),(13244,6),(13251,6),(13260,6),(13266,6),(13267,6),(13271,6),(13296,6),(13308,6),(13310,6),(13312,6),(13321,6),(13325,6),(13329,6),(13341,6),(13345,6),(13351,6),(13358,6),(13372,6),(13377,6),(13398,6),(13403,6),(13404,6),(13408,6),(13417,6),(13426,6),(13455,6),(13456,6),(13466,6),(13472,6),(13479,6),(13481,6),(13492,6),(13496,6),(13507,6),(13514,6),(13518,6),(13530,6),(13535,6),(13536,6),(13537,6),(13554,6),(13556,6),(13560,6),(13566,6),(13590,6),(13595,6),(13606,6),(13609,6),(13613,6),(13616,6),(13629,6),(13630,6),(13672,6),(13673,6),(13675,6),(13683,6),(13708,6),(13713,6),(13725,6),(13726,6),(13737,6),(13740,6),(13744,6),(13745,6),(13753,6),(13754,6),(13755,6),(13760,6),(13761,6),(13764,6),(13765,6),(13770,6),(13774,6),(13780,6),(13781,6),(13793,6),(13796,6),(13799,6),(13800,6),(13803,6),(13823,6),(13830,6),(13837,6),(13838,6),(13847,6),(13856,6),(13859,6),(13873,6),(13879,6),(13880,6),(13881,6),(13882,6),(13889,6),(13891,6),(13896,6),(13897,6),(13900,6),(13906,6),(13907,6),(13918,6),(13920,6),(13924,6),(13925,6),(13926,6),(13932,6),(13934,6),(13936,6),(13937,6),(13941,6),(13943,6),(13944,6),(13948,6),(13950,6),(13956,6),(13961,6),(13963,6),(13972,6),(13976,6),(13983,6),(13992,6),(13997,6),(14000,6),(14007,6),(14016,6),(14034,6),(14052,6),(14058,6),(14067,6),(14069,6),(14070,6),(14073,6),(14080,6),(14083,6),(14092,6),(14093,6),(14115,6),(14119,6),(14120,6),(14123,6),(14164,6),(14170,6),(14179,6),(14190,6),(14192,6),(14200,6),(14206,6),(14212,6),(14213,6),(14219,6),(14221,6),(14230,6),(14236,6),(14246,6),(14251,6),(14252,6),(14267,6),(14279,6),(14282,6),(14285,6),(14286,6),(14287,6),(14290,6),(14291,6),(14294,6),(14312,6),(14316,6),(14322,6),(14326,6),(14337,6),(14347,6),(14349,6),(14357,6),(14358,6),(14362,6),(14382,6),(14393,6),(14396,6),(14403,6),(14404,6),(14409,6),(14416,6),(14421,6),(14427,6),(14428,6),(14431,6),(14432,6),(14433,6),(14435,6),(14436,6),(14440,6),(14442,6),(14454,6),(14456,6),(14463,6),(14503,6),(14504,6),(14507,6),(14529,6),(14538,6),(14543,6),(14553,6),(14558,6),(14562,6),(14566,6),(14581,6),(14582,6),(14591,6),(14593,6),(14594,6),(14599,6),(14604,6),(14609,6),(14614,6),(14615,6),(14628,6),(14636,6),(14638,6),(14639,6),(14641,6),(14644,6),(14655,6),(14658,6),(14659,6),(14663,6),(14670,6),(14678,6),(14679,6),(14687,6),(14696,6),(14701,6),(14708,6),(14714,6),(14721,6),(14728,6),(14740,6),(14749,6),(14762,6),(14763,6),(14765,6),(14776,6),(14782,6),(14793,6),(14800,6),(14811,6),(14814,6),(14816,6),(14832,6),(14836,6),(14837,6),(14838,6),(14842,6),(14845,6),(14853,6),(14859,6),(14866,6),(14870,6),(14875,6),(14883,6),(14884,6),(14900,6),(14910,6),(14925,6),(14927,6),(14928,6),(14929,6),(14934,6),(14939,6),(14940,6),(14944,6),(14963,6),(14969,6),(14982,6),(14984,6),(14990,6),(14993,6),(15005,6),(15010,6),(15026,6),(15027,6),(15029,6),(15037,6),(15073,6),(15074,6),(15081,6),(15101,6),(15107,6),(15110,6),(15113,6),(15117,6),(15118,6),(15119,6),(15121,6),(15139,6),(15145,6),(15153,6),(15155,6),(15161,6),(15171,6),(15174,6),(15175,6),(15180,6),(15191,6),(15192,6),(15193,6),(15200,6),(15202,6),(15203,6),(15205,6),(15207,6),(15210,6),(15211,6),(15213,6),(15215,6),(15217,6),(15219,6),(15220,6),(15221,6),(15234,6),(15239,6),(15241,6),(15250,6),(15253,6),(15260,6),(15261,6),(15268,6),(15269,6),(15275,6),(15281,6),(15287,6),(15304,6),(15312,6),(15314,6),(15315,6),(15324,6),(15329,6),(15330,6),(15337,6),(15340,6),(15345,6),(15350,6),(15369,6),(15374,6),(15381,6),(15383,6),(15390,6),(15392,6),(15394,6),(15395,6),(15398,6),(15399,6),(15400,6),(15401,6),(15405,6),(15413,6),(15419,6),(15427,6),(15428,6),(15440,6),(15444,6),(15447,6),(15451,6),(15452,6),(15453,6),(15454,6),(15463,6),(15469,6),(15478,6),(15479,6),(15480,6),(15481,6),(15485,6),(15491,6),(15493,6),(15496,6),(15504,6),(15515,6),(15516,6),(15521,6),(15534,6),(15535,6),(15541,6),(15547,6),(15553,6),(15554,6),(15560,6),(15561,6),(15563,6),(15573,6),(15574,6),(15580,6),(15586,6),(15594,6),(15609,6),(15625,6),(15636,6),(15642,6),(15652,6),(15656,6),(15659,6),(15662,6),(15664,6),(15672,6),(15682,6),(15691,6),(15692,6),(15700,6),(15701,6),(15707,6),(15733,6),(15737,6),(15738,6),(15743,6),(15744,6),(15758,6),(15773,6),(15782,6),(15799,6),(15805,6),(15806,6),(15824,6),(15828,6),(15831,6),(15860,6),(15864,6),(15865,6),(15868,6),(15879,6),(15880,6),(15887,6),(15890,6),(15895,6),(15899,6),(15903,6),(15908,6),(15909,6),(15917,6),(15926,6),(15931,6),(15933,6),(15934,6),(15937,6),(15945,6),(15970,6),(15975,6),(15976,6),(15977,6),(15978,6),(15995,6),(15996,6),(15998,6),(16009,6),(16024,6),(16032,6),(16035,6),(16043,6),(16052,6),(16053,6),(16059,6),(16069,6),(16078,6),(16083,6),(16085,6),(16098,6),(16106,6),(16114,6),(16115,6),(16116,6),(16128,6),(16131,6),(16139,6),(16144,6),(16145,6),(16149,6),(16160,6),(16161,6),(16180,6),(16182,6),(16189,6),(16196,6),(16199,6),(16200,6),(16229,6),(16230,6),(16233,6),(16237,6),(16239,6),(16252,6),(16269,6),(16274,6),(16280,6),(16284,6),(16286,6),(16291,6),(16296,6),(16310,6),(16318,6),(16319,6),(16320,6),(16325,6),(16333,6),(16350,6),(16351,6),(16358,6),(16362,6),(16363,6),(16364,6),(16366,6),(16370,6),(16383,6),(16385,6),(16404,6),(16408,6),(16412,6),(16416,6),(16428,6),(16429,6),(16437,6),(16443,6),(16445,6),(16450,6),(16457,6),(16458,6),(16460,6),(16461,6),(16462,6),(16466,6),(16469,6),(16471,6),(16472,6),(16475,6),(16476,6),(16479,6),(16480,6),(16484,6),(16487,6),(16493,6),(16494,6),(16502,6),(16504,6),(16507,6),(16514,6),(16516,6),(16521,6),(16524,6),(16527,6),(16531,6),(16534,6),(16552,6),(16553,6),(16555,6),(16579,6),(16595,6),(16601,6),(16611,6),(16612,6),(16618,6),(16626,6),(16640,6),(16653,6),(16655,6),(16657,6),(16658,6),(16661,6),(16666,6),(16677,6),(16685,6),(16686,6),(16698,6),(16705,6),(16706,6),(16707,6),(16709,6),(16710,6),(16727,6),(16730,6),(16739,6),(16751,6),(16755,6),(16760,6),(16764,6),(16777,6),(16793,6),(16804,6),(16817,6),(16819,6),(16823,6),(16824,6),(16826,6),(16830,6),(16832,6),(16841,6),(16843,6),(16846,6),(16851,6),(16865,6),(16866,6),(16871,6),(16874,6),(16891,6),(16893,6),(16895,6),(16901,6),(16902,6),(16912,6),(16917,6),(16926,6),(16936,6),(16940,6),(16952,6),(16953,6),(16966,6),(16970,6),(16971,6),(16973,6),(16985,6),(16987,6),(16998,6),(17001,6),(17005,6),(17008,6),(17010,6),(17017,6),(17018,6),(17028,6),(17035,6),(17041,6),(17042,6),(17046,6),(17048,6),(17051,6),(17052,6),(17054,6),(17060,6),(17063,6),(17066,6),(17074,6),(17083,6),(17086,6),(17087,6),(17095,6),(17100,6),(17101,6),(17105,6),(17112,6),(17124,6),(17134,6),(17142,6),(17143,6),(17146,6),(17163,6),(17174,6),(17179,6),(17184,6),(17185,6),(17192,6),(17198,6),(17211,6),(17212,6),(17214,6),(17216,6),(17222,6),(17230,6),(17244,6),(17245,6),(17246,6),(17250,6),(17255,6),(17262,6),(17263,6),(17269,6),(17271,6),(17273,6),(17279,6),(17280,6),(17286,6),(17294,6),(17300,6),(17301,6),(17304,6),(17313,6),(17314,6),(17315,6),(17324,6),(17325,6),(17337,6),(17340,6),(17344,6),(17352,6),(17360,6),(17367,6),(17369,6),(17370,6),(17373,6),(17394,6),(17401,6),(17409,6),(17413,6),(17422,6),(17423,6),(17430,6),(17431,6),(17433,6),(17435,6),(17440,6),(17444,6),(17446,6),(17450,6),(17451,6),(17476,6),(17484,6),(17496,6),(17498,6),(17507,6),(17508,6),(17514,6),(17517,6),(17518,6),(17520,6),(17524,6),(17527,6),(17532,6),(17539,6),(17540,6),(17551,6),(17557,6),(17571,6),(17573,6),(17585,6),(17588,6),(17591,6),(17610,6),(17614,6),(17619,6),(17631,6),(17632,6),(17639,6),(17655,6),(17664,6),(17671,6),(17672,6),(17673,6),(17678,6),(17683,6),(17691,6),(17694,6),(17701,6),(17706,6),(17710,6),(17717,6),(17722,6),(17723,6),(17725,6),(17729,6),(17731,6),(17736,6),(17741,6),(17755,6),(17756,6),(17759,6),(17769,6),(17772,6),(17774,6),(17778,6),(17784,6),(17786,6),(17793,6),(17796,6),(17802,6),(17809,6),(17814,6),(17825,6),(17833,6),(17835,6),(17838,6),(17841,6),(17844,6),(17847,6),(17852,6),(17864,6),(17869,6),(17880,6),(17882,6),(17896,6),(17897,6),(17900,6),(17901,6),(17902,6),(17912,6),(17916,6),(17937,6),(17943,6),(17948,6),(17949,6),(17952,6),(17955,6),(17956,6),(17958,6),(17963,6),(17984,6),(17987,6),(17990,6),(17994,6),(18004,6),(18006,6),(18021,6),(18033,6),(18052,6),(18054,6),(18071,6),(18076,6),(18080,6),(18084,6),(18087,6),(18089,6),(18092,6),(18100,6),(18111,6),(18115,6),(18118,6),(18127,6),(18133,6),(18142,6),(18143,6),(18147,6),(18159,6),(18162,6),(18165,6),(18176,6),(18177,6),(18180,6),(18182,6),(18184,6),(18188,6),(18202,6),(18220,6),(18221,6),(18222,6),(18224,6),(18238,6),(18241,6),(18256,6),(18259,6),(18266,6),(18276,6),(18287,6),(18291,6),(18295,6),(18306,6),(18307,6),(18315,6),(18316,6),(18322,6),(18331,6),(18333,6),(18334,6),(18337,6),(18341,6),(18342,6),(18347,6),(18357,6),(18359,6),(18363,6),(18364,6),(18372,6),(18376,6),(18379,6),(18390,6),(18394,6),(18398,6),(18401,6),(18411,6),(18415,6),(18418,6),(18424,6),(18436,6),(18439,6),(18440,6),(18441,6),(18447,6),(18449,6),(18452,6),(18453,6),(18456,6),(18463,6),(18465,6),(18482,6),(18483,6),(18484,6),(18485,6),(18486,6),(18490,6),(18492,6),(18499,6),(18500,6),(18502,6),(18514,6),(18521,6),(18536,6),(18546,6),(18549,6),(18563,6),(18566,6),(18569,6),(18575,6),(18579,6),(18590,6),(18596,6),(18601,6),(18602,6),(18605,6),(18614,6),(18618,6),(18635,6),(18642,6),(18645,6),(18647,6),(18658,6),(18663,6),(18677,6),(18681,6),(18688,6),(18689,6),(18694,6),(18713,6),(18720,6),(18723,6),(18725,6),(18735,6),(18751,6),(18754,6),(18765,6),(18772,6),(18777,6),(18782,6),(18783,6),(18784,6),(18785,6),(18790,6),(18797,6),(18800,6),(18805,6),(18813,6),(18816,6),(18822,6),(18831,6),(18835,6),(18837,6),(18838,6),(18843,6),(18855,6),(18856,6),(18861,6),(18872,6),(18876,6),(18877,6),(18879,6),(18889,6),(18891,6),(18893,6),(18894,6),(18905,6),(18906,6),(18911,6),(18919,6),(18929,6),(18940,6),(18941,6),(18942,6),(18947,6),(18963,6),(18966,6),(18971,6),(18974,6),(18981,6),(18983,6),(18994,6),(18995,6),(18996,6),(18998,6),(19001,6),(19007,6),(19008,6),(19014,6),(19015,6),(19016,6),(19017,6),(19018,6),(19020,6),(19026,6),(19032,6),(19044,6),(19049,6),(19052,6),(19054,6),(19080,6),(19081,6),(19083,6),(19085,6),(19089,6),(19091,6),(19094,6),(19097,6),(19101,6),(19106,6),(19109,6),(19112,6),(19119,6),(19128,6),(19145,6),(19156,6),(19160,6),(19164,6),(19166,6),(19168,6),(19177,6),(19184,6),(19185,6),(19190,6),(19196,6),(19197,6),(19199,6),(19216,6),(19218,6),(19221,6),(19235,6),(19236,6),(19237,6),(19245,6),(19247,6),(19253,6),(19254,6),(19257,6),(19263,6),(19264,6),(19279,6),(19282,6),(19285,6),(19293,6),(19326,6),(19333,6),(19335,6),(19344,6),(19345,6),(19353,6),(19360,6),(19369,6),(19373,6),(19374,6),(19395,6),(19398,6),(19402,6),(19408,6),(19412,6),(19413,6),(19436,6),(19439,6),(19441,6),(19442,6),(19450,6),(19452,6),(19472,6),(19473,6),(19492,6),(19499,6),(19500,6),(19516,6),(19518,6),(19525,6),(19539,6),(19542,6),(19546,6),(19550,6),(19558,6),(19562,6),(19563,6),(19588,6),(19590,6),(19597,6),(19600,6),(19610,6),(19616,6),(19625,6),(19629,6),(19638,6),(19643,6),(19645,6),(19651,6),(19666,6),(19667,6),(19673,6),(19680,6),(19684,6),(19687,6),(19688,6),(19689,6),(19692,6),(19701,6),(19703,6),(19705,6),(19708,6),(19712,6),(19718,6),(19728,6),(19742,6),(19755,6),(19758,6),(19761,6),(19768,6),(19775,6),(19779,6),(19781,6),(19787,6),(19802,6),(19810,6),(19811,6),(19815,6),(19816,6),(19819,6),(19823,6),(19828,6),(19837,6),(19844,6),(19846,6),(19864,6),(19869,6),(19894,6),(19903,6),(19910,6),(19918,6),(19920,6),(19924,6),(19927,6),(19935,6),(19943,6),(19957,6),(19972,6),(19977,6),(19979,6),(19980,6),(19984,6),(19997,6),(20000,6),(20022,6),(20024,6),(20025,6),(20027,6),(20031,6),(20038,6),(20039,6),(20046,6),(20050,6),(20064,6),(20066,6),(20067,6),(20072,6),(20084,6),(20085,6),(20086,6),(20095,6),(20096,6),(20097,6),(20100,6),(20114,6),(20115,6),(20116,6),(20118,6),(20131,6),(20132,6),(20138,6),(20139,6),(20140,6),(20141,6),(20145,6),(20146,6),(20147,6),(20149,6),(20154,6),(20156,6),(20158,6),(20179,6),(20182,6),(20189,6),(20196,6),(20200,6),(20201,6),(20203,6),(20211,6),(20214,6),(20215,6),(20223,6),(20225,6),(20233,6),(20254,6),(20256,6),(20261,6),(20264,6),(20268,6),(20269,6),(20272,6),(20281,6),(20284,6),(20285,6),(20286,6),(20289,6),(20290,6),(20294,6),(20296,6),(20309,6),(20317,6),(20318,6),(20325,6),(20326,6),(20328,6),(20332,6),(20367,6),(20376,6),(20381,6),(20394,6),(20437,6),(20441,6),(20444,6),(20445,6),(20458,6),(20464,6),(20467,6),(20468,6),(20473,6),(20475,6),(20477,6),(20483,6),(20506,6),(20516,6),(20517,6),(20524,6),(20531,6),(20533,6),(20543,6),(20545,6),(20548,6),(20550,6),(20552,6),(20560,6),(20566,6),(20568,6),(20581,6),(20593,6),(20597,6),(20601,6),(20605,6),(20608,6),(20622,6),(20623,6),(20629,6),(20633,6),(20638,6),(20640,6),(20646,6),(20648,6),(20657,6),(20663,6),(20688,6),(20694,6),(20702,6),(20703,6),(20711,6),(20721,6),(20729,6),(20735,6),(20739,6),(20741,6),(20748,6),(20769,6),(20778,6),(20788,6),(20792,6),(20799,6),(20802,6),(20805,6),(20809,6),(20810,6),(20817,6),(20823,6),(20825,6),(20834,6),(20836,6),(20843,6),(20852,6),(20870,6),(20871,6),(20884,6),(20886,6),(20889,6),(20890,6),(20892,6),(20897,6),(20898,6),(20900,6),(20903,6),(20905,6),(20907,6),(20912,6),(20916,6),(20921,6),(20922,6),(20925,6),(20928,6),(20938,6),(20948,6),(20951,6),(20956,6),(20958,6),(20965,6),(20972,6),(20973,6),(20979,6),(20984,6),(20994,6),(20997,6),(20999,6),(21002,6),(21004,6),(21010,6),(21024,6),(21028,6),(21038,6),(21045,6),(21046,6),(21052,6),(21059,6),(21061,6),(21063,6),(21067,6),(21068,6),(21072,6),(21073,6),(21080,6),(21081,6),(21090,6),(21097,6),(21104,6),(21107,6),(21110,6),(21121,6),(21123,6),(21138,6),(21150,6),(21151,6),(21160,6),(21172,6),(21185,6),(21190,6),(21192,6),(21197,6),(21198,6),(21202,6),(21224,6),(21232,6),(21233,6),(21241,6),(21248,6),(21251,6),(21253,6),(21262,6),(21269,6),(21274,6),(21276,6),(21285,6),(21300,6),(21319,6),(21321,6),(21323,6),(21324,6),(21327,6),(21329,6),(21330,6),(21349,6),(21357,6),(21368,6),(21374,6),(21375,6),(21385,6),(21386,6),(21387,6),(21389,6),(21391,6),(21416,6),(21421,6),(21439,6),(21440,6),(21442,6),(21447,6),(21453,6),(21457,6),(21465,6),(21477,6),(21480,6),(21485,6),(21490,6),(21515,6),(21521,6),(21530,6),(21553,6),(21559,6),(21560,6),(21569,6),(21575,6),(21581,6),(21597,6),(21605,6),(21607,6),(21618,6),(21619,6),(21624,6),(21629,6),(21636,6),(21642,6),(21648,6),(21656,6),(21665,6),(21678,6),(21683,6),(21688,6),(21690,6),(21692,6),(21694,6),(21701,6),(21707,6),(21709,6),(21721,6),(21732,6),(21737,6),(21744,6),(21750,6),(21753,6),(21755,6),(21763,6),(21773,6),(21781,6),(21787,6),(21792,6),(21794,6),(21796,6),(21814,6),(21820,6),(21822,6),(21832,6),(21834,6),(21839,6),(21844,6),(21855,6),(21859,6),(21867,6),(21882,6),(21886,6),(21887,6),(21888,6),(21889,6),(21890,6),(21896,6),(21904,6),(21912,6),(21919,6),(21922,6),(21940,6),(21941,6),(21943,6),(21949,6),(21952,6),(21957,6),(21961,6),(21962,6),(21963,6),(21964,6),(21970,6),(21971,6),(21972,6),(21976,6),(21978,6),(21987,6),(21997,6),(22012,6),(22015,6),(22021,6),(22031,6),(22032,6),(22038,6),(22039,6),(22040,6),(22045,6),(22059,6),(22062,6),(22063,6),(22065,6),(22067,6),(22080,6),(22085,6),(22087,6),(22094,6),(22097,6),(22100,6),(22107,6),(22111,6),(22127,6),(22129,6),(22145,6),(22150,6),(22156,6),(22157,6),(22158,6),(22159,6),(22163,6),(22167,6),(22184,6),(22187,6),(22192,6),(22223,6),(22224,6),(22236,6),(22237,6),(22239,6),(22248,6),(22251,6),(22281,6),(22290,6),(22293,6),(22300,6),(22305,6),(22310,6),(22312,6),(22325,6),(22329,6),(22333,6),(22342,6),(22345,6),(22349,6),(22352,6),(22370,6),(22373,6),(22378,6),(22380,6),(22382,6),(22394,6),(22397,6),(22399,6),(22413,6),(22415,6),(22419,6),(22426,6),(22445,6),(22451,6),(22452,6),(22455,6),(22456,6),(22464,6),(22466,6),(22468,6),(22472,6),(22474,6),(22495,6),(22498,6),(22499,6),(22501,6),(22503,6),(22504,6),(22508,6),(22513,6),(22518,6),(22525,6),(22531,6),(22540,6),(22543,6),(22551,6),(22552,6),(22554,6),(22560,6),(22563,6),(22570,6),(22579,6),(22584,6),(22589,6),(22608,6),(22611,6),(22615,6),(22626,6),(22634,6),(22639,6),(22644,6),(22646,6),(22652,6),(22653,6),(22657,6),(22678,6),(22679,6),(22680,6),(22683,6),(22689,6),(22691,6),(22693,6),(22702,6),(22705,6),(22722,6),(22726,6),(22733,6),(22741,6),(22744,6),(22749,6),(22752,6),(22755,6),(22757,6),(22759,6),(22760,6),(22763,6),(22769,6),(22771,6),(22773,6),(22782,6),(22786,6),(22787,6),(22788,6),(22791,6),(22795,6),(22801,6),(22802,6),(22803,6),(22816,6),(22821,6),(22833,6),(22837,6),(22845,6),(22846,6),(22852,6),(22871,6),(22878,6),(22888,6),(22895,6),(22901,6),(22910,6),(22912,6),(22915,6),(22924,6),(22925,6),(22932,6),(22941,6),(22948,6),(22952,6),(22976,6),(22978,6),(22983,6),(22992,6),(23006,6),(23008,6),(23011,6),(23016,6),(23024,6),(23030,6),(23035,6),(23037,6),(23040,6),(23044,6),(23048,6),(23052,6),(23054,6),(23056,6),(23070,6),(23088,6),(23095,6),(23101,6),(23105,6),(23110,6),(23112,6),(23113,6),(23116,6),(23120,6),(23127,6),(23140,6),(23144,6),(23146,6),(23151,6),(23157,6),(23158,6),(23170,6),(23192,6),(23193,6),(23195,6),(23199,6),(23204,6),(23215,6),(23219,6),(23220,6),(23227,6),(23237,6),(23244,6),(23246,6),(23248,6),(23265,6),(23284,6),(23286,6),(23300,6),(23302,6),(23307,6),(23324,6),(23326,6),(23333,6),(23341,6),(23342,6),(23347,6),(23370,6),(23376,6),(23377,6),(23383,6),(23396,6),(23399,6),(23402,6),(23409,6),(23416,6),(23420,6),(23433,6),(23442,6),(23445,6),(23447,6),(23460,6),(23468,6),(23469,6),(23472,6),(23478,6),(23479,6),(23485,6),(23489,6),(23500,6),(23501,6),(23506,6),(23508,6),(23518,6),(23531,6),(23535,6),(23547,6),(23552,6),(23554,6),(23560,6),(23563,6),(23574,6),(23577,6),(23579,6),(23593,6),(23596,6),(23597,6),(23622,6),(23624,6),(23633,6),(23640,6),(23642,6),(23657,6),(23668,6),(23671,6),(23675,6),(23681,6),(23684,6),(23694,6),(23709,6),(23710,6),(23712,6),(23713,6),(23722,6),(23733,6),(23735,6),(23739,6),(23741,6),(23755,6),(23756,6),(23761,6),(23768,6),(23781,6),(23783,6),(23794,6),(23800,6),(23801,6),(23805,6),(23813,6),(23814,6),(23815,6),(23831,6),(23836,6),(23837,6),(23841,6),(23853,6),(23858,6),(23873,6),(23877,6),(23879,6),(23881,6),(23884,6),(23894,6),(23895,6),(23906,6),(23910,6),(23927,6),(23939,6),(23947,6),(23949,6),(23953,6),(23957,6),(23973,6),(23977,6),(23981,6),(23987,6),(23991,6),(23992,6),(23995,6),(24011,6),(24015,6),(24028,6),(24030,6),(24035,6),(24037,6),(24041,6),(24053,6),(24056,6),(24062,6),(24063,6),(24069,6),(24072,6),(24086,6),(24099,6),(24112,6),(24115,6),(24120,6),(24133,6),(24135,6),(24147,6),(24149,6),(24150,6),(24157,6),(24164,6),(24166,6),(24179,6),(24186,6),(24195,6),(24210,6),(24215,6),(24222,6),(24229,6),(24230,6),(24233,6),(24248,6),(24258,6),(24264,6),(24275,6),(24280,6),(24281,6),(24283,6),(24288,6),(24289,6),(24291,6),(24306,6),(24313,6),(24324,6),(24338,6),(24342,6),(24348,6),(24353,6),(24363,6),(24368,6),(24378,6),(24391,6),(24401,6),(24404,6),(24432,6),(24446,6),(24451,6),(24452,6),(24455,6),(24460,6),(24461,6),(24462,6),(24482,6),(24498,6),(24503,6),(24506,6),(24519,6),(24524,6),(24545,6),(24553,6),(24562,6),(24569,6),(24586,6),(24597,6),(24606,6),(24611,6),(24613,6),(24623,6),(24627,6),(24633,6),(24638,6),(24640,6),(24643,6),(24649,6),(24657,6),(24664,6),(24668,6),(24672,6),(24679,6),(24681,6),(24686,6),(24688,6),(24693,6),(24704,6),(24708,6),(24709,6),(24711,6),(24714,6),(24724,6),(24726,6),(24731,6),(24743,6),(24745,6),(24746,6),(24749,6),(24750,6),(24769,6),(24772,6),(24776,6),(24781,6),(24782,6),(24789,6),(24798,6),(24805,6),(24808,6),(24810,6),(24814,6),(24815,6),(24817,6),(24822,6),(24825,6),(24826,6),(24830,6),(24832,6),(24833,6),(24837,6),(24840,6),(24846,6),(24854,6),(24857,6),(24858,6),(24861,6),(24862,6),(24868,6),(24869,6),(24870,6),(24873,6),(24881,6),(24895,6),(24904,6),(24906,6),(24911,6),(24914,6),(24916,6),(24917,6),(24919,6),(24924,6),(24926,6),(24945,6),(24953,6),(24959,6),(24964,6),(24971,6),(24974,6),(24975,6),(24989,6),(24994,6),(24997,6),(25010,6),(25031,6),(25033,6),(25037,6),(25041,6),(25049,6),(25058,6),(25064,6),(25066,6),(25074,6),(25082,6),(25085,6),(25089,6),(25100,6),(25101,6),(25106,6),(25107,6),(25108,6),(25114,6),(25126,6),(25127,6),(25131,6),(25136,6),(25141,6),(25154,6),(25162,6),(25174,6),(25179,6),(25182,6),(25188,6),(25207,6),(25213,6),(25214,6),(25218,6),(25223,6),(25224,6),(25228,6),(25236,6),(25243,6),(25244,6),(25249,6),(25251,6),(25253,6),(25262,6),(25267,6),(25268,6),(25273,6),(25274,6),(25275,6),(25280,6),(25284,6),(25288,6),(25293,6),(25301,6),(25302,6),(25319,6),(25320,6),(25329,6),(25338,6),(25341,6),(25343,6),(25344,6),(25346,6),(25359,6),(25364,6),(25378,6),(25380,6),(25388,6),(25394,6),(25410,6),(25413,6),(25416,6),(25420,6),(25422,6),(25426,6),(25427,6),(25430,6),(25437,6),(25441,6),(25450,6),(25451,6),(25454,6),(25463,6),(25464,6),(25472,6),(25476,6),(25479,6),(25482,6),(25489,6),(25497,6),(25505,6),(25527,6),(25530,6),(25533,6),(25534,6),(25535,6),(25546,6),(25547,6),(25556,6),(25558,6),(25566,6),(25572,6),(25578,6),(25589,6),(25593,6),(25595,6),(25614,6),(25619,6),(25621,6),(25630,6),(25633,6),(25637,6),(25640,6),(25650,6),(25659,6),(25671,6),(25675,6),(25680,6),(25681,6),(25699,6),(25701,6),(25703,6),(25704,6),(25706,6),(25708,6),(25717,6),(25728,6),(25743,6),(25748,6),(25769,6),(25778,6),(25780,6),(25781,6),(25784,6),(25785,6),(25789,6),(25792,6),(25793,6),(25795,6),(25796,6),(25797,6),(25799,6),(25802,6),(25805,6),(25812,6),(25815,6),(25816,6),(25819,6),(25823,6),(25827,6),(25830,6),(25837,6),(25838,6),(25843,6),(25844,6),(25849,6),(25856,6),(25857,6),(25870,6),(25875,6),(25882,6),(25889,6),(25892,6),(25900,6),(25903,6),(25904,6),(25908,6),(25912,6),(25917,6),(25919,6),(25921,6),(25924,6),(25926,6),(25929,6),(25934,6),(25940,6),(25943,6),(25960,6),(25967,6),(25968,6),(25970,6),(25979,6),(25980,6),(25981,6),(25982,6),(25989,6),(25994,6),(26005,6),(26007,6),(26009,6),(26023,6),(26028,6),(26030,6),(26038,6),(26048,6),(26055,6),(26067,6),(26103,6),(26114,6),(26124,6),(26131,6),(26135,6),(26139,6),(26145,6),(26154,6),(26175,6),(26176,6),(26181,6),(26184,6),(26186,6),(26193,6),(26197,6),(26205,6),(26210,6),(26215,6),(26218,6),(26222,6),(26235,6),(26237,6),(26271,6),(26286,6),(26295,6),(26296,6),(26307,6),(26316,6),(26319,6),(26323,6),(26332,6),(26333,6),(26334,6),(26341,6),(26346,6),(26350,6),(26359,6),(26365,6),(26367,6),(26376,6),(26385,6),(26388,6),(26410,6),(26415,6),(26423,6),(26424,6),(26427,6),(26433,6),(26435,6),(26438,6),(26442,6),(26460,6),(26475,6),(26482,6),(26483,6),(26485,6),(26488,6),(26501,6),(26507,6),(26509,6),(26517,6),(26525,6),(26527,6),(26536,6),(26537,6),(26542,6),(26547,6),(26550,6),(26551,6),(26553,6),(26560,6),(26563,6),(26572,6),(26575,6),(26579,6),(26602,6),(26609,6),(26610,6),(26611,6),(26622,6),(26623,6),(26624,6),(26626,6),(26634,6),(26638,6),(26641,6),(26646,6),(26655,6),(26661,6),(26664,6),(26672,6),(26673,6),(26681,6),(26685,6),(26692,6),(26703,6),(26711,6),(26712,6),(26714,6),(26717,6),(26723,6),(26724,6),(26736,6),(26752,6),(26754,6),(26757,6),(26765,6),(26769,6),(26780,6),(26784,6),(26787,6),(26792,6),(26796,6),(26798,6),(26802,6),(26815,6),(26823,6),(26825,6),(26826,6),(26831,6),(26832,6),(26837,6),(26838,6),(26844,6),(26847,6),(26850,6),(26851,6),(26855,6),(26870,6),(26871,6),(26878,6),(26879,6),(26884,6),(26893,6),(26901,6),(26904,6),(26911,6),(26927,6),(26929,6),(26933,6),(26936,6),(26939,6),(26953,6),(26961,6),(26967,6),(26968,6),(26976,6),(26992,6),(26993,6),(27006,6),(27011,6),(27012,6),(27017,6),(27018,6),(27023,6),(27024,6),(27029,6),(27031,6),(27032,6),(27036,6),(27039,6),(27044,6),(27055,6),(27067,6),(27069,6),(27080,6),(27083,6),(27085,6),(27086,6),(27087,6),(27100,6),(27102,6),(27103,6),(27107,6),(27117,6),(27118,6),(27120,6),(27121,6),(27122,6),(27125,6),(27130,6),(27137,6),(27138,6),(27140,6),(27142,6),(27146,6),(27148,6),(27155,6),(27162,6),(27166,6),(27170,6),(27184,6),(27185,6),(27188,6),(27195,6),(27199,6),(27201,6),(27203,6),(27204,6),(27205,6),(27210,6),(27216,6),(27217,6),(27218,6),(27226,6),(27229,6),(27230,6),(27237,6),(27241,6),(27267,6),(27278,6),(27295,6),(27298,6),(27300,6),(27303,6),(27306,6),(27312,6),(27317,6),(27324,6),(27327,6),(27330,6),(27344,6),(27349,6),(27354,6),(27359,6),(27362,6),(27366,6),(27375,6),(27382,6),(27391,6),(27396,6),(27402,6),(27404,6),(27405,6),(27407,6),(27412,6),(27414,6),(27417,6),(27429,6),(27434,6),(27457,6),(27459,6),(27461,6),(27466,6),(27469,6),(27472,6),(27477,6),(27478,6),(27490,6),(27495,6),(27500,6),(27502,6),(27507,6),(27508,6),(27516,6),(27522,6),(27526,6),(27527,6),(27542,6),(27546,6),(27559,6),(27561,6),(27571,6),(27573,6),(27577,6),(27579,6),(27585,6),(27588,6),(27596,6),(27612,6),(27620,6),(27624,6),(27632,6),(27633,6),(27636,6),(27638,6),(27650,6),(27662,6),(27665,6),(27666,6),(27675,6),(27677,6),(27684,6),(27697,6),(27698,6),(27701,6),(27705,6),(27710,6),(27720,6),(27722,6),(27724,6),(27734,6),(27736,6),(27747,6),(27749,6),(27755,6),(27760,6),(27763,6),(27774,6),(27783,6),(27784,6),(27790,6),(27793,6),(27803,6),(27804,6),(27810,6),(27830,6),(27836,6),(27842,6),(27843,6),(27855,6),(27861,6),(27866,6),(27868,6),(27869,6),(27883,6),(27892,6),(27896,6),(27898,6),(27919,6),(27920,6),(27924,6),(27933,6),(27944,6),(27955,6),(27957,6),(27966,6),(27974,6),(27978,6),(27981,6),(27992,6),(28008,6),(28013,6),(28015,6),(28017,6),(28024,6),(28040,6),(28050,6),(28052,6),(28056,6),(28057,6),(28071,6),(28072,6),(28076,6),(28087,6),(28094,6),(28096,6),(28105,6),(28119,6),(28123,6),(28125,6),(28126,6),(28130,6),(28138,6),(28144,6),(28153,6),(28156,6),(28166,6),(28183,6),(28186,6),(28209,6),(28220,6),(28228,6),(28233,6),(28234,6),(28245,6),(28248,6),(28265,6),(28275,6),(28276,6),(28277,6),(28291,6),(28301,6),(28310,6),(28316,6),(28328,6),(28332,6),(28333,6),(28345,6),(28347,6),(28350,6),(28362,6),(28367,6),(28370,6),(28373,6),(28378,6),(28396,6),(28400,6),(28401,6),(28404,6),(28409,6),(28410,6),(28413,6),(28421,6),(28429,6),(28435,6),(28436,6),(28439,6),(28440,6),(28448,6),(28449,6),(28457,6),(28479,6),(28489,6),(28511,6),(28534,6),(28540,6),(28557,6),(28559,6),(28566,6),(28576,6),(28584,6),(28585,6),(28587,6),(28590,6),(28595,6),(28596,6),(28597,6),(28607,6),(28610,6),(28620,6),(28627,6),(28628,6),(28629,6),(28643,6),(28649,6),(28653,6),(28665,6),(28672,6),(28674,6),(28676,6),(28679,6),(28693,6),(28712,6),(28719,6),(28722,6),(28744,6),(28746,6),(28749,6),(28752,6),(28753,6),(28758,6),(28762,6),(28777,6),(28799,6),(28800,6),(28801,6),(28805,6),(28809,6),(28817,6),(28818,6),(28828,6),(28831,6),(28834,6),(28836,6),(28839,6),(28841,6),(28843,6),(28854,6),(28856,6),(28864,6),(28866,6),(28878,6),(28884,6),(28886,6),(28891,6),(28897,6),(28898,6),(28902,6),(28910,6),(28915,6),(28919,6),(28924,6),(28933,6),(28939,6),(28942,6),(28949,6),(28957,6),(28959,6),(28961,6),(28976,6),(28978,6),(28984,6),(28993,6),(28998,6),(29004,6),(29006,6),(29021,6),(29022,6),(29031,6),(29043,6),(29045,6),(29048,6),(29049,6),(29050,6),(29058,6),(29066,6),(29074,6),(29075,6),(29077,6),(29078,6),(29108,6),(29109,6),(29112,6),(29122,6),(29124,6),(29132,6),(29134,6),(29139,6),(29140,6),(29144,6),(29154,6),(29160,6),(29166,6),(29171,6),(29173,6),(29179,6),(29180,6),(29184,6),(29190,6),(29202,6),(29203,6),(29210,6),(29212,6),(29215,6),(29217,6),(29234,6),(29241,6),(29243,6),(29251,6),(29256,6),(29259,6),(29260,6),(29265,6),(29275,6),(29279,6),(29288,6),(29295,6),(29296,6),(29303,6),(29306,6),(29308,6),(29311,6),(29322,6),(29332,6),(29339,6),(29345,6),(29352,6),(29354,6),(29360,6),(29362,6),(29366,6),(29367,6),(29373,6),(29374,6),(29377,6),(29386,6),(29387,6),(29395,6),(29397,6),(29412,6),(29424,6),(29427,6),(29430,6),(29449,6),(29450,6),(29453,6),(29455,6),(29458,6),(29459,6),(29465,6),(29468,6),(29471,6),(29477,6),(29486,6),(29490,6),(29497,6),(29511,6),(29520,6),(29521,6),(29524,6),(29531,6),(29532,6),(29551,6),(29559,6),(29565,6),(29567,6),(29586,6),(29590,6),(29591,6),(29613,6),(29620,6),(29624,6),(29632,6),(29636,6),(29640,6),(29645,6),(29667,6),(29673,6),(29674,6),(29685,6),(29696,6),(29700,6),(29701,6),(29707,6),(29714,6),(29719,6),(29729,6),(29731,6),(29733,6),(29743,6),(29745,6),(29746,6),(29747,6),(29755,6),(29762,6),(29773,6),(29774,6),(29778,6),(29779,6),(29797,6),(29800,6),(29807,6),(29809,6),(29813,6),(29816,6),(29821,6),(29831,6),(29832,6),(29833,6),(29836,6),(29840,6),(29845,6),(29846,6),(29851,6),(29857,6),(29858,6),(29860,6),(29865,6),(29866,6),(29874,6),(29893,6),(29894,6),(29895,6),(29899,6),(29903,6),(29907,6),(29909,6),(29916,6),(29922,6),(29929,6),(29933,6),(29936,6),(29942,6),(29943,6),(29946,6),(29951,6),(29964,6),(29966,6),(29972,6),(29980,6),(29981,6),(29985,6),(29989,6),(29993,6),(29994,6),(29995,6),(29996,6),(30005,6),(30008,6),(30015,6),(30017,6),(30018,6),(30020,6),(30025,6),(30027,6),(30030,6),(30031,6),(30032,6),(30056,6),(30059,6),(30073,6),(30081,6),(30089,6),(30095,6),(30096,6),(30099,6),(30103,6),(30104,6),(30107,6),(30110,6),(30118,6),(30125,6),(30130,6),(30140,6),(30166,6),(30177,6),(30184,6),(30193,6),(30195,6),(30202,6),(30210,6),(30213,6),(30222,6),(30224,6),(30226,6),(30235,6),(30239,6),(30244,6),(30251,6),(30258,6),(30265,6),(30273,6),(30287,6),(30289,6),(30297,6),(30302,6),(30310,6),(30320,6),(30332,6),(30334,6),(30345,6),(30346,6),(30352,6),(30353,6),(30363,6),(30365,6),(30369,6),(30386,6),(30399,6),(30400,6),(30406,6),(30416,6),(30423,6),(30430,6),(30439,6),(30452,6),(30455,6),(30458,6),(30465,6),(30479,6),(30491,6),(30493,6),(30494,6),(30496,6),(30497,6),(30498,6),(30499,6),(30507,6),(30509,6),(30511,6),(30515,6),(30532,6),(30548,6),(30553,6),(30555,6),(30561,6),(30578,6),(30579,6),(30580,6),(30584,6),(30604,6),(30628,6),(30633,6),(30642,6),(30647,6),(30653,6),(30661,6),(30663,6),(30665,6),(30670,6),(30673,6),(30684,6),(30685,6),(30696,6),(30698,6),(30730,6),(30733,6),(30741,6),(30745,6),(30754,6),(30760,6),(30764,6),(30766,6),(30768,6),(30772,6),(30778,6),(30783,6),(30785,6),(30809,6),(30810,6),(30818,6),(30820,6),(30824,6),(30828,6),(30832,6),(30844,6),(30853,6),(30860,6),(30863,6),(30864,6),(30865,6),(30866,6),(30876,6),(30882,6),(30888,6),(30899,6),(30917,6),(30919,6),(30920,6),(30929,6),(30940,6),(30943,6),(30948,6),(30953,6),(30963,6),(30974,6),(30984,6),(30986,6),(30994,6),(30998,6),(30999,6),(31001,6),(31004,6),(31010,6),(31011,6),(31016,6),(31021,6),(31024,6),(31030,6),(31031,6),(31033,6),(31035,6),(31039,6),(31043,6),(31053,6),(31057,6),(31060,6),(31063,6),(31076,6),(31082,6),(31098,6),(31099,6),(31105,6),(31109,6),(31113,6),(31117,6),(31119,6),(31121,6),(31126,6),(31139,6),(31144,6),(31148,6),(31166,6),(31176,6),(31178,6),(31194,6),(31196,6),(31199,6),(31202,6),(31221,6),(31229,6),(31237,6),(31241,6),(31253,6),(31256,6),(31261,6),(31262,6),(31263,6),(31264,6),(31270,6),(31271,6),(31278,6),(31281,6),(31286,6),(31287,6),(31288,6),(31293,6),(31295,6),(31298,6),(31313,6),(31315,6),(31322,6),(31323,6),(31324,6),(31330,6),(31335,6),(31338,6),(31339,6),(31342,6),(31354,6),(31362,6),(31363,6),(31368,6),(31373,6),(31376,6),(31381,6),(31390,6),(31391,6),(31398,6),(31405,6),(31407,6),(31408,6),(31410,6),(31420,6),(31421,6),(31423,6),(31428,6),(31434,6),(31442,6),(31444,6),(31454,6),(31457,6),(31461,6),(31466,6),(31469,6),(31485,6),(31488,6),(31494,6),(31499,6),(31503,6),(31509,6),(31513,6),(31518,6),(31527,6),(31529,6),(31532,6),(31539,6),(31541,6),(31542,6),(31543,6),(31546,6),(31547,6),(31558,6),(31561,6),(31588,6),(31589,6),(31598,6),(31613,6),(31614,6),(31615,6),(31622,6),(31649,6),(31650,6),(31661,6),(31674,6),(31691,6),(31696,6),(31703,6),(31706,6),(31707,6),(31727,6),(31728,6),(31738,6),(31741,6),(31750,6),(31751,6),(31757,6),(31759,6),(31768,6),(31785,6),(31789,6),(31797,6),(31801,6),(31807,6),(31811,6),(31814,6),(31824,6),(31830,6),(31831,6),(31839,6),(31844,6),(31846,6),(31848,6),(31864,6),(31868,6),(31873,6),(31879,6),(31885,6),(31893,6),(31895,6),(31903,6),(31921,6),(31928,6),(31940,6),(31949,6),(31957,6),(31963,6),(31965,6),(31970,6),(31974,6),(31975,6),(31977,6),(31978,6),(31984,6),(31988,6),(31991,6),(32001,6),(32007,6),(32009,6),(32014,6),(32033,6),(32036,6),(32040,6),(32048,6),(32050,6),(32051,6),(32053,6),(32055,6),(32080,6),(32086,6),(32087,6),(32088,6),(32089,6),(32092,6),(32098,6),(32100,6),(32114,6),(32128,6),(32139,6),(32144,6),(32145,6),(32146,6),(32160,6),(32175,6),(32180,6),(32185,6),(32189,6),(32193,6),(32194,6),(32207,6),(32208,6),(32213,6),(32218,6),(32228,6),(32230,6),(32232,6),(32251,6),(32261,6),(32268,6),(32271,6),(32282,6),(32293,6),(32302,6),(32312,6),(32332,6),(32335,6),(32337,6),(32342,6),(32350,6),(32357,6),(32360,6),(32363,6),(32380,6),(32381,6),(32384,6),(32385,6),(32389,6),(32395,6),(32401,6),(32431,6),(32436,6),(32438,6),(32443,6),(32444,6),(32447,6),(32451,6),(32454,6),(32470,6),(32473,6),(32480,6),(32482,6),(32484,6),(32486,6),(32487,6),(32492,6),(32494,6),(32495,6),(32496,6),(32500,6),(32503,6),(32526,6),(32530,6),(32534,6),(32548,6),(32549,6),(32553,6),(32556,6),(32558,6),(32559,6),(32567,6),(32577,6),(32582,6),(32591,6),(32595,6),(32596,6),(32597,6),(32607,6),(32611,6),(32614,6),(32616,6),(32618,6),(32622,6),(32631,6),(32637,6),(32640,6),(32642,6),(32650,6),(32652,6),(32658,6),(32664,6),(32677,6),(32681,6),(32689,6),(32693,6),(32704,6),(32707,6),(32711,6),(32714,6),(32717,6),(32719,6),(32732,6),(32735,6),(32737,6),(32759,6),(32760,6),(32761,6),(32766,6),(32768,6),(32769,6),(32771,6),(32778,6),(32785,6),(32791,6),(32794,6),(32798,6),(32816,6),(32819,6),(32822,6),(32824,6),(32828,6),(32834,6),(32835,6),(32837,6),(32841,6),(32846,6),(32852,6),(32857,6),(32858,6),(32861,6),(32890,6),(32899,6),(32907,6),(32921,6),(32922,6),(32927,6),(32929,6),(32936,6),(32937,6),(32943,6),(32948,6),(32949,6),(32953,6),(32956,6),(32960,6),(32964,6),(32967,6),(32980,6),(32982,6),(32985,6),(32987,6),(32996,6),(33001,6),(33004,6),(33007,6),(33013,6),(33016,6),(33018,6),(33022,6),(33025,6),(33027,6),(33033,6),(33038,6),(33039,6),(33043,6),(33046,6),(33052,6),(33055,6),(33060,6),(33068,6),(33074,6),(33078,6),(33081,6),(33090,6),(33094,6),(33115,6),(33122,6),(33126,6),(33128,6),(33138,6),(33142,6),(33150,6),(33152,6),(33153,6),(33160,6),(33169,6),(33172,6),(33175,6),(33176,6),(33185,6),(33188,6),(33191,6),(33193,6),(33208,6),(33210,6),(33213,6),(33214,6),(33230,6),(33234,6),(33239,6),(33240,6),(33270,6),(33286,6),(33293,6),(33300,6),(33316,6),(33332,6),(33333,6),(33334,6),(33336,6),(33337,6),(33351,6),(33353,6),(33357,6),(33365,6),(33387,6),(33391,6),(33402,6),(33408,6),(33411,6),(33416,6),(33421,6),(33422,6),(33441,6),(33447,6),(33451,6),(33456,6),(33464,6),(33480,6),(33481,6),(33482,6),(33489,6),(33490,6),(33493,6),(33494,6),(33499,6),(33519,6),(33525,6),(33530,6),(33531,6),(33536,6),(33546,6),(33551,6),(33556,6),(33558,6),(33559,6),(33564,6),(33579,6),(33582,6),(33592,6),(33593,6),(33599,6),(33609,6),(33611,6),(33630,6),(33631,6),(33638,6),(33648,6),(33649,6),(33662,6),(33664,6),(33679,6),(33681,6),(33684,6),(33703,6),(33714,6),(33731,6),(33744,6),(33749,6),(33765,6),(33771,6),(33773,6),(33776,6),(33780,6),(33798,6),(33800,6),(33812,6),(33815,6),(33818,6),(33829,6),(33836,6),(33839,6),(33852,6),(33853,6),(33854,6),(33855,6),(33864,6),(33890,6),(33894,6),(33896,6),(33901,6),(33909,6),(33916,6),(33926,6),(33927,6),(33931,6),(33932,6),(33935,6),(33952,6),(33953,6),(33967,6),(33972,6),(33979,6),(33987,6),(33988,6),(34002,6),(34011,6),(34035,6),(34037,6),(34051,6),(34056,6),(34057,6),(34058,6),(34059,6),(34065,6),(34068,6),(34072,6),(34076,6),(34078,6),(34079,6),(34084,6),(34091,6),(34101,6),(34102,6),(34114,6),(34121,6),(34133,6),(34140,6),(34143,6),(34148,6),(34155,6),(34157,6),(34160,6),(34167,6),(34168,6),(34170,6),(34179,6),(34193,6),(34199,6),(34202,6),(34209,6),(34211,6),(34215,6),(34227,6),(34229,6),(34232,6),(34233,6),(34240,6),(34241,6),(34243,6),(34245,6),(34260,6),(34265,6),(34270,6),(34276,6),(34280,6),(34282,6),(34285,6),(34303,6),(34307,6),(34308,6),(34309,6),(34317,6),(34320,6),(34322,6),(34329,6),(34349,6),(34382,6),(34384,6),(34397,6),(34398,6),(34405,6),(34411,6),(34425,6),(34426,6),(34427,6),(34434,6),(34435,6),(34436,6),(34451,6),(34455,6),(34456,6),(34459,6),(34461,6),(34462,6),(34469,6),(34471,6),(34472,6),(34481,6),(34484,6),(34497,6),(34503,6),(34506,6),(34516,6),(34522,6),(34523,6),(34527,6),(34528,6),(34530,6),(34533,6),(34540,6),(34543,6),(34547,6),(34549,6),(34553,6),(34555,6),(34556,6),(34557,6),(34569,6),(34579,6),(34581,6),(34584,6),(34591,6),(34604,6),(34605,6),(34608,6),(34616,6),(34622,6),(34625,6),(34633,6),(34636,6),(34639,6),(34650,6),(34657,6),(34660,6),(34667,6),(34671,6),(34672,6),(34685,6),(34687,6),(34692,6),(34699,6),(34706,6),(34714,6),(34717,6),(34722,6),(34723,6),(34724,6),(34733,6),(34734,6),(34738,6),(34746,6),(34747,6),(34756,6),(34761,6),(34768,6),(34770,6),(34788,6),(34799,6),(34815,6),(34818,6),(34819,6),(34821,6),(34830,6),(34845,6),(34849,6),(34855,6),(34856,6),(34859,6),(34868,6),(34877,6),(34878,6),(34880,6),(34886,6),(34894,6),(34901,6),(34910,6),(34913,6),(34915,6),(34918,6),(34919,6),(34922,6),(34925,6),(34928,6),(34932,6),(34933,6),(34937,6),(34949,6),(34952,6),(34956,6),(34961,6),(34967,6),(34976,6),(34979,6),(34985,6),(34998,6),(35002,6),(35006,6),(35010,6),(35013,6),(35017,6),(35025,6),(35027,6),(35030,6),(35034,6),(35049,6),(35057,6),(35068,6),(35071,6),(35075,6),(35077,6),(35089,6),(35097,6),(35098,6),(35106,6),(35110,6),(35116,6),(35119,6),(35127,6),(35139,6),(35144,6),(35145,6),(35146,6),(35154,6),(35159,6),(35164,6),(35166,6),(35168,6),(35176,6),(35180,6),(35189,6),(35190,6),(35193,6),(35195,6),(35201,6),(35202,6),(35222,6),(35227,6),(35234,6),(35236,6),(35253,6),(35258,6),(35265,6),(35267,6),(35277,6),(35279,6),(35280,6),(35281,6),(35286,6),(35288,6),(35289,6),(35296,6),(35300,6),(35306,6),(35309,6),(35317,6),(35318,6),(35319,6),(35322,6),(35323,6),(35325,6),(35329,6),(35330,6),(35334,6),(35338,6),(35349,6),(35351,6),(35353,6),(35358,6),(35359,6),(35362,6),(35384,6),(35389,6),(35398,6),(35414,6),(35430,6),(35446,6),(35460,6),(35461,6),(35467,6),(35471,6),(35498,6),(35503,6),(35513,6),(35516,6),(35520,6),(35529,6),(35537,6),(35540,6),(35550,6),(35553,6),(35554,6),(35556,6),(35558,6),(35564,6),(35565,6),(35571,6),(35587,6),(35590,6),(35592,6),(35607,6),(35608,6),(35610,6),(35625,6),(35634,6),(35636,6),(35637,6),(35639,6),(35640,6),(35643,6),(35644,6),(35654,6),(35655,6),(35657,6),(35658,6),(35667,6),(35669,6),(35683,6),(35693,6),(35702,6),(35706,6),(35742,6),(35747,6),(35748,6),(35760,6),(35774,6),(35776,6),(35785,6),(35790,6),(35793,6),(35801,6),(35802,6),(35809,6),(35815,6),(35820,6),(35822,6),(35823,6),(35824,6),(35825,6),(35828,6),(35830,6),(35838,6),(35842,6),(35843,6),(35852,6),(35864,6),(35881,6),(35886,6),(35888,6),(35891,6),(35893,6),(35897,6),(35907,6),(35913,6),(35918,6),(35929,6),(35931,6),(35934,6),(35939,6),(35960,6),(35966,6),(35970,6),(35981,6),(35989,6),(35998,6),(36005,6),(36014,6),(36019,6),(36021,6),(36029,6),(36031,6),(36032,6),(36042,6),(36045,6),(36053,6),(36074,6),(36078,6),(36081,6),(36082,6),(36090,6),(36096,6),(36108,6),(36112,6),(36117,6),(36118,6),(36120,6),(36134,6),(36139,6),(36145,6),(36157,6),(36166,6),(36173,6),(36188,6),(36210,6),(36224,6),(36227,6),(36231,6),(36233,6),(36236,6),(36237,6),(36240,6),(36245,6),(36247,6),(36257,6),(36258,6),(36284,6),(36288,6),(36292,6),(36296,6),(36304,6),(36308,6),(36309,6),(36312,6),(36327,6),(36330,6),(36333,6),(36340,6),(36348,6),(36352,6),(36354,6),(36355,6),(36358,6),(36364,6),(36366,6),(36368,6),(36377,6),(36378,6),(36381,6),(36383,6),(36388,6),(36392,6),(36398,6),(36400,6),(36404,6),(36412,6),(36416,6),(36419,6),(36429,6),(36441,6),(36442,6),(36445,6),(36449,6),(36474,6),(36487,6),(36491,6),(36492,6),(36493,6),(36500,6),(36512,6),(36522,6),(36530,6),(36531,6),(36532,6),(36537,6),(36554,6),(36558,6),(36566,6),(36572,6),(36574,6),(36575,6),(36577,6),(36579,6),(36581,6),(36586,6),(36587,6),(36588,6),(36591,6),(36596,6),(36609,6),(36613,6),(36619,6),(36624,6),(36629,6),(36630,6),(36635,6),(36649,6),(36654,6),(36655,6),(36665,6),(36666,6),(36667,6),(36677,6),(36679,6),(36681,6),(36684,6),(36695,6),(36696,6),(36700,6),(36702,6),(36707,6),(36710,6),(36717,6),(36730,6),(36747,6),(36759,6),(36771,6),(36779,6),(36780,6),(36785,6),(36789,6),(36790,6),(36795,6),(36800,6),(36801,6),(36820,6),(36823,6),(36825,6),(36830,6),(36832,6),(36835,6),(36840,6),(36845,6),(36848,6),(36849,6),(36856,6),(36862,6),(36863,6),(36867,6),(36870,6),(36874,6),(36877,6),(36881,6),(36883,6),(36890,6),(36892,6),(36909,6),(36915,6),(36931,6),(36934,6),(36943,6),(36944,6),(36951,6),(36961,6),(36977,6),(36984,6),(36987,6),(36997,6),(37000,6),(37005,6),(37010,6),(37017,6),(37018,6),(37019,6),(37023,6),(37028,6),(37031,6),(37049,6),(37056,6),(37059,6),(37067,6),(37070,6),(37071,6),(37073,6),(37078,6),(37080,6),(37090,6),(37094,6),(37100,6),(37110,6),(37139,6),(37165,6),(37168,6),(37170,6),(37182,6),(37186,6),(37188,6),(37191,6),(37192,6),(37200,6),(37204,6),(37206,6),(37210,6),(37218,6),(37222,6),(37226,6),(37239,6),(37249,6),(37254,6),(37264,6),(37266,6),(37271,6),(37272,6),(37280,6),(37283,6),(37284,6),(37288,6),(37289,6),(37302,6),(37314,6),(37323,6),(37329,6),(37332,6),(37335,6),(37337,6),(37339,6),(37341,6),(37349,6),(37350,6),(37354,6),(37355,6),(37358,6),(37360,6),(37363,6),(37369,6),(37371,6),(37377,6),(37392,6),(37400,6),(37402,6),(37408,6),(37411,6),(37420,6),(37426,6),(37430,6),(37431,6),(37437,6),(37440,6),(37445,6),(37450,6),(37461,6),(37474,6),(37491,6),(37506,6),(37508,6),(37510,6),(37513,6),(37521,6),(37523,6),(37528,6),(37530,6),(37536,6),(37541,6),(37545,6),(37552,6),(37555,6),(37562,6),(37566,6),(37571,6),(37577,6),(37579,6),(37580,6),(37583,6),(37584,6),(37588,6),(37601,6),(37609,6),(37615,6),(37623,6),(37637,6),(37642,6),(37643,6),(37648,6),(37653,6),(37659,6),(37662,6),(37670,6),(37675,6),(37684,6),(37693,6),(37696,6),(37707,6),(37713,6),(37715,6),(37716,6),(37724,6),(37727,6),(37731,6),(37743,6),(37744,6),(37746,6),(37755,6),(37756,6),(37759,6),(37761,6),(37770,6),(37795,6),(37803,6),(37817,6),(37821,6),(37824,6),(37826,6),(37829,6),(37830,6),(37831,6),(37833,6),(37837,6),(37842,6),(37845,6),(37854,6),(37856,6),(37857,6),(37867,6),(37869,6),(37902,6),(37905,6),(37915,6),(37922,6),(37938,6),(37943,6),(37944,6),(37946,6),(37957,6),(37965,6),(37968,6),(37969,6),(37993,6),(38000,6),(38003,6),(38011,6),(38036,6),(38051,6),(38053,6),(38063,6),(38066,6),(38067,6),(38071,6),(38084,6),(38087,6),(38088,6),(38089,6),(38097,6),(38102,6),(38106,6),(38107,6),(38117,6),(38122,6),(38129,6),(38132,6),(38156,6),(38163,6),(38170,6),(38177,6),(38178,6),(38181,6),(38185,6),(38191,6),(38197,6),(38227,6),(38229,6),(38248,6),(38253,6),(38261,6),(38266,6),(38285,6),(38290,6),(38303,6),(38308,6),(38328,6),(38337,6),(38340,6),(38342,6),(38352,6),(38362,6),(38364,6),(38365,6),(38366,6),(38367,6),(38368,6),(38374,6),(38380,6),(38382,6),(38385,6),(38387,6),(38394,6),(38395,6),(38396,6),(38404,6),(38406,6),(38421,6),(38426,6),(38428,6),(38431,6),(38435,6),(38441,6),(38444,6),(38449,6),(38450,6),(38453,6),(38455,6),(38473,6),(38480,6),(38490,6),(38515,6),(38520,6),(38522,6),(38528,6),(38531,6),(38532,6),(38539,6),(38543,6),(38544,6),(38547,6),(38551,6),(38558,6),(38595,6),(38602,6),(38606,6),(38608,6),(38617,6),(38623,6),(38624,6),(38638,6),(38639,6),(38648,6),(38649,6),(38655,6),(38661,6),(38665,6),(38667,6),(38668,6),(38676,6),(38678,6),(38683,6),(38685,6),(38690,6),(38697,6),(38706,6),(38708,6),(38714,6),(38717,6),(38720,6),(38726,6),(38740,6),(38742,6),(38746,6),(38753,6),(38764,6),(38765,6),(38780,6),(38785,6),(38788,6),(38789,6),(38792,6),(38797,6),(38799,6),(38814,6),(38820,6),(38824,6),(38827,6),(38835,6),(38848,6),(38853,6),(38858,6),(38864,6),(38868,6),(38869,6),(38887,6),(38889,6),(38894,6),(38898,6),(38909,6),(38921,6),(38926,6),(38927,6),(38936,6),(38937,6),(38939,6),(38940,6),(38946,6),(38957,6),(38958,6),(38971,6),(38977,6),(38978,6),(38979,6),(38980,6),(38981,6),(38982,6),(38998,6),(39008,6),(39010,6),(39023,6),(39025,6),(39029,6),(39031,6),(39032,6),(39035,6),(39038,6),(39040,6),(39042,6),(39050,6),(39052,6),(39057,6),(39068,6),(39075,6),(39076,6),(39077,6),(39078,6),(39082,6),(39087,6),(39088,6),(39090,6),(39092,6),(39106,6),(39108,6),(39112,6),(39116,6),(39123,6),(39124,6),(39125,6),(39129,6),(39151,6),(39152,6),(39153,6),(39160,6),(39166,6),(39178,6),(39182,6),(39198,6),(39201,6),(39208,6),(39212,6),(39222,6),(39223,6),(39224,6),(39237,6),(39243,6),(39279,6),(39292,6),(39293,6),(39296,6),(39306,6),(39318,6),(39319,6),(39331,6),(39332,6),(39341,6),(39343,6),(39358,6),(39362,6),(39363,6),(39368,6),(39369,6),(39372,6),(39379,6),(39382,6),(39392,6),(39395,6),(39402,6),(39411,6),(39412,6),(39413,6),(39435,6),(39444,6),(39460,6),(39461,6),(39463,6),(39477,6),(39479,6),(39484,6),(39490,6),(39494,6),(39500,6),(39507,6),(39520,6),(39521,6),(39527,6),(39540,6),(39558,6),(39583,6),(39586,6),(39589,6),(39598,6),(39599,6),(39601,6),(39616,6),(39626,6),(39638,6),(39641,6),(39654,6),(39663,6),(39674,6),(39679,6),(39681,6),(39683,6),(39687,6),(39707,6),(39711,6),(39714,6),(39735,6),(39746,6),(39747,6),(39773,6),(39775,6),(39779,6),(39786,6),(39790,6),(39792,6),(39796,6),(39809,6),(39820,6),(39826,6),(39827,6),(39836,6),(39850,6),(39851,6),(39864,6),(39883,6),(39891,6),(39901,6),(39904,6),(39910,6),(39911,6),(39926,6),(39938,6),(39947,6),(39953,6),(39954,6),(39960,6),(39962,6),(39969,6),(39970,6),(39978,6),(39991,6),(39994,6),(40009,6),(40028,6),(40037,6),(40082,6),(40085,6),(40095,6),(40103,6),(40108,6),(40120,6),(40121,6),(40136,6),(40143,6),(40150,6),(40162,6),(40165,6),(40170,6),(40182,6),(40191,6),(40196,6),(40200,6),(40208,6),(40209,6),(40210,6),(40211,6),(40213,6),(40228,6),(40232,6),(40243,6),(40258,6),(40265,6),(40274,6),(40277,6),(40288,6),(40292,6),(40316,6),(40318,6),(40328,6),(40338,6),(40346,6),(40347,6),(40351,6),(40353,6),(40357,6),(40360,6),(40361,6),(40378,6),(40388,6),(40397,6),(40407,6),(40409,6),(40410,6),(40415,6),(40421,6),(40430,6),(40434,6),(40437,6),(40440,6),(40443,6),(40449,6),(40456,6),(40459,6),(40462,6),(40465,6),(40469,6),(40473,6),(40474,6),(40475,6),(40479,6),(40495,6),(40501,6),(40509,6),(40512,6),(40514,6),(40527,6),(40537,6),(40539,6),(40550,6),(40551,6),(40553,6),(40554,6),(40557,6),(40575,6),(40576,6),(40586,6),(40587,6),(40589,6),(40591,6),(40594,6),(40602,6),(40605,6),(40635,6),(40636,6),(40639,6),(40655,6),(40666,6),(40667,6),(40694,6),(40703,6),(40715,6),(40733,6),(40738,6),(40758,6),(40769,6),(40774,6),(40778,6),(40787,6),(40792,6),(40794,6),(40798,6),(40806,6),(40810,6),(40811,6),(40813,6),(40824,6),(40830,6),(40831,6),(40834,6),(40848,6),(40850,6),(40851,6),(40861,6),(40870,6),(40877,6),(40883,6),(40885,6),(40886,6),(40888,6),(40904,6),(40906,6),(40919,6),(40922,6),(40925,6),(40935,6),(40940,6),(40946,6),(40948,6),(40950,6),(40954,6),(40956,6),(40957,6),(40958,6),(40962,6),(40964,6),(40969,6),(40977,6),(40985,6),(41003,6),(41006,6),(41007,6),(41026,6),(41031,6),(41033,6),(41034,6),(41035,6),(41038,6),(41040,6),(41042,6),(41044,6),(41045,6),(41048,6),(41049,6),(41051,6),(41052,6),(41060,6),(41062,6),(41067,6),(41070,6),(41073,6),(41075,6),(41082,6),(41092,6),(41098,6),(41105,6),(41107,6),(41115,6),(41118,6),(41124,6),(41127,6),(41129,6),(41131,6),(41139,6),(41143,6),(41152,6),(41153,6),(41157,6),(41159,6),(41160,6),(41164,6),(41168,6),(41171,6),(41172,6),(41174,6),(41201,6),(41205,6),(41207,6),(41210,6),(41211,6),(41216,6),(41220,6),(41221,6),(41230,6),(41239,6),(41240,6),(41244,6),(41248,6),(41251,6),(41252,6),(41253,6),(41280,6),(41285,6),(41302,6),(41306,6),(41316,6),(41317,6),(41318,6),(41323,6),(41328,6),(41349,6),(41361,6),(41363,6),(41365,6),(41371,6),(41374,6),(41377,6),(41380,6),(41387,6),(41395,6),(41397,6),(41402,6),(41403,6),(41412,6),(41416,6),(41418,6),(41421,6),(41423,6),(41424,6),(41425,6),(41428,6),(41429,6),(41431,6),(41438,6),(41442,6),(41444,6),(41450,6),(41482,6),(41487,6),(41497,6),(41498,6),(41501,6),(41510,6),(41514,6),(41522,6),(41532,6),(41543,6),(41546,6),(41548,6),(41554,6),(41560,6),(41565,6),(41567,6),(41569,6),(41574,6),(41575,6),(41582,6),(41586,6),(41591,6),(41596,6),(41600,6),(41603,6),(41604,6),(41611,6),(41614,6),(41629,6),(41630,6),(41632,6),(41638,6),(41645,6),(41657,6),(41681,6),(41684,6),(41695,6),(41698,6),(41703,6),(41705,6),(41714,6),(41715,6),(41720,6),(41722,6),(41723,6),(41727,6),(41735,6),(41739,6),(41743,6),(41749,6),(41758,6),(41777,6),(41778,6),(41783,6),(41787,6),(41788,6),(41791,6),(41792,6),(41793,6),(41821,6),(41822,6),(41826,6),(41835,6),(41840,6),(41841,6),(41846,6),(41851,6),(41852,6),(41856,6),(41857,6),(41890,6),(41891,6),(41903,6),(41917,6),(41918,6),(41920,6),(41923,6),(41927,6),(41932,6),(41933,6),(41935,6),(41943,6),(41944,6),(41950,6),(41952,6),(41960,6),(41964,6),(41965,6),(41968,6),(41970,6),(41975,6),(41979,6),(41981,6),(41982,6),(41984,6),(41987,6),(41992,6),(41994,6),(41995,6),(42000,6),(42014,6),(42021,6),(42028,6),(42030,6),(42031,6),(42032,6),(42046,6),(42047,6),(42048,6),(42061,6),(42063,6),(42066,6),(42068,6),(42087,6),(42099,6),(42100,6),(42104,6),(42107,6),(42119,6),(42132,6),(42133,6),(42141,6),(42144,6),(42147,6),(42174,6),(42176,6),(42188,6),(42212,6),(42214,6),(42235,6),(42239,6),(42244,6),(42252,6),(42255,6),(42256,6),(42284,6),(42286,6),(42288,6),(42292,6),(42298,6),(42300,6),(42302,6),(42319,6),(42328,6),(42330,6),(42333,6),(42335,6),(42351,6),(42357,6),(42361,6),(42382,6),(42386,6),(42394,6),(42395,6),(42403,6),(42404,6),(42410,6),(42420,6),(42424,6),(42425,6),(42427,6),(42430,6),(42434,6),(42439,6),(42443,6),(42445,6),(42447,6),(42456,6),(42458,6),(42472,6),(42481,6),(42484,6),(42494,6),(42496,6),(42500,6),(42501,6),(42503,6),(42510,6),(42516,6),(42522,6),(42525,6),(42527,6),(42530,6),(42542,6),(42556,6),(42558,6),(42564,6),(42570,6),(42577,6),(42594,6),(42602,6),(42609,6),(42620,6),(42627,6),(42638,6),(42645,6),(42646,6),(42659,6),(42666,6),(42678,6),(42681,6),(42685,6),(42686,6),(42705,6),(42715,6),(42733,6),(42741,6),(42743,6),(42745,6),(42747,6),(42749,6),(42752,6),(42756,6),(42765,6),(42772,6),(42778,6),(42798,6),(42811,6),(42813,6),(42816,6),(42818,6),(42830,6),(42842,6),(42843,6),(42844,6),(42848,6),(42855,6),(42858,6),(42865,6),(42881,6),(42886,6),(42895,6),(42899,6),(42901,6),(42912,6),(42913,6),(42926,6),(42928,6),(42943,6),(42952,6),(42953,6),(42976,6),(42982,6),(43001,6),(43003,6),(43006,6),(43011,6),(43015,6),(43039,6),(43046,6),(43049,6),(43056,6),(43063,6),(43066,6),(43070,6),(43072,6),(43077,6),(43090,6),(43098,6),(43102,6),(43106,6),(43120,6),(43133,6),(43134,6),(43135,6),(43136,6),(43141,6),(43162,6),(43163,6),(43170,6),(43172,6),(43175,6),(43176,6),(43184,6),(43187,6),(43193,6),(43202,6),(43206,6),(43207,6),(43208,6),(43210,6),(43231,6),(43251,6),(43252,6),(43253,6),(43260,6),(43262,6),(43264,6),(43269,6),(43290,6),(43300,6),(43301,6),(43304,6),(43324,6),(43326,6),(43337,6),(43346,6),(43347,6),(43348,6),(43349,6),(43357,6),(43369,6),(43382,6),(43384,6),(43387,6),(43391,6),(43395,6),(43400,6),(43416,6),(43418,6),(43424,6),(43436,6),(43442,6),(43443,6),(43449,6),(43458,6),(43461,6),(43464,6),(43469,6),(43477,6),(43478,6),(43495,6),(43498,6),(43499,6),(43500,6),(43503,6),(43514,6),(43518,6),(43521,6),(43522,6),(43526,6),(43527,6),(43536,6),(43539,6),(43541,6),(43543,6),(43549,6),(43551,6),(43553,6),(43565,6),(43567,6),(43573,6),(43576,6),(43582,6),(43596,6),(43600,6),(43611,6),(43618,6),(43629,6),(43633,6),(43637,6),(43650,6),(43652,6),(43656,6),(43664,6),(43666,6),(43670,6),(43673,6),(43676,6),(43683,6),(43693,6),(43698,6),(43706,6),(43708,6),(43716,6),(43717,6),(43718,6),(43721,6),(43722,6),(43732,6),(43736,6),(43740,6),(43744,6),(43745,6),(43749,6),(43751,6),(43765,6),(43766,6),(43778,6),(43785,6),(43789,6),(43797,6),(43798,6),(43810,6),(43813,6),(43818,6),(43823,6),(43827,6),(43835,6),(43836,6),(43840,6),(43850,6),(43877,6),(43883,6),(43884,6),(43887,6),(43891,6),(43894,6),(43896,6),(43905,6),(43909,6),(43919,6),(43921,6),(43929,6),(43931,6),(43933,6),(43934,6),(43935,6),(43937,6),(43939,6),(43944,6),(43948,6),(43956,6),(43968,6),(43969,6),(43973,6),(43977,6),(43984,6),(43991,6),(43993,6),(43994,6),(43998,6),(44000,6),(44002,6),(44004,6),(44020,6),(44021,6),(44025,6),(44031,6),(44034,6),(44035,6),(44048,6),(44050,6),(44062,6),(44064,6),(44076,6),(44091,6),(44093,6),(44095,6),(44097,6),(44102,6),(44112,6),(44114,6),(44154,6),(44160,6),(44166,6),(44167,6),(44175,6),(44182,6),(44188,6),(44203,6),(44205,6),(44206,6),(44217,6),(44218,6),(44221,6),(44222,6),(44232,6),(44241,6),(44242,6),(44244,6),(44245,6),(44248,6),(44256,6),(44275,6),(44288,6),(44293,6),(44295,6),(44300,6),(44303,6),(44310,6),(44316,6),(44318,6),(44319,6),(44322,6),(44328,6),(44345,6),(44357,6),(44362,6),(44364,6),(44370,6),(44379,6),(44383,6),(44387,6),(44391,6),(44394,6),(44403,6),(44404,6),(44407,6),(44415,6),(44419,6),(44420,6),(44422,6),(44423,6),(44429,6),(44431,6),(44432,6),(44436,6),(44438,6),(44441,6),(44443,6),(44451,6),(44456,6),(44465,6),(44479,6),(44490,6),(44492,6),(44495,6),(44501,6),(44504,6),(44505,6),(44506,6),(44523,6),(44524,6),(44536,6),(44542,6),(44544,6),(44551,6),(44554,6),(44556,6),(44569,6),(44572,6),(44573,6),(44575,6),(44582,6),(44588,6),(44590,6),(44595,6),(44597,6),(44611,6),(44613,6),(44615,6),(44622,6),(44625,6),(44628,6),(44640,6),(44646,6),(44648,6),(44652,6),(44655,6),(44661,6),(44668,6),(44669,6),(44672,6),(44675,6),(44676,6),(44677,6),(44686,6),(44688,6),(44694,6),(44697,6),(44702,6),(44721,6),(44728,6),(44752,6),(44753,6),(44758,6),(44761,6),(44784,6),(44788,6),(44792,6),(44794,6),(44803,6),(44818,6),(44819,6),(44825,6),(44831,6),(44832,6),(44835,6),(44839,6),(44848,6),(44849,6),(44887,6),(44892,6),(44896,6),(44905,6),(44906,6),(44911,6),(44912,6),(44916,6),(44922,6),(44925,6),(44926,6),(44927,6),(44928,6),(44934,6),(44939,6),(44943,6),(44946,6),(44949,6),(44950,6),(44960,6),(44964,6),(44973,6),(44976,6),(44988,6),(44994,6),(44996,6),(44998,6),(44999,6),(45001,6),(45002,6),(45011,6),(45023,6),(45025,6),(45031,6),(45033,6),(45047,6),(45052,6),(45053,6),(45054,6),(45055,6),(45070,6),(45074,6),(45076,6),(45081,6),(45102,6),(45107,6),(45108,6),(45113,6),(45117,6),(45118,6),(45123,6),(45128,6),(45131,6),(45135,6),(45138,6),(45140,6),(45145,6),(45152,6),(45159,6),(45160,6),(45163,6),(45170,6),(45187,6),(45188,6),(45189,6),(45193,6),(45196,6),(45199,6),(45207,6),(45209,6),(45224,6),(45226,6),(45243,6),(45248,6),(45252,6),(45253,6),(45262,6),(45283,6),(45288,6),(45291,6),(45293,6),(45294,6),(45298,6),(45299,6),(45312,6),(45327,6),(45336,6),(45338,6),(45339,6),(45340,6),(45351,6),(45356,6),(45358,6),(45368,6),(45370,6),(45371,6),(45390,6),(45391,6),(45403,6),(45409,6),(45430,6),(45438,6),(45439,6),(45443,6),(45445,6),(45460,6),(45461,6),(45469,6),(45474,6),(45477,6),(45483,6),(45488,6),(45498,6),(45502,6),(45504,6),(45507,6),(45511,6),(45516,6),(45519,6),(45530,6),(45531,6),(45537,6),(45546,6),(45555,6),(45560,6),(45561,6),(45564,6),(45573,6),(45587,6),(45596,6),(45597,6),(45599,6),(45615,6),(45617,6),(45628,6),(45630,6),(45636,6),(45648,6),(45651,6),(45656,6),(45658,6),(45676,6),(45678,6),(45699,6),(45715,6),(45720,6),(45721,6),(45722,6),(45725,6),(45726,6),(45727,6),(45732,6),(45736,6),(45738,6),(45744,6),(45745,6),(45755,6),(45762,6),(45771,6),(45776,6),(45785,6),(45793,6),(45796,6),(45810,6),(45820,6),(45821,6),(45836,6),(45842,6),(45843,6),(45845,6),(45846,6),(45856,6),(45865,6),(45872,6),(45875,6),(45882,6),(45900,6),(45908,6),(45910,6),(45922,6),(45930,6),(45932,6),(45937,6),(45945,6),(45947,6),(45951,6),(45954,6),(45955,6),(45956,6),(45972,6),(45976,6),(45989,6),(45995,6),(46000,6),(46002,6),(46008,6),(46025,6),(46028,6),(46030,6),(46034,6),(46044,6),(46048,6),(46049,6),(46050,6),(46051,6),(46052,6),(46058,6),(46060,6),(46066,6),(46068,6),(46074,6),(46080,6),(46081,6),(46082,6),(46085,6),(46110,6),(46112,6),(46116,6),(46119,6),(46120,6),(46123,6),(46125,6),(46141,6),(46148,6),(46158,6),(46185,6),(46186,6),(46188,6),(46193,6),(46196,6),(46201,6),(46212,6),(46214,6),(46217,6),(46220,6),(46249,6),(46253,6),(46260,6),(46261,6),(46268,6),(46269,6),(46270,6),(46271,6),(46275,6),(46279,6),(46280,6),(46281,6),(46298,6),(46323,6),(46329,6),(46355,6),(46356,6),(46361,6),(46362,6),(46370,6),(46375,6),(46378,6),(46383,6),(46397,6),(46400,6),(46407,6),(46411,6),(46418,6),(46422,6),(46427,6),(46429,6),(46436,6),(46440,6),(46443,6),(46446,6),(46450,6),(46454,6),(46455,6),(46476,6),(46483,6),(46486,6),(46520,6),(46543,6),(46549,6),(46565,6),(46568,6),(46573,6),(46578,6),(46604,6),(46610,6),(46612,6),(46615,6),(46625,6),(46632,6),(46637,6),(46639,6),(46645,6),(46653,6),(46664,6),(46677,6),(46684,6),(46688,6),(46702,6),(46714,6),(46716,6),(46729,6),(46735,6),(46744,6),(46746,6),(46747,6),(46748,6),(46750,6),(46758,6),(46760,6),(46761,6),(46769,6),(46776,6),(46778,6),(46795,6),(46808,6),(46827,6),(46832,6),(46833,6),(46842,6),(46843,6),(46848,6),(46855,6),(46857,6),(46861,6),(46866,6),(46874,6),(46879,6),(46883,6),(46891,6),(46899,6),(46909,6),(46912,6),(46913,6),(46914,6),(46915,6),(46916,6),(46917,6),(46927,6),(46933,6),(46936,6),(46942,6),(46948,6),(46949,6),(46952,6),(46956,6),(46962,6),(46977,6),(46987,6),(46990,6),(46992,6),(46994,6),(46998,6),(47023,6),(47024,6),(47026,6),(47031,6),(47034,6),(47035,6),(47038,6),(47039,6),(47045,6),(47054,6),(47056,6),(47058,6),(47073,6),(47074,6),(47075,6),(47086,6),(47088,6),(47090,6),(47091,6),(47096,6),(47113,6),(47114,6),(47120,6),(47126,6),(47136,6),(47137,6),(47141,6),(47142,6),(47143,6),(47147,6),(47156,6),(47162,6),(47166,6),(47170,6),(47173,6),(47176,6),(47180,6),(47183,6),(47189,6),(47211,6),(47216,6),(47222,6),(47229,6),(47231,6),(47234,6),(47237,6),(47247,6),(47259,6),(47260,6),(47264,6),(47281,6),(47283,6),(47289,6),(47291,6),(47297,6),(47303,6),(47304,6),(47305,6),(47307,6),(47319,6),(47320,6),(47322,6),(47323,6),(47335,6),(47337,6),(47342,6),(47343,6),(47344,6),(47347,6),(47352,6),(47356,6),(47358,6),(47366,6),(47376,6),(47383,6),(47388,6),(47389,6),(47391,6),(47393,6),(47407,6),(47419,6),(47424,6),(47428,6),(47431,6),(47434,6),(47451,6),(47465,6),(47475,6),(47485,6),(47486,6),(47496,6),(47499,6),(47501,6),(47504,6),(47506,6),(47521,6),(47525,6),(47531,6),(47536,6),(47544,6),(47547,6),(47551,6),(47555,6),(47558,6),(47562,6),(47582,6),(47590,6),(47591,6),(47593,6),(47598,6),(47600,6),(47605,6),(47606,6),(47619,6),(47635,6),(47638,6),(47654,6),(47663,6),(47665,6),(47674,6),(47676,6),(47688,6),(47690,6),(47694,6),(47696,6),(47697,6),(47711,6),(47713,6),(47724,6),(47729,6),(47744,6),(47746,6),(47752,6),(47756,6),(47761,6),(47762,6),(47764,6),(47770,6),(47776,6),(47782,6),(47787,6),(47790,6),(47791,6),(47792,6),(47795,6),(47796,6),(47798,6),(47807,6),(47815,6),(47844,6),(47847,6),(47866,6),(47870,6),(47881,6),(47893,6),(47894,6),(47895,6),(47902,6),(47904,6),(47909,6),(47916,6),(47924,6),(47926,6),(47944,6),(47945,6),(47951,6),(47976,6),(47977,6),(47978,6),(47994,6),(48000,6),(48002,6),(48016,6),(48020,6),(48021,6),(48034,6),(48035,6),(48038,6),(48041,6),(48043,6),(48078,6),(48092,6),(48097,6),(48100,6),(48111,6),(48125,6),(48128,6),(48147,6),(48148,6),(48170,6),(48172,6),(48175,6),(48176,6),(48177,6),(48178,6),(48182,6),(48185,6),(48186,6),(48189,6),(48192,6),(48196,6),(48220,6),(48223,6),(48231,6),(48232,6),(48235,6),(48240,6),(48247,6),(48257,6),(48274,6),(48294,6),(48296,6),(48298,6),(48304,6),(48314,6),(48319,6),(48322,6),(48326,6),(48328,6),(48332,6),(48338,6),(48375,6),(48382,6),(48397,6),(48399,6),(48400,6),(48407,6),(48416,6),(48427,6),(48431,6),(48432,6),(48435,6),(48445,6),(48460,6),(48461,6),(48465,6),(48469,6),(48486,6),(48495,6),(48498,6),(48499,6),(48500,6),(48505,6),(48506,6),(48516,6),(48517,6),(48520,6),(48526,6),(48529,6),(48531,6),(48536,6),(48548,6),(48550,6),(48551,6),(48561,6),(48573,6),(48574,6),(48576,6),(48580,6),(48584,6),(48596,6),(48604,6),(48607,6),(48618,6),(48621,6),(48625,6),(48630,6),(48643,6),(48649,6),(48665,6),(48683,6),(48697,6),(48703,6),(48713,6),(48719,6),(48732,6),(48733,6),(48747,6),(48756,6),(48759,6),(48790,6),(48811,6),(48812,6),(48823,6),(48827,6),(48828,6),(48867,6),(48871,6),(48876,6),(48886,6),(48889,6),(48903,6),(48907,6),(48910,6),(48912,6),(48914,6),(48953,6),(48961,6),(48963,6),(48971,6),(48978,6),(48981,6),(48986,6),(48992,6),(48994,6),(49004,6),(49017,6),(49032,6),(49033,6),(49037,6),(49038,6),(49042,6),(49044,6),(49055,6),(49061,6),(49068,6),(49072,6),(49074,6),(49078,6),(49084,6),(49085,6),(49100,6),(49104,6),(49108,6),(49114,6),(49116,6),(49126,6),(49138,6),(49140,6),(49142,6),(49143,6),(49151,6),(49155,6),(49166,6),(49170,6),(49173,6),(49176,6),(49202,6),(49215,6),(49220,6),(49224,6),(49225,6),(49226,6),(49229,6),(49237,6),(49268,6),(49273,6),(49282,6),(49284,6),(49285,6),(49287,6),(49293,6),(49295,6),(49307,6),(49312,6),(49313,6),(49314,6),(49317,6),(49328,6),(49330,6),(49331,6),(49334,6),(49336,6),(49346,6),(49348,6),(49352,6),(49358,6),(49360,6),(49375,6),(49383,6),(49385,6),(49390,6),(49395,6),(49401,6),(49403,6),(49415,6),(49416,6),(49420,6),(49421,6),(49431,6),(49443,6),(49445,6),(49459,6),(49460,6),(49462,6),(49472,6),(49473,6),(49477,6),(49482,6),(49485,6),(49488,6),(49491,6),(49499,6),(49501,6),(49502,6),(49522,6),(49528,6),(49533,6),(49535,6),(49542,6),(49546,6),(49550,6),(49556,6),(49564,6),(49569,6),(49571,6),(49579,6),(49582,6),(49589,6),(49595,6),(49603,6),(49608,6),(49614,6),(49625,6),(49626,6),(49637,6),(49640,6),(49648,6),(49656,6),(49657,6),(49658,6),(49664,6),(49666,6),(49668,6),(49682,6),(49683,6),(49693,6),(49694,6),(49695,6),(49696,6),(49697,6),(49701,6),(49714,6),(49721,6),(49724,6),(49727,6),(49735,6),(49740,6),(49745,6),(49751,6),(49752,6),(49755,6),(49757,6),(49763,6),(49769,6),(49770,6),(49776,6),(49788,6),(49797,6),(49801,6),(49825,6),(49830,6),(49832,6),(49842,6),(49845,6),(49848,6),(49865,6),(49870,6),(49873,6),(49882,6),(49886,6),(49892,6),(49903,6),(49905,6),(49906,6),(49907,6),(49908,6),(49913,6),(49914,6),(49915,6),(49920,6),(49921,6),(49923,6),(49931,6),(49937,6),(49948,6),(49964,6),(49985,6),(49986,6),(49987,6),(49996,6),(49999,6),(50004,6),(50008,6),(50012,6),(50022,6),(50031,6),(50034,6),(50038,6),(50040,6),(50042,6),(50047,6),(50054,6),(50062,6),(50064,6),(50069,6),(50076,6),(50079,6),(50080,6),(50083,6),(50089,6),(50090,6),(50093,6),(50100,6),(50107,6),(50111,6),(50112,6),(50128,6),(50142,6),(50157,6),(50168,6),(50176,6),(50186,6),(50188,6),(50195,6),(50196,6),(50198,6),(50208,6),(50209,6),(50212,6),(50220,6),(50223,6),(50229,6),(50237,6),(50243,6),(50254,6),(50255,6),(50257,6),(50258,6),(50264,6),(50267,6),(50273,6),(50278,6),(50279,6),(50282,6),(50285,6),(50287,6),(50295,6),(50297,6),(50302,6),(50303,6),(50310,6),(50316,6),(50321,6),(50322,6),(50329,6),(50332,6),(50335,6),(50336,6),(50337,6),(50342,6),(50346,6),(50348,6),(50354,6),(50364,6),(50372,6),(50375,6),(50382,6),(50389,6),(50391,6),(50393,6),(50394,6),(50410,6),(50415,6),(50424,6),(50426,6),(50430,6),(50434,6),(50438,6),(50447,6),(50450,6),(50454,6),(50455,6),(50457,6),(50458,6),(50466,6),(50470,6),(50475,6),(50480,6),(50486,6),(50492,6),(50496,6),(50498,6),(50512,6),(50530,6),(50535,6),(50536,6),(50537,6),(50548,6),(50557,6),(50564,6),(50566,6),(50568,6),(50575,6),(50581,6),(50586,6),(50606,6),(50614,6),(50617,6),(50620,6),(50625,6),(50629,6),(50631,6),(50641,6),(50651,6),(50653,6),(50659,6),(50662,6),(50709,6),(50722,6),(50731,6),(50735,6),(50737,6),(50748,6),(50763,6),(50770,6),(50771,6),(50775,6),(50776,6),(50786,6),(50788,6),(50791,6),(50795,6),(50799,6),(50802,6),(50803,6),(50816,6),(50825,6),(50826,6),(50828,6),(50830,6),(50838,6),(50848,6),(50853,6),(50858,6),(50868,6),(50872,6),(50873,6),(50878,6),(50879,6),(50884,6),(50886,6),(50892,6),(50905,6),(50918,6),(50922,6),(50924,6),(50941,6),(50958,6),(50961,6),(50963,6),(50968,6),(50974,6),(50975,6),(50989,6),(50991,6),(51001,6),(51009,6),(51010,6),(51014,6),(51017,6),(51020,6),(51021,6),(51023,6),(51025,6),(51030,6),(51032,6),(51033,6),(51047,6),(51057,6),(51058,6),(51060,6),(51063,6),(51066,6),(51070,6),(51074,6),(51075,6),(51079,6),(51082,6),(51096,6),(51099,6),(51105,6),(51107,6),(51110,6),(51120,6),(51122,6),(51149,6),(51150,6),(51164,6),(51184,6),(51200,6),(51216,6),(51219,6),(51222,6),(51223,6),(51234,6),(51235,6),(51252,6),(51261,6),(51274,6),(51275,6),(51281,6),(51290,6),(51296,6),(51302,6),(51303,6),(51309,6),(51317,6),(51327,6),(51330,6),(51335,6),(51349,6),(51353,6),(51356,6),(51357,6),(51376,6),(51379,6),(51387,6),(51388,6),(51389,6),(51391,6),(51406,6),(51421,6),(51423,6),(51426,6),(51437,6),(51438,6),(51440,6),(51446,6),(51452,6),(51455,6),(51462,6),(51465,6),(51466,6),(51472,6),(51487,6),(51488,6),(51494,6),(51495,6),(51504,6),(51507,6),(51510,6),(51530,6),(51536,6),(51540,6),(51555,6),(51556,6),(51558,6),(51561,6),(51592,6),(51597,6),(51598,6),(51601,6),(51616,6),(51622,6),(51631,6),(51635,6),(51638,6),(51653,6),(51670,6),(51671,6),(51674,6),(51678,6),(51682,6),(51683,6),(51685,6),(51689,6),(51691,6),(51696,6),(51700,6),(51715,6),(51726,6),(51732,6),(51736,6),(51738,6),(51740,6),(51744,6),(51745,6),(51753,6),(51754,6),(51760,6),(51762,6),(51763,6),(51768,6),(51778,6),(51781,6),(51796,6),(51801,6),(51802,6),(51805,6),(51814,6),(51819,6),(51823,6),(51835,6),(51846,6),(51852,6),(51864,6),(51873,6),(51875,6),(51877,6),(51879,6),(51881,6),(51883,6),(51885,6),(51890,6),(51903,6),(51910,6),(51911,6),(51919,6),(51920,6),(51924,6),(51925,6),(51927,6),(51929,6),(51934,6),(51942,6),(51943,6),(51952,6),(51960,6),(51965,6),(51973,6),(51976,6),(51978,6),(51985,6),(51988,6),(52006,6),(52008,6),(52021,6),(52029,6),(52036,6),(52037,6),(52042,6),(52044,6),(52045,6),(52047,6),(52053,6),(52057,6),(52059,6),(52062,6),(52074,6),(52077,6),(52084,6),(52091,6),(52092,6),(52094,6),(52100,6),(52102,6),(52107,6),(52113,6),(52119,6),(52124,6),(52127,6),(52129,6),(52132,6),(52136,6),(52144,6),(52151,6),(52156,6),(52163,6),(52164,6),(52169,6),(52180,6),(52182,6),(52183,6),(52192,6),(52203,6),(52204,6),(52208,6),(52218,6),(52226,6),(52228,6),(52230,6),(52236,6),(52237,6),(52259,6),(52279,6),(52287,6),(52295,6),(52297,6),(52299,6),(52300,6),(52307,6),(52310,6),(52313,6),(52316,6),(52322,6),(52324,6),(52326,6),(52327,6),(52333,6),(52336,6),(52341,6),(52349,6),(52350,6),(52353,6),(52355,6),(52364,6),(52376,6),(52381,6),(52385,6),(52389,6),(52398,6),(52399,6),(52400,6),(52412,6),(52417,6),(52423,6),(52424,6),(52425,6),(52445,6),(52451,6),(52457,6),(52466,6),(52479,6),(52481,6),(52487,6),(52489,6),(52497,6),(52501,6),(52505,6),(52517,6),(52520,6),(52534,6),(52537,6),(52539,6),(52550,6),(52569,6),(52570,6),(52573,6),(52576,6),(52588,6),(52598,6),(52608,6),(52609,6),(52611,6),(52628,6),(52629,6),(52636,6),(52652,6),(52656,6),(52658,6),(52670,6),(52674,6),(52681,6),(52683,6),(52698,6),(52706,6),(52714,6),(52716,6),(52721,6),(52728,6),(52736,6),(52737,6),(52738,6),(52744,6),(52745,6),(52753,6),(52755,6),(52757,6),(52760,6),(52769,6),(52788,6),(52789,6),(52790,6),(52798,6),(52800,6),(52803,6),(52808,6),(52818,6),(52825,6),(52833,6),(52837,6),(52840,6),(52850,6),(52852,6),(52856,6),(52869,6),(52877,6),(52878,6),(52886,6),(52890,6),(52892,6),(52904,6),(52910,6),(52913,6),(52914,6),(52929,6),(52937,6),(52943,6),(52949,6),(52953,6),(52963,6),(52965,6),(52971,6),(52988,6),(53004,6),(53026,6),(53037,6),(53044,6),(53045,6),(53047,6),(53052,6),(53054,6),(53055,6),(53061,6),(53066,6),(53068,6),(53069,6),(53070,6),(53073,6),(53085,6),(53090,6),(53092,6),(53096,6),(53119,6),(53123,6),(53126,6),(53131,6),(53133,6),(53135,6),(53137,6),(53158,6),(53163,6),(53167,6),(53168,6),(53170,6),(53184,6),(53188,6),(53189,6),(53195,6),(53198,6),(53201,6),(53206,6),(53208,6),(53211,6),(53213,6),(53214,6),(53217,6),(53220,6),(53246,6),(53260,6),(53265,6),(53275,6),(53278,6),(53281,6),(53288,6),(53301,6),(53315,6),(53322,6),(53327,6),(53332,6),(53343,6),(53344,6),(53346,6),(53353,6),(53357,6),(53358,6),(53363,6),(53372,6),(53374,6),(53377,6),(53389,6),(53390,6),(53397,6),(53401,6),(53428,6),(53436,6),(53439,6),(53443,6),(53451,6),(53476,6),(53486,6),(53492,6),(53500,6),(53508,6),(53511,6),(53515,6),(53518,6),(53523,6),(53526,6),(53531,6),(53535,6),(53536,6),(53540,6),(53546,6),(53551,6),(53556,6),(53559,6),(53565,6),(53567,6),(53589,6),(53601,6),(53602,6),(53605,6),(53606,6),(53613,6),(53626,6),(53640,6),(53642,6),(53648,6),(53649,6),(53656,6),(53657,6),(53659,6),(53660,6),(53661,6),(53662,6),(53665,6),(53677,6),(53681,6),(53682,6),(53689,6),(53693,6),(53694,6),(53697,6),(53704,6),(53711,6),(53714,6),(53716,6),(53721,6),(53722,6),(53725,6),(53750,6),(53753,6),(53761,6),(53763,6),(53765,6),(53770,6),(53782,6),(53787,6),(53791,6),(53805,6),(53811,6),(53820,6),(53829,6),(53839,6),(53840,6),(53844,6),(53855,6),(53859,6),(53862,6),(53864,6),(53867,6),(53875,6),(53880,6),(53881,6),(53897,6),(53901,6),(53921,6),(53929,6),(53932,6),(53937,6),(53957,6),(53958,6),(53962,6),(53965,6),(53966,6),(53967,6),(53977,6),(53980,6),(53991,6),(53992,6),(53995,6),(54000,6),(54006,6),(54008,6),(54013,6),(54030,6),(54034,6),(54039,6),(54050,6),(54052,6),(54054,6),(54064,6),(54084,6),(54085,6),(54090,6),(54093,6),(54096,6),(54102,6),(54114,6),(54115,6),(54117,6),(54136,6),(54142,6),(54143,6),(54161,6),(54164,6),(54167,6),(54169,6),(54182,6),(54183,6),(54185,6),(54186,6),(54189,6),(54197,6),(54198,6),(54209,6),(54219,6),(54224,6),(54227,6),(54236,6),(54240,6),(54260,6),(54271,6),(54277,6),(54283,6),(54310,6),(54311,6),(54318,6),(54319,6),(54326,6),(54332,6),(54333,6),(54336,6),(54351,6),(54354,6),(54362,6),(54369,6),(54371,6),(54372,6),(54375,6),(54377,6),(54383,6),(54385,6),(54386,6),(54399,6),(54417,6),(54423,6),(54428,6),(54431,6),(54433,6),(54434,6),(54450,6),(54458,6),(54463,6),(54470,6),(54475,6),(54476,6),(54477,6),(54478,6),(54479,6),(54488,6),(54492,6),(54497,6),(54498,6),(54500,6),(54507,6),(54508,6),(54521,6),(54525,6),(54530,6),(54545,6),(54549,6),(54560,6),(54566,6),(54570,6),(54571,6),(54576,6),(54590,6),(54591,6),(54602,6),(54603,6),(54605,6),(54607,6),(54612,6),(54614,6),(54617,6),(54618,6),(54619,6),(54622,6),(54628,6),(54635,6),(54641,6),(54644,6),(54653,6),(54656,6),(54667,6),(54670,6),(54682,6),(54683,6),(54688,6),(54690,6),(54691,6),(54694,6),(54711,6),(54713,6),(54734,6),(54755,6),(54756,6),(54766,6),(54782,6),(54801,6),(54804,6),(54818,6),(54838,6),(54843,6),(54846,6),(54852,6),(54864,6),(54871,6),(54874,6),(54876,6),(54884,6),(54896,6),(54899,6),(54905,6),(54907,6),(54913,6),(54916,6),(54924,6),(54928,6),(54929,6),(54930,6),(54937,6),(54938,6),(54951,6),(54954,6),(54964,6),(54966,6),(54972,6),(54986,6),(54988,6),(54991,6),(54995,6),(54999,6),(55007,6),(55016,6),(55032,6),(55037,6),(55051,6),(55053,6),(55057,6),(55076,6),(55078,6),(55079,6),(55085,6),(55101,6),(55106,6),(55107,6),(55127,6),(55131,6),(55135,6),(55136,6),(55137,6),(55141,6),(55150,6),(55154,6),(55156,6),(55161,6),(55168,6),(55169,6),(55183,6),(55187,6),(55197,6),(55201,6),(55210,6),(55212,6),(55220,6),(55221,6),(55235,6),(55236,6),(55254,6),(55261,6),(55265,6),(55268,6),(55269,6),(55270,6),(55271,6),(55272,6),(55279,6),(55288,6),(55313,6),(55318,6),(55327,6),(55328,6),(55341,6),(55347,6),(55351,6),(55353,6),(55364,6),(55367,6),(55374,6),(55376,6),(55384,6),(55391,6),(55392,6),(55398,6),(55404,6),(55406,6),(55412,6),(55415,6),(55422,6),(55426,6),(55430,6),(55439,6),(55440,6),(55447,6),(55448,6),(55480,6),(55481,6),(55482,6),(55490,6),(55492,6),(55510,6),(55512,6),(55517,6),(55521,6),(55531,6),(55535,6),(55562,6),(55571,6),(55576,6),(55597,6),(55606,6),(55608,6),(55618,6),(55624,6),(55627,6),(55637,6),(55647,6),(55652,6),(55661,6),(55665,6),(55681,6),(55691,6),(55701,6),(55706,6),(55713,6),(55723,6),(55725,6),(55731,6),(55734,6),(55737,6),(55741,6),(55745,6),(55750,6),(55751,6),(55756,6),(55760,6),(55761,6),(55762,6),(55763,6),(55769,6),(55783,6),(55787,6),(55796,6),(55799,6),(55801,6),(55807,6),(55810,6),(55839,6),(55866,6),(55867,6),(55868,6),(55872,6),(55873,6),(55874,6),(55877,6),(55880,6),(55884,6),(55885,6),(55888,6),(55893,6),(55897,6),(55902,6),(55904,6),(55913,6),(55923,6),(55929,6),(55938,6),(55942,6),(55944,6),(55947,6),(55952,6),(55963,6),(55976,6),(55982,6),(55983,6),(55985,6),(55987,6),(55994,6),(55996,6),(56006,6),(56010,6),(56015,6),(56016,6),(56023,6),(56032,6),(56037,6),(56046,6),(56050,6),(56054,6),(56056,6),(56063,6),(56065,6),(56077,6),(56078,6),(56079,6),(56092,6),(56097,6),(56108,6),(56113,6),(56115,6),(56117,6),(56121,6),(56123,6),(56134,6),(56148,6),(56151,6),(56158,6),(56163,6),(56174,6),(56177,6),(56186,6),(56187,6),(56194,6),(56199,6),(56202,6),(56204,6),(56205,6),(56213,6),(56219,6),(56228,6),(56229,6),(56241,6),(56244,6),(56251,6),(56261,6),(56265,6),(56268,6),(56272,6),(56282,6),(56290,6),(56298,6),(56306,6),(56311,6),(56316,6),(56320,6),(56323,6),(56327,6),(56328,6),(56357,6),(56358,6),(56365,6),(56370,6),(56383,6),(56386,6),(56399,6),(56407,6),(56412,6),(56413,6),(56416,6),(56425,6),(56429,6),(56430,6),(56432,6),(56436,6),(56446,6),(56452,6),(56455,6),(56460,6),(56466,6),(56470,6),(56474,6),(56488,6),(56494,6),(56499,6),(56523,6),(56524,6),(56528,6),(56541,6),(56545,6),(56549,6),(56555,6),(56561,6),(56562,6),(56565,6),(56575,6),(56578,6),(56580,6),(56582,6),(56585,6),(56589,6),(56592,6),(56595,6),(56602,6),(56616,6),(56617,6),(56619,6),(56626,6),(56638,6),(56640,6),(56647,6),(56654,6),(56658,6),(56677,6),(56683,6),(56687,6),(56688,6),(56695,6),(56699,6),(56702,6),(56705,6),(56722,6),(56725,6),(56730,6),(56733,6),(56734,6),(56735,6),(56759,6),(56764,6),(56766,6),(56771,6),(56788,6),(56790,6),(56795,6),(56806,6),(56822,6),(56824,6),(56829,6),(56843,6),(56846,6),(56847,6),(56874,6),(56875,6),(56878,6),(56880,6),(56882,6),(56885,6),(56896,6),(56897,6),(56899,6),(56907,6),(56910,6),(56912,6),(56920,6),(56921,6),(56926,6),(56927,6),(56930,6),(56931,6),(56934,6),(56938,6),(56950,6),(56951,6),(56955,6),(56958,6),(56963,6),(56975,6),(56976,6),(56979,6),(56986,6),(57001,6),(57004,6),(57012,6),(57030,6),(57032,6),(57036,6),(57041,6),(57052,6),(57053,6),(57055,6),(57060,6),(57069,6),(57080,6),(57087,6),(57089,6),(57096,6),(57100,6),(57105,6),(57106,6),(57117,6),(57120,6),(57122,6),(57127,6),(57133,6),(57136,6),(57141,6),(57142,6),(57144,6),(57146,6),(57163,6),(57167,6),(57170,6),(57183,6),(57184,6),(57185,6),(57186,6),(57189,6),(57191,6),(57192,6),(57210,6),(57214,6),(57229,6),(57235,6),(57246,6),(57256,6),(57262,6),(57267,6),(57271,6),(57275,6),(57289,6),(57298,6),(57313,6),(57315,6),(57321,6),(57324,6),(57326,6),(57329,6),(57354,6),(57355,6),(57356,6),(57362,6),(57369,6),(57372,6),(57374,6),(57379,6),(57397,6),(57399,6),(57401,6),(57406,6),(57416,6),(57417,6),(57418,6),(57423,6),(57437,6),(57445,6),(57458,6),(57461,6),(57463,6),(57480,6),(57481,6),(57487,6),(57491,6),(57496,6),(57516,6),(57518,6),(57524,6),(57529,6),(57534,6),(57538,6),(57544,6),(57553,6),(57557,6),(57560,6),(57561,6),(57570,6),(57576,6),(57588,6),(57593,6),(57594,6),(57595,6),(57606,6),(57611,6),(57614,6),(57625,6),(57628,6),(57631,6),(57633,6),(57644,6),(57648,6),(57651,6),(57656,6),(57660,6),(57676,6),(57678,6),(57681,6),(57683,6),(57692,6),(57699,6),(57704,6),(57725,6),(57727,6),(57736,6),(57742,6),(57759,6),(57762,6),(57766,6),(57769,6),(57770,6),(57773,6),(57776,6),(57781,6),(57785,6),(57789,6),(57794,6),(57803,6),(57806,6),(57808,6),(57809,6),(57810,6),(57811,6),(57815,6),(57817,6),(57831,6),(57836,6),(57838,6),(57845,6),(57852,6),(57854,6),(57867,6),(57874,6),(57889,6),(57896,6),(57901,6),(57908,6),(57913,6),(57914,6),(57917,6),(57920,6),(57922,6),(57924,6),(57925,6),(57937,6),(57938,6),(57942,6),(57948,6),(57961,6),(57964,6),(57976,6),(57982,6),(57983,6),(57992,6),(57998,6),(58003,6),(58007,6),(58013,6),(58020,6),(58023,6),(58024,6),(58025,6),(58030,6),(58033,6),(58039,6),(58041,6),(58043,6),(58051,6),(58052,6),(58053,6),(58055,6),(58056,6),(58068,6),(58069,6),(58071,6),(58077,6),(58089,6),(58097,6),(58100,6),(58106,6),(58108,6),(58109,6),(58116,6),(58124,6),(58126,6),(58136,6),(58144,6),(58145,6),(58146,6),(58150,6),(58153,6),(58157,6),(58174,6),(58178,6),(58182,6),(58188,6),(58192,6),(58201,6),(58204,6),(58207,6),(58208,6),(58214,6),(58217,6),(58229,6),(58237,6),(58241,6),(58242,6),(58243,6),(58246,6),(58252,6),(58276,6),(58280,6),(58284,6),(58297,6),(58306,6),(58308,6),(58314,6),(58322,6),(58324,6),(58333,6),(58338,6),(58354,6),(58356,6),(58359,6),(58361,6),(58366,6),(58367,6),(58374,6),(58378,6),(58379,6),(58389,6),(58395,6),(58402,6),(58403,6),(58413,6),(58423,6),(58426,6),(58434,6),(58443,6),(58444,6),(58445,6),(58448,6),(58451,6),(58456,6),(58473,6),(58479,6),(58483,6),(58492,6),(58505,6),(58519,6),(58523,6),(58531,6),(58534,6),(58535,6),(58544,6),(58552,6),(58558,6),(58559,6),(58585,6),(58586,6),(58589,6),(58592,6),(58601,6),(58604,6),(58606,6),(58608,6),(58609,6),(58611,6),(58621,6),(58625,6),(58627,6),(58628,6),(58630,6),(58635,6),(58641,6),(58642,6),(58646,6),(58647,6),(58674,6),(58682,6),(58687,6),(58688,6),(58691,6),(58702,6),(58706,6),(58728,6),(58729,6),(58736,6),(58740,6),(58754,6),(58758,6),(58761,6),(58775,6),(58780,6),(58789,6),(58793,6),(58794,6),(58798,6),(58799,6),(58803,6),(58813,6),(58816,6),(58817,6),(58824,6),(58830,6),(58836,6),(58847,6),(58851,6),(58856,6),(58857,6),(58865,6),(58879,6),(58880,6),(58882,6),(58887,6),(58892,6),(58909,6),(58923,6),(58930,6),(58931,6),(58943,6),(58955,6),(58957,6),(58959,6),(58961,6),(58965,6),(58968,6),(58969,6),(58979,6),(58983,6),(58987,6),(58999,6),(59002,6),(59008,6),(59010,6),(59013,6),(59015,6),(59016,6),(59018,6),(59023,6),(59033,6),(59053,6),(59065,6),(59066,6),(59071,6),(59075,6),(59093,6),(59102,6),(59111,6),(59127,6),(59133,6),(59138,6),(59151,6),(59156,6),(59157,6),(59160,6),(59161,6),(59166,6),(59174,6),(59183,6),(59191,6),(59201,6),(59206,6),(59207,6),(59208,6),(59220,6),(59232,6),(59240,6),(59243,6),(59245,6),(59267,6),(59275,6),(59276,6),(59279,6),(59283,6),(59292,6),(59294,6),(59295,6),(59296,6),(59305,6),(59307,6),(59320,6),(59327,6),(59333,6),(59334,6),(59335,6),(59337,6),(59338,6),(59342,6),(59347,6),(59351,6),(59356,6),(59358,6),(59364,6),(59376,6),(59377,6),(59380,6),(59395,6),(59414,6),(59417,6),(59418,6),(59421,6),(59425,6),(59428,6),(59429,6),(59435,6),(59440,6),(59444,6),(59451,6),(59463,6),(59469,6),(59472,6),(59476,6),(59486,6),(59487,6),(59490,6),(59493,6),(59495,6),(59501,6),(59509,6),(59512,6),(59515,6),(59517,6),(59531,6),(59536,6),(59537,6),(59539,6),(59551,6),(59554,6),(59555,6),(59560,6),(59583,6),(59586,6),(59594,6),(59599,6),(59608,6),(59611,6),(59618,6),(59623,6),(59628,6),(59630,6),(59652,6),(59658,6),(59661,6),(59667,6),(59669,6),(59671,6),(59678,6),(59681,6),(59696,6),(59698,6),(59708,6),(59709,6),(59711,6),(59722,6),(59728,6),(59744,6),(59751,6),(59752,6),(59758,6),(59767,6),(59774,6),(59786,6),(59795,6),(59812,6),(59820,6),(59841,6),(59847,6),(59849,6),(59854,6),(59866,6),(59873,6),(59877,6),(59884,6),(59885,6),(59895,6),(59898,6),(59901,6),(59907,6),(59908,6),(59914,6),(59917,6),(59919,6),(59921,6),(59922,6),(59923,6),(59935,6),(59940,6),(59941,6),(59944,6),(59957,6),(59961,6),(59968,6),(59973,6),(59985,6),(59995,6),(59999,6),(60008,6),(60009,6),(60010,6),(60013,6),(60022,6),(60023,6),(60024,6),(60025,6),(60035,6),(60036,6),(60049,6),(60051,6),(60052,6),(60065,6),(60066,6),(60089,6),(60102,6),(60105,6),(60107,6),(60120,6),(60125,6),(60130,6),(60134,6),(60135,6),(60138,6),(60143,6),(60144,6),(60146,6),(60151,6),(60155,6),(60160,6),(60163,6),(60164,6),(60165,6),(60166,6),(60167,6),(60170,6),(60175,6),(60186,6),(60190,6),(60194,6),(60200,6),(60201,6),(60210,6),(60215,6),(60227,6),(60248,6),(60263,6),(60268,6),(60273,6),(60280,6),(60281,6),(60306,6),(60310,6),(60311,6),(60312,6),(60315,6),(60316,6),(60337,6),(60339,6),(60342,6),(60359,6),(60367,6),(60375,6),(60376,6),(60379,6),(60380,6),(60385,6),(60393,6),(60394,6),(60399,6),(60400,6),(60406,6),(60412,6),(60415,6),(60421,6),(60429,6),(60431,6),(60432,6),(60433,6),(60438,6),(60441,6),(60446,6),(60450,6),(60453,6),(60458,6),(60462,6),(60470,6),(60498,6),(60502,6),(60513,6),(60528,6),(60530,6),(60532,6),(60533,6),(60534,6),(60548,6),(60549,6),(60561,6),(60566,6),(60573,6),(60576,6),(60579,6),(60586,6),(60602,6),(60603,6),(60607,6),(60610,6),(60633,6),(60637,6),(60639,6),(60642,6),(60643,6),(60644,6),(60646,6),(60655,6),(60657,6),(60671,6),(60673,6),(60677,6),(60680,6),(60684,6),(60687,6),(60688,6),(60691,6),(60692,6),(60695,6),(60705,6),(60707,6),(60709,6),(60713,6),(60718,6),(60721,6),(60733,6),(60734,6),(60742,6),(60748,6),(60754,6),(60762,6),(60773,6),(60789,6),(60793,6),(60797,6),(60802,6),(60817,6),(60820,6),(60839,6),(60842,6),(60846,6),(60853,6),(60860,6),(60861,6),(60876,6),(60880,6),(60882,6),(60889,6),(60900,6),(60907,6),(60908,6),(60916,6),(60918,6),(60923,6),(60928,6),(60936,6),(60945,6),(60950,6),(60956,6),(60963,6),(60983,6),(60993,6),(60995,6),(60998,6),(61016,6),(61018,6),(61021,6),(61022,6),(61038,6),(61042,6),(61060,6),(61074,6),(61081,6),(61084,6),(61085,6),(61092,6),(61100,6),(61106,6),(61111,6),(61117,6),(61121,6),(61137,6),(61140,6),(61154,6),(61173,6),(61189,6),(61193,6),(61197,6),(61198,6),(61202,6),(61207,6),(61219,6),(61220,6),(61229,6),(61247,6),(61251,6),(61252,6),(61254,6),(61263,6),(61265,6),(61266,6),(61267,6),(61271,6),(61277,6),(61278,6),(61282,6),(61287,6),(61290,6),(61291,6),(61293,6),(61295,6),(61302,6),(61306,6),(61316,6),(61321,6),(61325,6),(61327,6),(61329,6),(61330,6),(61335,6),(61342,6),(61346,6),(61348,6),(61357,6),(61365,6),(61371,6),(61380,6),(61384,6),(61389,6),(61391,6),(61404,6),(61405,6),(61408,6),(61415,6),(61416,6),(61420,6),(61422,6),(61432,6),(61433,6),(61434,6),(61435,6),(61444,6),(61447,6),(61452,6),(61453,6),(61454,6),(61455,6),(61465,6),(61470,6),(61477,6),(61481,6),(61483,6),(61494,6),(61497,6),(61502,6),(61514,6),(61519,6),(61520,6),(61528,6),(61529,6),(61537,6),(61553,6),(61559,6),(61562,6),(61573,6),(61576,6),(61577,6),(61588,6),(61589,6),(61592,6),(61595,6),(61605,6),(61608,6),(61613,6),(61617,6),(61620,6),(61623,6),(61628,6),(61631,6),(61638,6),(61643,6),(61645,6),(61646,6),(61650,6),(61651,6),(61656,6),(61659,6),(61667,6),(61687,6),(61691,6),(61693,6),(61701,6),(61703,6),(61723,6),(61728,6),(61730,6),(61733,6),(61739,6),(61750,6),(61752,6),(61757,6),(61759,6),(61760,6),(61767,6),(61774,6),(61778,6),(61785,6),(61789,6),(61791,6),(61810,6),(61824,6),(61825,6),(61834,6),(61838,6),(61839,6),(61840,6),(61852,6),(61867,6),(61882,6),(61894,6),(61897,6),(61898,6),(61902,6),(61904,6),(61907,6),(61908,6),(61911,6),(61916,6),(61917,6),(61930,6),(61939,6),(61946,6),(61947,6),(61953,6),(61958,6),(61972,6),(61974,6),(61975,6),(61978,6),(61979,6),(61981,6),(62012,6),(62016,6),(62018,6),(62020,6),(62026,6),(62037,6),(62041,6),(62043,6),(62051,6),(62053,6),(62054,6),(62076,6),(62079,6),(62080,6),(62089,6),(62093,6),(62097,6),(62098,6),(62111,6),(62117,6),(62124,6),(62163,6),(62168,6),(62172,6),(62178,6),(62196,6),(62207,6),(62209,6),(62212,6),(62227,6),(62229,6),(62239,6),(62243,6),(62244,6),(62246,6),(62248,6),(62252,6),(62271,6),(62274,6),(62277,6),(62280,6),(62290,6),(62294,6),(62323,6),(62329,6),(62330,6),(62332,6),(62361,6),(62364,6),(62365,6),(62369,6),(62384,6),(62386,6),(62389,6),(62419,6),(62425,6),(62429,6),(62445,6),(62446,6),(62453,6),(62461,6),(62463,6),(62476,6),(62482,6),(62486,6),(62493,6),(62503,6),(62531,6),(62533,6),(62537,6),(62547,6),(62554,6),(62555,6),(62561,6),(62564,6),(62567,6),(62569,6),(62570,6),(62577,6),(62578,6),(62581,6),(62582,6),(62588,6),(62597,6),(62604,6),(62605,6),(62610,6),(62619,6),(62620,6),(62626,6),(62633,6),(62641,6),(62643,6),(62663,6),(62664,6),(62666,6),(62673,6),(62679,6),(62682,6),(62685,6),(62696,6),(62706,6),(62721,6),(62733,6),(62744,6),(62746,6),(62755,6),(62756,6),(62768,6),(62771,6),(62773,6),(62781,6),(62790,6),(62791,6),(62793,6),(62801,6),(62803,6),(62833,6),(62834,6),(62840,6),(62844,6),(62847,6),(62859,6),(62862,6),(62868,6),(62870,6),(62872,6),(62878,6),(62890,6),(62891,6),(62899,6),(62905,6),(62924,6),(62928,6),(62940,6),(62941,6),(62944,6),(62945,6),(62955,6),(62958,6),(62960,6),(62961,6),(62978,6),(62987,6),(62989,6),(62991,6),(62993,6),(62997,6),(63012,6),(63014,6),(63020,6),(63027,6),(63028,6),(63030,6),(63035,6),(63042,6),(63059,6),(63063,6),(63067,6),(63071,6),(63075,6),(63079,6),(63082,6),(63087,6),(63090,6),(63096,6),(63104,6),(63108,6),(63114,6),(63127,6),(63128,6),(63135,6),(63140,6),(63144,6),(63173,6),(63174,6),(63180,6),(63181,6),(63184,6),(63189,6),(63192,6),(63202,6),(63207,6),(63211,6),(63224,6),(63226,6),(63232,6),(63235,6),(63237,6),(63242,6),(63253,6),(63256,6),(63265,6),(63267,6),(63278,6),(63294,6),(63295,6),(63301,6),(63306,6),(63310,6),(63324,6),(63329,6),(63332,6),(63336,6),(63341,6),(63345,6),(63348,6),(63350,6),(63359,6),(63384,6),(63391,6),(63395,6),(63405,6),(63433,6),(63445,6),(63446,6),(63456,6),(63457,6),(63460,6),(63467,6),(63469,6),(63475,6),(63493,6),(63494,6),(63499,6),(63501,6),(63503,6),(63506,6),(63512,6),(63515,6),(63516,6),(63517,6),(63519,6),(63524,6),(63534,6),(63545,6),(63554,6),(63559,6),(63561,6),(63563,6),(63569,6),(63573,6),(63574,6),(63582,6),(63587,6),(63598,6),(63609,6),(63611,6),(63612,6),(63622,6),(63623,6),(63626,6),(63628,6),(63632,6),(63635,6),(63647,6),(63665,6),(63668,6),(63674,6),(63676,6),(63679,6),(63685,6),(63699,6),(63701,6),(63703,6),(63706,6),(63714,6),(63720,6),(63725,6),(63729,6),(63738,6),(63766,6),(63768,6),(63772,6),(63781,6),(63792,6),(63794,6),(63799,6),(63801,6),(63812,6),(63815,6),(63817,6),(63818,6),(63829,6),(63833,6),(63838,6),(63847,6),(63848,6),(63854,6),(63855,6),(63860,6),(63875,6),(63889,6),(63890,6),(63891,6),(63897,6),(63904,6),(63909,6),(63911,6),(63912,6),(63913,6),(63914,6),(63916,6),(63920,6),(63929,6),(63930,6),(63938,6),(63944,6),(63947,6),(63951,6),(63954,6),(63956,6),(63958,6),(63969,6),(63972,6),(63974,6),(63975,6),(63978,6),(63983,6),(64000,6),(64004,6),(64007,6),(64012,6),(64015,6),(64018,6),(64025,6),(64028,6),(64031,6),(64038,6),(64039,6),(64040,6),(64043,6),(64045,6),(64055,6),(64072,6),(64082,6),(64083,6),(64090,6),(64093,6),(64097,6),(64104,6),(64123,6),(64127,6),(64134,6),(64140,6),(64150,6),(64152,6),(64153,6),(64160,6),(64174,6),(64178,6),(64184,6),(64193,6),(64196,6),(64199,6),(64200,6),(64226,6),(64230,6),(64234,6),(64246,6),(64255,6),(64260,6),(64262,6),(64265,6),(64267,6),(64272,6),(64274,6),(64281,6),(64286,6),(64292,6),(64293,6),(64313,6),(64327,6),(64336,6),(64337,6),(64339,6),(64340,6),(64341,6),(64344,6),(64349,6),(64369,6),(64370,6),(64372,6),(64374,6),(64379,6),(64381,6),(64382,6),(64385,6),(64386,6),(64387,6),(64389,6),(64399,6),(64404,6),(64411,6),(64417,6),(64421,6),(64422,6),(64427,6),(64436,6),(64438,6),(64439,6),(64444,6),(64455,6),(64465,6),(64474,6),(64475,6),(64482,6),(64485,6),(64496,6),(64502,6),(64508,6),(64511,6),(64525,6),(64528,6),(64539,6),(64556,6),(64569,6),(64572,6),(64574,6),(64587,6),(64591,6),(64597,6),(64599,6),(64600,6),(64602,6),(64607,6),(64616,6),(64617,6),(64622,6),(64625,6),(64631,6),(64638,6),(64640,6),(64645,6),(64656,6),(64664,6),(64672,6),(64675,6),(64687,6),(64692,6),(64697,6),(64701,6),(64709,6),(64710,6),(64711,6),(64715,6),(64721,6),(64722,6),(64731,6),(64732,6),(64766,6),(64767,6),(64768,6),(64772,6),(64774,6),(64784,6),(64801,6),(64808,6),(64814,6),(64827,6),(64847,6),(64850,6),(64854,6),(64856,6),(64860,6),(64865,6),(64866,6),(64870,6),(64872,6),(64879,6),(64887,6),(64894,6),(64902,6),(64905,6),(64920,6),(64921,6),(64924,6),(64925,6),(64928,6),(64930,6),(64936,6),(64939,6),(64970,6),(64974,6),(64987,6),(64989,6),(65008,6),(65017,6),(65024,6),(65034,6),(65038,6),(65052,6),(65059,6),(65065,6),(65082,6),(65087,6),(65095,6),(65102,6),(65133,6),(65137,6),(65142,6),(65143,6),(65145,6),(65154,6),(65156,6),(65161,6),(65168,6),(65172,6),(65176,6),(65181,6),(65185,6),(65188,6),(65189,6),(65191,6),(65194,6),(65195,6),(65198,6),(65199,6),(65201,6),(65219,6),(65223,6),(65226,6),(65227,6),(65229,6),(65231,6),(65236,6),(65237,6),(65238,6),(65242,6),(65248,6),(65277,6),(65279,6),(65280,6),(65281,6),(65284,6),(65289,6),(65295,6),(65304,6),(65307,6),(65310,6),(65311,6),(65315,6),(65317,6),(65318,6),(65321,6),(65331,6),(65340,6),(65342,6),(65345,6),(65350,6),(65374,6),(65381,6),(65388,6),(65389,6),(65394,6),(65395,6),(65399,6),(65400,6),(65401,6),(65403,6),(65409,6),(65414,6),(65417,6),(65422,6),(65429,6),(65433,6),(65439,6),(65453,6),(65463,6),(65466,6),(65478,6),(65484,6),(65488,6),(65515,6),(65530,6),(65533,6),(65540,6),(65543,6),(65555,6),(65560,6),(65562,6),(65570,6),(65571,6),(65591,6),(65595,6),(65598,6),(65599,6),(65610,6),(65614,6),(65622,6),(65626,6),(65637,6),(65655,6),(65671,6),(65678,6),(65685,6),(65686,6),(65689,6),(65694,6),(65704,6),(65705,6),(65712,6),(65713,6),(65714,6),(65719,6),(65722,6),(65726,6),(65733,6),(65742,6),(65750,6),(65751,6),(65755,6),(65760,6),(65762,6),(65766,6),(65769,6),(65774,6),(65776,6),(65789,6),(65793,6),(65800,6),(65804,6),(65817,6),(65818,6),(65822,6),(65831,6),(65844,6),(65850,6),(65853,6),(65854,6),(65873,6),(65875,6),(65876,6),(65908,6),(65910,6),(65915,6),(65922,6),(65926,6),(65940,6),(65946,6),(65956,6),(65958,6),(65959,6),(65973,6),(65977,6),(65982,6),(65989,6),(65996,6),(65999,6),(66007,6),(66011,6),(66028,6),(66030,6),(66033,6),(66034,6),(66042,6),(66050,6),(66052,6),(66055,6),(66072,6),(66074,6),(66080,6),(66087,6),(66098,6),(66100,6),(66101,6),(66102,6),(66108,6),(66114,6),(66115,6),(66116,6),(66131,6),(66132,6),(66135,6),(66136,6),(66140,6),(66144,6),(66145,6),(66147,6),(66149,6),(66151,6),(66156,6),(66162,6),(66164,6),(66167,6),(66171,6),(66174,6),(66182,6),(66184,6),(66185,6),(66186,6),(66195,6),(66201,6),(66208,6),(66210,6),(66214,6),(66227,6),(66229,6),(66230,6),(66244,6),(66249,6),(66251,6),(66254,6),(66257,6),(66262,6),(66266,6),(66283,6),(66290,6),(66292,6),(66293,6),(66305,6),(66310,6),(66312,6),(66325,6),(66329,6),(66341,6),(66344,6),(66345,6),(66352,6),(66359,6),(66363,6),(66369,6),(66383,6),(66384,6),(66385,6),(66391,6),(66399,6),(66412,6),(66427,6),(66431,6),(66437,6),(66442,6),(66443,6),(66444,6),(66445,6),(66452,6),(66455,6),(66472,6),(66477,6),(66500,6),(66511,6),(66520,6),(66523,6),(66525,6),(66527,6),(66534,6),(66541,6),(66545,6),(66560,6),(66564,6),(66566,6),(66574,6),(66579,6),(66598,6),(66637,6),(66640,6),(66654,6),(66656,6),(66658,6),(66672,6),(66678,6),(66685,6),(66690,6),(66692,6),(66698,6),(66699,6),(66700,6),(66704,6),(66711,6),(66721,6),(66726,6),(66729,6),(66730,6),(66735,6),(66736,6),(66738,6),(66743,6),(66748,6),(66753,6),(66756,6),(66760,6),(66761,6),(66762,6),(66763,6),(66764,6),(66770,6),(66772,6),(66805,6),(66806,6),(66807,6),(66815,6),(66821,6),(66823,6),(66835,6),(66836,6),(66837,6),(66845,6),(66848,6),(66850,6),(66854,6),(66857,6),(66866,6),(66875,6),(66877,6),(66880,6),(66883,6),(66885,6),(66893,6),(66904,6),(66906,6),(66910,6),(66919,6),(66932,6),(66933,6),(66939,6),(66945,6),(66949,6),(66967,6),(66991,6),(66997,6),(67001,6),(67009,6),(67013,6),(67015,6),(67019,6),(67023,6),(67025,6),(67029,6),(67037,6),(67049,6),(67058,6),(67072,6),(67075,6),(67083,6),(67084,6),(67086,6),(67087,6),(67103,6),(67106,6),(67108,6),(67112,6),(67117,6),(67118,6),(67121,6),(67169,6),(67172,6),(67173,6),(67174,6),(67175,6),(67177,6),(67182,6),(67190,6),(67206,6),(67209,6),(67213,6),(67218,6),(67225,6),(67236,6),(67239,6),(67251,6),(67255,6),(67258,6),(67261,6),(67262,6),(67264,6),(67265,6),(67266,6),(67267,6),(67268,6),(67270,6),(67275,6),(67277,6),(67284,6),(67287,6),(67290,6),(67293,6),(67307,6),(67314,6),(67315,6),(67324,6),(67327,6),(67337,6),(67345,6),(67352,6),(67360,6),(67362,6),(67366,6),(67372,6),(67383,6),(67390,6),(67408,6),(67409,6),(67422,6),(67425,6),(67455,6),(67459,6),(67468,6),(67469,6),(67486,6),(67494,6),(67497,6),(67540,6),(67546,6),(67575,6),(67576,6),(67589,6),(67603,6),(67606,6),(67622,6),(67627,6),(67643,6),(67645,6),(67651,6),(67653,6),(67657,6),(67663,6),(67694,6),(67700,6),(67703,6),(67704,6),(67709,6),(67710,6),(67722,6),(67732,6),(67742,6),(67748,6),(67751,6),(67753,6),(67754,6),(67756,6),(67761,6),(67764,6),(67770,6),(67776,6),(67794,6),(67795,6),(67796,6),(67801,6),(67805,6),(67814,6),(67837,6),(67842,6),(67852,6),(67853,6),(67857,6),(67858,6),(67862,6),(67863,6),(67870,6),(67873,6),(67876,6),(67878,6),(67883,6),(67884,6),(67892,6),(67898,6),(67899,6),(67900,6),(67910,6),(67913,6),(67919,6),(67920,6),(67924,6),(67928,6),(67931,6),(67939,6),(67945,6),(67952,6),(67957,6),(67960,6),(67962,6),(67982,6),(67986,6),(68001,6),(68004,6),(68015,6),(68030,6),(68032,6),(68035,6),(68038,6),(68041,6),(68042,6),(68046,6),(68050,6),(68051,6),(68059,6),(68063,6),(68069,6),(68072,6),(68073,6),(68078,6),(68087,6),(68092,6),(68096,6),(68108,6),(68119,6),(68120,6),(68128,6),(68134,6),(68145,6),(68150,6),(68152,6),(68170,6),(68173,6),(68176,6),(68186,6),(68189,6),(68203,6),(68213,6),(68218,6),(68222,6),(68225,6),(68227,6),(68231,6),(68236,6),(68248,6),(68251,6),(68256,6),(68266,6),(68281,6),(68282,6),(68288,6),(68294,6),(68296,6),(68297,6),(68298,6),(68301,6),(68307,6),(68318,6),(68323,6),(68326,6),(68336,6),(68338,6),(68340,6),(68344,6),(68349,6),(68350,6),(68351,6),(68352,6),(68356,6),(68368,6),(68376,6),(68378,6),(68383,6),(68396,6),(68398,6),(68401,6),(68404,6),(68410,6),(68411,6),(68413,6),(68419,6),(68428,6),(68436,6),(68452,6),(68453,6),(68458,6),(68464,6),(68477,6),(68482,6),(68483,6),(68490,6),(68491,6),(68503,6),(68505,6),(68510,6),(68512,6),(68513,6),(68514,6),(68515,6),(68532,6),(68535,6),(68541,6),(68543,6),(68554,6),(68555,6),(68560,6),(68562,6),(68563,6),(68566,6),(68577,6),(68581,6),(68593,6),(68599,6),(68607,6),(68625,6),(68628,6),(68634,6),(68638,6),(68641,6),(68644,6),(68654,6),(68657,6),(68660,6),(68666,6),(68668,6),(68669,6),(68673,6),(68683,6),(68686,6),(68688,6),(68691,6),(68694,6),(68697,6),(68700,6),(68704,6),(68705,6),(68706,6),(68707,6),(68711,6),(68713,6),(68725,6),(68726,6),(68754,6),(68760,6),(68775,6),(68784,6),(68786,6),(68787,6),(68793,6),(68802,6),(68803,6),(68806,6),(68812,6),(68813,6),(68816,6),(68829,6),(68831,6),(68833,6),(68834,6),(68839,6),(68845,6),(68847,6),(68848,6),(68851,6),(68854,6),(68857,6),(68861,6),(68862,6),(68864,6),(68865,6),(68868,6),(68874,6),(68880,6),(68887,6),(68892,6),(68899,6),(68904,6),(68906,6),(68917,6),(68919,6),(68951,6),(68954,6),(68956,6),(68963,6),(68972,6),(68978,6),(68982,6),(68984,6),(68993,6),(68997,6),(69000,6),(69008,6),(69010,6),(69015,6),(69017,6),(69021,6),(69028,6),(69029,6),(69038,6),(69039,6),(69040,6),(69046,6),(69048,6),(69050,6),(69051,6),(69056,6),(69057,6),(69059,6),(69062,6),(69065,6),(69075,6),(69082,6),(69090,6),(69099,6),(69101,6),(69111,6),(69113,6),(69114,6),(69121,6),(69127,6),(69139,6),(69146,6),(69153,6),(69157,6),(69163,6),(69192,6),(69193,6),(69194,6),(69195,6),(69197,6),(69202,6),(69205,6),(69215,6),(69223,6),(69228,6),(69230,6),(69233,6),(69235,6),(69244,6),(69253,6),(69255,6),(69257,6),(69265,6),(69267,6),(69273,6),(69279,6),(69285,6),(69286,6),(69287,6),(69290,6),(69307,6),(69331,6),(69334,6),(69335,6),(69336,6),(69339,6),(69342,6),(69350,6),(69352,6),(69361,6),(69364,6),(69383,6),(69386,6),(69388,6),(69389,6),(69393,6),(69401,6),(69406,6),(69410,6),(69435,6),(69438,6),(69445,6),(69447,6),(69460,6),(69483,6),(69485,6),(69497,6),(69499,6),(69500,6),(69503,6),(69507,6),(69508,6),(69519,6),(69522,6),(69524,6),(69528,6),(69530,6),(69537,6),(69538,6),(69542,6),(69544,6),(69556,6),(69558,6),(69588,6),(69590,6),(69612,6),(69614,6),(69622,6),(69635,6),(69636,6),(69643,6),(69648,6),(69650,6),(69681,6),(69698,6),(69699,6),(69700,6),(69702,6),(69713,6),(69721,6),(69724,6),(69728,6),(69740,6),(69749,6),(69753,6),(69754,6),(69762,6),(69766,6),(69769,6),(69774,6),(69782,6),(69789,6),(69794,6),(69799,6),(69806,6),(69813,6),(69825,6),(69830,6),(69845,6),(69850,6),(69853,6),(69857,6),(69858,6),(69859,6),(69860,6),(69861,6),(69874,6),(69879,6),(69894,6),(69900,6),(69902,6),(69903,6),(69915,6),(69925,6),(69934,6),(69941,6),(69943,6),(69948,6),(69954,6),(69960,6),(69967,6),(69974,6),(69980,6),(69986,6),(69994,6),(70007,6),(70016,6),(70021,6),(70022,6),(70023,6),(70025,6),(70032,6),(70051,6),(70060,6),(70062,6),(70068,6),(70073,6),(70076,6),(70077,6),(70084,6),(70096,6),(70098,6),(70105,6),(70111,6),(70128,6),(70140,6),(70153,6),(70181,6),(70186,6),(70189,6),(70190,6),(70193,6),(70194,6),(70200,6),(70202,6),(70207,6),(70208,6),(70210,6),(70213,6),(70230,6),(70244,6),(70246,6),(70247,6),(70256,6),(70258,6),(70287,6),(70294,6),(70299,6),(70305,6),(70310,6),(70313,6),(70315,6),(70332,6),(70340,6),(70341,6),(70351,6),(70352,6),(70355,6),(70356,6),(70363,6),(70377,6),(70387,6),(70396,6),(70402,6),(70403,6),(70404,6),(70406,6),(70416,6),(70423,6),(70429,6),(70430,6),(70433,6),(70442,6),(70451,6),(70463,6),(70467,6),(70468,6),(70481,6),(70484,6),(70487,6),(70496,6),(70499,6),(70504,6),(70508,6),(70523,6),(70529,6),(70530,6),(70531,6),(70534,6),(70546,6),(70550,6),(70553,6),(70554,6),(70556,6),(70568,6),(70572,6),(70573,6),(70575,6),(70576,6),(70580,6),(70584,6),(70594,6),(70595,6),(70596,6),(70601,6),(70602,6),(70607,6),(70610,6),(70622,6),(70625,6),(70628,6),(70637,6),(70647,6),(70648,6),(70652,6),(70664,6),(70675,6),(70684,6),(70688,6),(70691,6),(70699,6),(70702,6),(70705,6),(70709,6),(70710,6),(70718,6),(70722,6),(70726,6),(70729,6),(70733,6),(70744,6),(70751,6),(70755,6),(70756,6),(70780,6),(70781,6),(70791,6),(70801,6),(70802,6),(70818,6),(70822,6),(70825,6),(70834,6),(70842,6),(70843,6),(70847,6),(70848,6),(70865,6),(70873,6),(70885,6),(70892,6),(70902,6),(70904,6),(70905,6),(70909,6),(70912,6),(70916,6),(70920,6),(70924,6),(70928,6),(70929,6),(70941,6),(70949,6),(70956,6),(70957,6),(70960,6),(70967,6),(70979,6),(70981,6),(70986,6),(70988,6),(70990,6),(70997,6),(71000,6),(71005,6),(71013,6),(71028,6),(71036,6),(71039,6),(71040,6),(71052,6),(71058,6),(71061,6),(71063,6),(71064,6),(71071,6),(71081,6),(71091,6),(71104,6),(71109,6),(71112,6),(71113,6),(71117,6),(71122,6),(71130,6),(71133,6),(71143,6),(71170,6),(71174,6),(71178,6),(71179,6),(71180,6),(71192,6),(71193,6),(71194,6),(71196,6),(71197,6),(71198,6),(71202,6),(71203,6),(71210,6),(71213,6),(71215,6),(71226,6),(71238,6),(71241,6),(71260,6),(71263,6),(71271,6),(71273,6),(71281,6),(71285,6),(71302,6),(71303,6),(71310,6),(71322,6),(71328,6),(71330,6),(71341,6),(71345,6),(71359,6),(71382,6),(71383,6),(71385,6),(71391,6),(71405,6),(71409,6),(71421,6),(71422,6),(71424,6),(71426,6),(71436,6),(71441,6),(71445,6),(71446,6),(71448,6),(71461,6),(71467,6),(71473,6),(71480,6),(71484,6),(71486,6),(71488,6),(71497,6),(71502,6),(71507,6),(71516,6),(71522,6),(71523,6),(71527,6),(71532,6),(71553,6),(71568,6),(71577,6),(71578,6),(71605,6),(71606,6),(71607,6),(71612,6),(71645,6),(71649,6),(71652,6),(71657,6),(71658,6),(71659,6),(71667,6),(71688,6),(71692,6),(71695,6),(71696,6),(71697,6),(71710,6),(71711,6),(71712,6),(71725,6),(71726,6),(71733,6),(71735,6),(71744,6),(71752,6),(71754,6),(71758,6),(71759,6),(71760,6),(71762,6),(71766,6),(71777,6),(71800,6),(71803,6),(71805,6),(71807,6),(71811,6),(71825,6),(71827,6),(71829,6),(71832,6),(71835,6),(71846,6),(71850,6),(71851,6),(71852,6),(71853,6),(71862,6),(71866,6),(71873,6),(71874,6),(71897,6),(71900,6),(71904,6),(71921,6),(71937,6),(71942,6),(71943,6),(71953,6),(71966,6),(71976,6),(71981,6),(71985,6),(71992,6),(71995,6),(71996,6),(72006,6),(72007,6),(72008,6),(72010,6),(72012,6),(72016,6),(72021,6),(72024,6),(72031,6),(72034,6),(72054,6),(72055,6),(72059,6),(72064,6),(72067,6),(72077,6),(72078,6),(72082,6),(72085,6),(72092,6),(72096,6),(72099,6),(72100,6),(72101,6),(72110,6),(72114,6),(72119,6),(72129,6),(72130,6),(72136,6),(72144,6),(72146,6),(72148,6),(72149,6),(72163,6),(72164,6),(72172,6),(72177,6),(72181,6),(72185,6),(72186,6),(72187,6),(72194,6),(72196,6),(72204,6),(72213,6),(72216,6),(72219,6),(72221,6),(72236,6),(72240,6),(72256,6),(72257,6),(72266,6),(72267,6),(72268,6),(72291,6),(72303,6),(72305,6),(72312,6),(72320,6),(72322,6),(72325,6),(72327,6),(72337,6),(72346,6),(72355,6),(72356,6),(72361,6),(72364,6),(72365,6),(72372,6),(72373,6),(72380,6),(72382,6),(72383,6),(72385,6),(72393,6),(72421,6),(72426,6),(72438,6),(72441,6),(72447,6),(72452,6),(72456,6),(72460,6),(72465,6),(72468,6),(72481,6),(72484,6),(72492,6),(72517,6),(72518,6),(72519,6),(72523,6),(72524,6),(72527,6),(72540,6),(72552,6),(72555,6),(72570,6),(72571,6),(72588,6),(72592,6),(72598,6),(72599,6),(72607,6),(72609,6),(72624,6),(72625,6),(72633,6),(72639,6),(72657,6),(72663,6),(72664,6),(72672,6),(72676,6),(72685,6),(72690,6),(72694,6),(72695,6),(72700,6),(72703,6),(72707,6),(72710,6),(72713,6),(72716,6),(72720,6),(72721,6),(72723,6),(72735,6),(72745,6),(72754,6),(72777,6),(72783,6),(72786,6),(72791,6),(72800,6),(72802,6),(72829,6),(72830,6),(72833,6),(72844,6),(72850,6),(72858,6),(72861,6),(72868,6),(72875,6),(72880,6),(72883,6),(72897,6),(72903,6),(72912,6),(72924,6),(72934,6),(72935,6),(72950,6),(72959,6),(72968,6),(72972,6),(73002,6),(73015,6),(73030,6),(73037,6),(73048,6),(73051,6),(73054,6),(73061,6),(73068,6),(73076,6),(73078,6),(73088,6),(73094,6),(73098,6),(73108,6),(73119,6),(73120,6),(73132,6),(73138,6),(73149,6),(73154,6),(73165,6),(73166,6),(73170,6),(73176,6),(73177,6),(73179,6),(73186,6),(73187,6),(73191,6),(73199,6),(73201,6),(73205,6),(73207,6),(73209,6),(73213,6),(73217,6),(73222,6),(73225,6),(73227,6),(73237,6),(73246,6),(73248,6),(73256,6),(73273,6),(73279,6),(73323,6),(73332,6),(73337,6),(73352,6),(73369,6),(73381,6),(73384,6),(73385,6),(73389,6),(73391,6),(73394,6),(73403,6),(73407,6),(73410,6),(73413,6),(73417,6),(73423,6),(73434,6),(73444,6),(73459,6),(73465,6),(73492,6),(73503,6),(73517,6),(73519,6),(73523,6),(73531,6),(73532,6),(73534,6),(73552,6),(73554,6),(73562,6),(73564,6),(73568,6),(73580,6),(73582,6),(73585,6),(73589,6),(73592,6),(73595,6),(73600,6),(73604,6),(73615,6),(73618,6),(73626,6),(73636,6),(73640,6),(73641,6),(73645,6),(73654,6),(73657,6),(73664,6),(73668,6),(73674,6),(73675,6),(73676,6),(73680,6),(73682,6),(73695,6),(73699,6),(73704,6),(73706,6),(73713,6),(73714,6),(73716,6),(73722,6),(73723,6),(73729,6),(73732,6),(73735,6),(73741,6),(73753,6),(73767,6),(73774,6),(73776,6),(73786,6),(73794,6),(73800,6),(73812,6),(73815,6),(73822,6),(73823,6),(73828,6),(73831,6),(73836,6),(73841,6),(73844,6),(73845,6),(73853,6),(73862,6),(73869,6),(73870,6),(73872,6),(73875,6),(73879,6),(73884,6),(73885,6),(73887,6),(73891,6),(73896,6),(73897,6),(73898,6),(73903,6),(73911,6),(73918,6),(73920,6),(73924,6),(73927,6),(73933,6),(73943,6),(73957,6),(73958,6),(73959,6),(73961,6),(73966,6),(73968,6),(73970,6),(73973,6),(73976,6),(73980,6),(73982,6),(73983,6),(73987,6),(73988,6),(73990,6),(73997,6),(74002,6),(74014,6),(74021,6),(74038,6),(74039,6),(74044,6),(74051,6),(74058,6),(74062,6),(74071,6),(74076,6),(74086,6),(74087,6),(74100,6),(74103,6),(74106,6),(74118,6),(74119,6),(74127,6),(74136,6),(74144,6),(74148,6),(74149,6),(74159,6),(74180,6),(74185,6),(74186,6),(74195,6),(74213,6),(74222,6),(74224,6),(74233,6),(74240,6),(74252,6),(74253,6),(74258,6),(74276,6),(74279,6),(74289,6),(74292,6),(74293,6),(74296,6),(74298,6),(74304,6),(74305,6),(74312,6),(74323,6),(74329,6),(74332,6),(74334,6),(74342,6),(74343,6),(74349,6),(74356,6),(74358,6),(74370,6),(74376,6),(74377,6),(74378,6),(74379,6),(74383,6),(74384,6),(74387,6),(74397,6),(74409,6),(74413,6),(74416,6),(74432,6),(74434,6),(74436,6),(74441,6),(74444,6),(74461,6),(74462,6),(74463,6),(74469,6),(74476,6),(74478,6),(74480,6),(74491,6),(74492,6),(74495,6),(74504,6),(74520,6),(74537,6),(74544,6),(74547,6),(74549,6),(74558,6),(74564,6),(74568,6),(74570,6),(74584,6),(74590,6),(74596,6),(74604,6),(74607,6),(74608,6),(74620,6),(74628,6),(74630,6),(74635,6),(74636,6),(74639,6),(74641,6),(74643,6),(74645,6),(74655,6),(74656,6),(74660,6),(74664,6),(74665,6),(74679,6),(74688,6),(74689,6),(74692,6),(74702,6),(74709,6),(74710,6),(74731,6),(74732,6),(74753,6),(74755,6),(74763,6),(74776,6),(74790,6),(74791,6),(74799,6),(74818,6),(74831,6),(74833,6),(74834,6),(74841,6),(74842,6),(74845,6),(74849,6),(74862,6),(74868,6),(74870,6),(74874,6),(74876,6),(74878,6),(74882,6),(74886,6),(74905,6),(74910,6),(74935,6),(74936,6),(74943,6),(74951,6),(74952,6),(74953,6),(74960,6),(74962,6),(74966,6),(74968,6),(74973,6),(74977,6),(74994,6),(75007,6),(75020,6),(75026,6),(75029,6),(75031,6),(75036,6),(75038,6),(75041,6),(75047,6),(75050,6),(75052,6),(75056,6),(75059,6),(75063,6),(75067,6),(75069,6),(75071,6),(75074,6),(75081,6),(75088,6),(75094,6),(75109,6),(75110,6),(75115,6),(75118,6),(75120,6),(75123,6),(75124,6),(75128,6),(75131,6),(75146,6),(75148,6),(75152,6),(75153,6),(75183,6),(75186,6),(75202,6),(75203,6),(75208,6),(75214,6),(75216,6),(75219,6),(75221,6),(75224,6),(75226,6),(75229,6),(75231,6),(75242,6),(75247,6),(75255,6),(75258,6),(75266,6),(75295,6),(75298,6),(75300,6),(75311,6),(75318,6),(75322,6),(75323,6),(75336,6),(75337,6),(75353,6),(75355,6),(75357,6),(75364,6),(75365,6),(75367,6),(75370,6),(75378,6),(75390,6),(75397,6),(75399,6),(75400,6),(75402,6),(75403,6),(75412,6),(75414,6),(75421,6),(75435,6),(75446,6),(75455,6),(75460,6),(75465,6),(75478,6),(75492,6),(75497,6),(75506,6),(75512,6),(75519,6),(75531,6),(75533,6),(75536,6),(75537,6),(75543,6),(75549,6),(75560,6),(75562,6),(75563,6),(75564,6),(75572,6),(75581,6),(75594,6),(75596,6),(75600,6),(75603,6),(75604,6),(75605,6),(75614,6),(75639,6),(75643,6),(75644,6),(75645,6),(75647,6),(75655,6),(75657,6),(75658,6),(75660,6),(75661,6),(75662,6),(75668,6),(75670,6),(75676,6),(75677,6),(75681,6),(75682,6),(75688,6),(75704,6),(75706,6),(75707,6),(75709,6),(75716,6),(75718,6),(75723,6),(75725,6),(75737,6),(75762,6),(75763,6),(75769,6),(75789,6),(75792,6),(75796,6),(75798,6),(75824,6),(75825,6),(75831,6),(75836,6),(75853,6),(75863,6),(75864,6),(75866,6),(75875,6),(75876,6),(75882,6),(75886,6),(75888,6),(75892,6),(75893,6),(75896,6),(75897,6),(75914,6),(75930,6),(75933,6),(75936,6),(75949,6),(75957,6),(75958,6),(75965,6),(75970,6),(75983,6),(75987,6),(75989,6),(75990,6),(76005,6),(76008,6),(76009,6),(76012,6),(76017,6),(76019,6),(76046,6),(76047,6),(76054,6),(76067,6),(76076,6),(76081,6),(76089,6),(76093,6),(76099,6),(76100,6),(76101,6),(76107,6),(76109,6),(76133,6),(76137,6),(76148,6),(76150,6),(76161,6),(76163,6),(76165,6),(76170,6),(76172,6),(76174,6),(76176,6),(76201,6),(76204,6),(76217,6),(76222,6),(76232,6),(76237,6),(76243,6),(76253,6),(76266,6),(76267,6),(76273,6),(76276,6),(76277,6),(76278,6),(76279,6),(76285,6),(76291,6),(76293,6),(76300,6),(76302,6),(76304,6),(76312,6),(76316,6),(76318,6),(76322,6),(76326,6),(76330,6),(76333,6),(76336,6),(76339,6),(76340,6),(76346,6),(76352,6),(76354,6),(76359,6),(76365,6),(76372,6),(76377,6),(76391,6),(76394,6),(76402,6),(76404,6),(76408,6),(76409,6),(76410,6),(76417,6),(76418,6),(76424,6),(76431,6),(76440,6),(76448,6),(76455,6),(76457,6),(76462,6),(76468,6),(76469,6),(76498,6),(76500,6),(76508,6),(76509,6),(76513,6),(76524,6),(76529,6),(76534,6),(76535,6),(76543,6),(76550,6),(76555,6),(76571,6),(76574,6),(76585,6),(76593,6),(76598,6),(76601,6),(76609,6),(76610,6),(76621,6),(76628,6),(76634,6),(76639,6),(76651,6),(76666,6),(76673,6),(76674,6),(76676,6),(76685,6),(76694,6),(76695,6),(76698,6),(76704,6),(76708,6),(76711,6),(76715,6),(76724,6),(76730,6),(76738,6),(76739,6),(76740,6),(76741,6),(76745,6),(76748,6),(76768,6),(76776,6),(76781,6),(76784,6),(76789,6),(76790,6),(76791,6),(76794,6),(76796,6),(76804,6),(76823,6),(76827,6),(76831,6),(76834,6),(76839,6),(76843,6),(76852,6),(76869,6),(76875,6),(76877,6),(76879,6),(76883,6),(76885,6),(76886,6),(76887,6),(76891,6),(76913,6),(76923,6),(76925,6),(76936,6),(76941,6),(76943,6),(76956,6),(76962,6),(76971,6),(76975,6),(76982,6),(76996,6),(76997,6),(77002,6),(77011,6),(77015,6),(77019,6),(77022,6),(77025,6),(77031,6),(77034,6),(77036,6),(77039,6),(77043,6),(77060,6),(77073,6),(77082,6),(77087,6),(77091,6),(77095,6),(77104,6),(77127,6),(77130,6),(77134,6),(77136,6),(77140,6),(77146,6),(77152,6),(77158,6),(77173,6),(77179,6),(77181,6),(77186,6),(77189,6),(77193,6),(77197,6),(77198,6),(77207,6),(77210,6),(77225,6),(77228,6),(77231,6),(77239,6),(77242,6),(77248,6),(77250,6),(77258,6),(77271,6),(77278,6),(77282,6),(77285,6),(77286,6),(77290,6),(77297,6),(77300,6),(77302,6),(77304,6),(77319,6),(77333,6),(77343,6),(77348,6),(77349,6),(77350,6),(77354,6),(77357,6),(77359,6),(77363,6),(77369,6),(77372,6),(77375,6),(77376,6),(77381,6),(77388,6),(77389,6),(77392,6),(77396,6),(77398,6),(77404,6),(77406,6),(77416,6),(77418,6),(77451,6),(77467,6),(77475,6),(77478,6),(77495,6),(77497,6),(77500,6),(77503,6),(77510,6),(77518,6),(77523,6),(77528,6),(77535,6),(77536,6),(77540,6),(77568,6),(77572,6),(77573,6),(77574,6),(77577,6),(77583,6),(77617,6),(77624,6),(77632,6),(77634,6),(77639,6),(77643,6),(77651,6),(77652,6),(77662,6),(77674,6),(77678,6),(77681,6),(77682,6),(77684,6),(77687,6),(77688,6),(77691,6),(77695,6),(77702,6),(77709,6),(77712,6),(77714,6),(77721,6),(77728,6),(77743,6),(77751,6),(77763,6),(77768,6),(77774,6),(77775,6),(77782,6),(77792,6),(77801,6),(77809,6),(77810,6),(77813,6),(77816,6),(77822,6),(77833,6),(77839,6),(77844,6),(77845,6),(77872,6),(77884,6),(77888,6),(77889,6),(77890,6),(77895,6),(77896,6),(77898,6),(77906,6),(77913,6),(77914,6),(77917,6),(77919,6),(77927,6),(77929,6),(77930,6),(77940,6),(77945,6),(77954,6),(77956,6),(77962,6),(77970,6),(77975,6),(77977,6),(77981,6),(77989,6),(78009,6),(78014,6),(78022,6),(78032,6),(78035,6),(78038,6),(78043,6),(78045,6),(78046,6),(78051,6),(78065,6),(78066,6),(78073,6),(78085,6),(78090,6),(78091,6),(78092,6),(78097,6),(78098,6),(78101,6),(78102,6),(78110,6),(78111,6),(78123,6),(78124,6),(78129,6),(78134,6),(78140,6),(78142,6),(78157,6),(78159,6),(78162,6),(78167,6),(78168,6),(78169,6),(78170,6),(78175,6),(78182,6),(78184,6),(78186,6),(78196,6),(78200,6),(78201,6),(78205,6),(78224,6),(78225,6),(78226,6),(78237,6),(78265,6),(78268,6),(78279,6),(78287,6),(78289,6),(78296,6),(78309,6),(78310,6),(78320,6),(78330,6),(78332,6),(78335,6),(78342,6),(78344,6),(78353,6),(78354,6),(78367,6),(78383,6),(78385,6),(78392,6),(78398,6),(78406,6),(78408,6),(78418,6),(78420,6),(78426,6),(78428,6),(78437,6),(78438,6),(78441,6),(78447,6),(78450,6),(78457,6),(78462,6),(78468,6),(78473,6),(78480,6),(78482,6),(78490,6),(78501,6),(78504,6),(78505,6),(78509,6),(78510,6),(78511,6),(78526,6),(78535,6),(78544,6),(78545,6),(78546,6),(78550,6),(78559,6),(78560,6),(78566,6),(78567,6),(78570,6),(78571,6),(78586,6),(78587,6),(78595,6),(78602,6),(78605,6),(78609,6),(78615,6),(78629,6),(78646,6),(78647,6),(78650,6),(78651,6),(78656,6),(78657,6),(78658,6),(78667,6),(78668,6),(78671,6),(78688,6),(78710,6),(78714,6),(78717,6),(78721,6),(78727,6),(78738,6),(78739,6),(78742,6),(78749,6),(78753,6),(78763,6),(78767,6),(78775,6),(78782,6),(78797,6),(78804,6),(78812,6),(78818,6),(78820,6),(78822,6),(78825,6),(78833,6),(78835,6),(78840,6),(78847,6),(78856,6),(78860,6),(78868,6),(78870,6),(78878,6),(78884,6),(78886,6),(78895,6),(78916,6),(78921,6),(78923,6),(78925,6),(78926,6),(78951,6),(78953,6),(78956,6),(78971,6),(78973,6),(78979,6),(78991,6),(78994,6),(79002,6),(79006,6),(79010,6),(79027,6),(79045,6),(79047,6),(79049,6),(79050,6),(79052,6),(79053,6),(79057,6),(79062,6),(79063,6),(79069,6),(79075,6),(79086,6),(79089,6),(79101,6),(79114,6),(79127,6),(79131,6),(79139,6),(79156,6),(79158,6),(79161,6),(79215,6),(79217,6),(79220,6),(79223,6),(79224,6),(79225,6),(79226,6),(79234,6),(79253,6),(79256,6),(79267,6),(79280,6),(79282,6),(79286,6),(79292,6),(79297,6),(79299,6),(79306,6),(79312,6),(79314,6),(79326,6),(79331,6),(79340,6),(79345,6),(79349,6),(79352,6),(79355,6),(79360,6),(79361,6),(79363,6),(79375,6),(79395,6),(79397,6),(79409,6),(79418,6),(79419,6),(79433,6),(79450,6),(79454,6),(79471,6),(79501,6),(79512,6),(79517,6),(79518,6),(79521,6),(79551,6),(79555,6),(79562,6),(79565,6),(79566,6),(79570,6),(79571,6),(79572,6),(79584,6),(79599,6),(79603,6),(79607,6),(79611,6),(79612,6),(79617,6),(79618,6),(79619,6),(79623,6),(79625,6),(79637,6),(79639,6),(79641,6),(79647,6),(79650,6),(79656,6),(79663,6),(79674,6),(79681,6),(79686,6),(79689,6),(79693,6),(79709,6),(79714,6),(79715,6),(79718,6),(79721,6),(79725,6),(79733,6),(79749,6),(79756,6),(79757,6),(79759,6),(79771,6),(79772,6),(79775,6),(79777,6),(79781,6),(79792,6),(79793,6),(79795,6),(79804,6),(79805,6),(79806,6),(79808,6),(79810,6),(79812,6),(79825,6),(79828,6),(79836,6),(79838,6),(79857,6),(79864,6),(79867,6),(79871,6),(79874,6),(79882,6),(79883,6),(79885,6),(79888,6),(79899,6),(79900,6),(79901,6),(79903,6),(79907,6),(79915,6),(79916,6),(79925,6),(79926,6),(79928,6),(79936,6),(79937,6),(79941,6),(79964,6),(79992,6),(79994,6),(79999,6),(80003,6),(80004,6),(80007,6),(80009,6),(80013,6),(80015,6),(80017,6),(80022,6),(80024,6),(80026,6),(80027,6),(80055,6),(80057,6),(80070,6),(80079,6),(80088,6),(80090,6),(80091,6),(80096,6),(80097,6),(80100,6),(80101,6),(80111,6),(80115,6),(80128,6),(80133,6),(80136,6),(80138,6),(80140,6),(80141,6),(80158,6),(80162,6),(80163,6),(80165,6),(80166,6),(80167,6),(80169,6),(80177,6),(80195,6),(80198,6),(80201,6),(80203,6),(80214,6),(80216,6),(80220,6),(80236,6),(80240,6),(80241,6),(80242,6),(80276,6),(80278,6),(80283,6),(80287,6),(80292,6),(80297,6),(80300,6),(80308,6),(80315,6),(80316,6),(80320,6),(80323,6),(80324,6),(80326,6),(80331,6),(80344,6),(80345,6),(80348,6),(80368,6),(80373,6),(80374,6),(80390,6),(80396,6),(80397,6),(80399,6),(80400,6),(80401,6),(80415,6),(80430,6),(80435,6),(80446,6),(80459,6),(80462,6),(80463,6),(80465,6),(80466,6),(80467,6),(80473,6),(80476,6),(80477,6),(80488,6),(80490,6),(80505,6),(80514,6),(80523,6),(80525,6),(80526,6),(80533,6),(80534,6),(80535,6),(80538,6),(80546,6),(80548,6),(80549,6),(80553,6),(80561,6),(80567,6),(80569,6),(80571,6),(80577,6),(80583,6),(80591,6),(80593,6),(80597,6),(80598,6),(80613,6),(80615,6),(80618,6),(80619,6),(80622,6),(80623,6),(80638,6),(80649,6),(80660,6),(80669,6),(80670,6),(80674,6),(80675,6),(80676,6),(80712,6),(80713,6),(80726,6),(80728,6),(80729,6),(80734,6),(80738,6),(80748,6),(80757,6),(80762,6),(80763,6),(80770,6),(80778,6),(80788,6),(80791,6),(80805,6),(80822,6),(80823,6),(80824,6),(80842,6),(80845,6),(80846,6),(80847,6),(80856,6),(80858,6),(80859,6),(80864,6),(80867,6),(80877,6),(80878,6),(80881,6),(80885,6),(80888,6),(80894,6),(80897,6),(80905,6),(80912,6),(80921,6),(80922,6),(80923,6),(80926,6),(80935,6),(80938,6),(80940,6),(80942,6),(80944,6),(80948,6),(80949,6),(80959,6),(80966,6),(80979,6),(80985,6),(80988,6),(80997,6),(81007,6),(81009,6),(81017,6),(81022,6),(81028,6),(81052,6),(81055,6),(81061,6),(81062,6),(81065,6),(81070,6),(81072,6),(81075,6),(81079,6),(81084,6),(81087,6),(81107,6),(81109,6),(81121,6),(81123,6),(81142,6),(81143,6),(81145,6),(81148,6),(81160,6),(81162,6),(81174,6),(81182,6),(81184,6),(81189,6),(81197,6),(81205,6),(81210,6),(81211,6),(81212,6),(81226,6),(81229,6),(81253,6),(81260,6),(81261,6),(81267,6),(81273,6),(81278,6),(81285,6),(81292,6),(81296,6),(81302,6),(81305,6),(81306,6),(81308,6),(81314,6),(81332,6),(81340,6),(81345,6),(81350,6),(81360,6),(81363,6),(81365,6),(81380,6),(81383,6),(81395,6),(81396,6),(81397,6),(81398,6),(81402,6),(81403,6),(81409,6),(81416,6),(81422,6),(81424,6),(81426,6),(81435,6),(81436,6),(81437,6),(81440,6),(81443,6),(81446,6),(81447,6),(81448,6),(81449,6),(81451,6),(81459,6),(81460,6),(81461,6),(81475,6),(81490,6),(81491,6),(81492,6),(81493,6),(81503,6),(81508,6),(81513,6),(81518,6),(81519,6),(81527,6),(81529,6),(81535,6),(81537,6),(81538,6),(81541,6),(81543,6),(81551,6),(81554,6),(81560,6),(81564,6),(81566,6),(81570,6),(81575,6),(81580,6),(81587,6),(81594,6),(81601,6),(81602,6),(81612,6),(81619,6),(81623,6),(81624,6),(81625,6),(81637,6),(81647,6),(81653,6),(81658,6),(81662,6),(81667,6),(81682,6),(81689,6),(81691,6),(81693,6),(81694,6),(81696,6),(81697,6),(81700,6),(81703,6),(81712,6),(81718,6),(81727,6),(81730,6),(81733,6),(81741,6),(81765,6),(81766,6),(81785,6),(81787,6),(81788,6),(81790,6),(81795,6),(81817,6),(81818,6),(81819,6),(81828,6),(81833,6),(81840,6),(81845,6),(81846,6),(81847,6),(81848,6),(81856,6),(81859,6),(81860,6),(81875,6),(81878,6),(81881,6),(81884,6),(81894,6),(81895,6),(81898,6),(81905,6),(81909,6),(81933,6),(81941,6),(81944,6),(81960,6),(81962,6),(81975,6),(81977,6),(81978,6),(82007,6),(82013,6),(82014,6),(82016,6),(82017,6),(82022,6),(82024,6),(82033,6),(82041,6),(82045,6),(82054,6),(82057,6),(82058,6),(82069,6),(82072,6),(82088,6),(82095,6),(82100,6),(82105,6),(82120,6),(82122,6),(82130,6),(82131,6),(82140,6),(82148,6),(82158,6),(82159,6),(82170,6),(82171,6),(82172,6),(82173,6),(82175,6),(82181,6),(82188,6),(82192,6),(82193,6),(82195,6);\nINSERT INTO `campaign_transactions` VALUES (82198,6),(82201,6),(82207,6),(82211,6),(82214,6),(82219,6),(82227,6),(82241,6),(82242,6),(82243,6),(82253,6),(82258,6),(82260,6),(82263,6),(82265,6),(82269,6),(82271,6),(82280,6),(82282,6),(82289,6),(82292,6),(82300,6),(82301,6),(82302,6),(82303,6),(82304,6),(82305,6),(82310,6),(82315,6),(82332,6),(82345,6),(82349,6),(82361,6),(82368,6),(82370,6),(82383,6),(82388,6),(82395,6),(82397,6),(82406,6),(82407,6),(82411,6),(82412,6),(82420,6),(82429,6),(82433,6),(82436,6),(82442,6),(82443,6),(82452,6),(82457,6),(82460,6),(82461,6),(82464,6),(82465,6),(82466,6),(82477,6),(82478,6),(82479,6),(82480,6),(82493,6),(82500,6),(82503,6),(82507,6),(82510,6),(82513,6),(82529,6),(82536,6),(82542,6),(82561,6),(82574,6),(82583,6),(82588,6),(82597,6),(82610,6),(82614,6),(82627,6),(82635,6),(82670,6),(82676,6),(82678,6),(82684,6),(82688,6),(82698,6),(82701,6),(82709,6),(82737,6),(82751,6),(82756,6),(82761,6),(82763,6),(82767,6),(82768,6),(82769,6),(82770,6),(82783,6),(82787,6),(82795,6),(82796,6),(82806,6),(82811,6),(82815,6),(82822,6),(82824,6),(82828,6),(82834,6),(82835,6),(82837,6),(82839,6),(82840,6),(82847,6),(82856,6),(82862,6),(82867,6),(82883,6),(82884,6),(82885,6),(82889,6),(82893,6),(82901,6),(82902,6),(82903,6),(82920,6),(82930,6),(82943,6),(82955,6),(82958,6),(82961,6),(82962,6),(82968,6),(82978,6),(82993,6),(82995,6),(83002,6),(83003,6),(83005,6),(83010,6),(83011,6),(83021,6),(83023,6),(83030,6),(83043,6),(83057,6),(83074,6),(83086,6),(83087,6),(83090,6),(83101,6),(83102,6),(83107,6),(83130,6),(83139,6),(83140,6),(83141,6),(83142,6),(83156,6),(83161,6),(83167,6),(83169,6),(83170,6),(83180,6),(83192,6),(83198,6),(83220,6),(83222,6),(83224,6),(83225,6),(83230,6),(83245,6),(83246,6),(83248,6),(83259,6),(83263,6),(83272,6),(83288,6),(83290,6),(83293,6),(83306,6),(83312,6),(83319,6),(83325,6),(83327,6),(83338,6),(83341,6),(83350,6),(83356,6),(83359,6),(83361,6),(83362,6),(83364,6),(83366,6),(83385,6),(83387,6),(83396,6),(83403,6),(83404,6),(83405,6),(83406,6),(83410,6),(83412,6),(83414,6),(83428,6),(83433,6),(83436,6),(83439,6),(83442,6),(83451,6),(83452,6),(83464,6),(83468,6),(83473,6),(83477,6),(83486,6),(83487,6),(83493,6),(83500,6),(83505,6),(83506,6),(83507,6),(83508,6),(83511,6),(83515,6),(83516,6),(83524,6),(83529,6),(83536,6),(83546,6),(83552,6),(83561,6),(83563,6),(83565,6),(83568,6),(83570,6),(83574,6),(83583,6),(83586,6),(83588,6),(83590,6),(83591,6),(83595,6),(83600,6),(83608,6),(83612,6),(83620,6),(83624,6),(83625,6),(83629,6),(83646,6),(83649,6),(83650,6),(83658,6),(83662,6),(83665,6),(83671,6),(83674,6),(83679,6),(83692,6),(83697,6),(83719,6),(83722,6),(83731,6),(83736,6),(83739,6),(83741,6),(83742,6),(83744,6),(83745,6),(83746,6),(83747,6),(83750,6),(83757,6),(83762,6),(83763,6),(83771,6),(83774,6),(83783,6),(83785,6),(83791,6),(83796,6),(83798,6),(83806,6),(83813,6),(83823,6),(83829,6),(83842,6),(83843,6),(83849,6),(83851,6),(83855,6),(83858,6),(83863,6),(83865,6),(83866,6),(83875,6),(83899,6),(83904,6),(83914,6),(83915,6),(83916,6),(83919,6),(83921,6),(83923,6),(83924,6),(83929,6),(83940,6),(83942,6),(83949,6),(83957,6),(83981,6),(83985,6),(83989,6),(83991,6),(83992,6),(83995,6),(84009,6),(84010,6),(84014,6),(84016,6),(84017,6),(84024,6),(84026,6),(84028,6),(84033,6),(84036,6),(84052,6),(84058,6),(84066,6),(84072,6),(84074,6),(84075,6),(84077,6),(84080,6),(84091,6),(84095,6),(84100,6),(84104,6),(84109,6),(84114,6),(84116,6),(84122,6),(84130,6),(84132,6),(84133,6),(84134,6),(84135,6),(84143,6),(84145,6),(84155,6),(84172,6),(84173,6),(84174,6),(84179,6),(84180,6),(84188,6),(84190,6),(84193,6),(84196,6),(84211,6),(84212,6),(84213,6),(84215,6),(84220,6),(84227,6),(84234,6),(84235,6),(84236,6),(84239,6),(84240,6),(84244,6),(84255,6),(84259,6),(84277,6),(84278,6),(84280,6),(84281,6),(84282,6),(84283,6),(84284,6),(84286,6),(84290,6),(84303,6),(84305,6),(84311,6),(84312,6),(84313,6),(84320,6),(84324,6),(84326,6),(84341,6),(84344,6),(84356,6),(84358,6),(84365,6),(84369,6),(84370,6),(84378,6),(84382,6),(84386,6),(84401,6),(84418,6),(84420,6),(84421,6),(84425,6),(84429,6),(84443,6),(84444,6),(84455,6),(84460,6),(84471,6),(84472,6),(84474,6),(84478,6),(84481,6),(84490,6),(84499,6),(84504,6),(84513,6),(84515,6),(84516,6),(84519,6),(84520,6),(84521,6),(84523,6),(84526,6),(84528,6),(84538,6),(84539,6),(84540,6),(84544,6),(84554,6),(84559,6),(84578,6),(84601,6),(84606,6),(84607,6),(84611,6),(84621,6),(84622,6),(84630,6),(84632,6),(84638,6),(84646,6),(84649,6),(84657,6),(84661,6),(84664,6),(84670,6),(84673,6),(84677,6),(84685,6),(84689,6),(84695,6),(84698,6),(84699,6),(84700,6),(84701,6),(84711,6),(84712,6),(84720,6),(84724,6),(84728,6),(84736,6),(84738,6),(84748,6),(84759,6),(84762,6),(84766,6),(84772,6),(84773,6),(84778,6),(84781,6),(84783,6),(84786,6),(84792,6),(84800,6),(84805,6),(84832,6),(84835,6),(84843,6),(84845,6),(84861,6),(84886,6),(84888,6),(84890,6),(84894,6),(84898,6),(84905,6),(84925,6),(84928,6),(84929,6),(84930,6),(84932,6),(84937,6),(84942,6),(84943,6),(84964,6),(84970,6),(84975,6),(84979,6),(84982,6),(84988,6),(84989,6),(84995,6),(84997,6),(84999,6),(85001,6),(85006,6),(85010,6),(85011,6),(85013,6),(85019,6),(85020,6),(85022,6),(85024,6),(85032,6),(85037,6),(85043,6),(85047,6),(85050,6),(85068,6),(85074,6),(85084,6),(85085,6),(85090,6),(85094,6),(85095,6),(85102,6),(85106,6),(85107,6),(85108,6),(85125,6),(85127,6),(85137,6),(85139,6),(85143,6),(85150,6),(85156,6),(85160,6),(85164,6),(85181,6),(85185,6),(85206,6),(85208,6),(85209,6),(85218,6),(85222,6),(85225,6),(85237,6),(85238,6),(85244,6),(85245,6),(85250,6),(85258,6),(85259,6),(85263,6),(85267,6),(85274,6),(85286,6),(85291,6),(85294,6),(85300,6),(85304,6),(85310,6),(85313,6),(85315,6),(85325,6),(85327,6),(85338,6),(85341,6),(85358,6),(85373,6),(85391,6),(85394,6),(85398,6),(85404,6),(85429,6),(85431,6),(85433,6),(85435,6),(85440,6),(85441,6),(85443,6),(85445,6),(85450,6),(85452,6),(85453,6),(85460,6),(85475,6),(85476,6),(85487,6),(85489,6),(85493,6),(85498,6),(85508,6),(85514,6),(85517,6),(85519,6),(85525,6),(85534,6),(85564,6),(85566,6),(85567,6),(85568,6),(85574,6),(85577,6),(85579,6),(85580,6),(85581,6),(85586,6),(85592,6),(85594,6),(85595,6),(85596,6),(85601,6),(85612,6),(85618,6),(85619,6),(85623,6),(85643,6),(85644,6),(85645,6),(85658,6),(85670,6),(85671,6),(85676,6),(85678,6),(85679,6),(85683,6),(85686,6),(85693,6),(85702,6),(85705,6),(85707,6),(85714,6),(85716,6),(85722,6),(85726,6),(85731,6),(85747,6),(85748,6),(85749,6),(85750,6),(85755,6),(85759,6),(85760,6),(85767,6),(85769,6),(85771,6),(85784,6),(85786,6),(85796,6),(85805,6),(85807,6),(85810,6),(85823,6),(85828,6),(85829,6),(85830,6),(85837,6),(85840,6),(85847,6),(85852,6),(85863,6),(85864,6),(85866,6),(85874,6),(85875,6),(85882,6),(85883,6),(85892,6),(85902,6),(85909,6),(85911,6),(85913,6),(85921,6),(85934,6),(85935,6),(85937,6),(85941,6),(85945,6),(85946,6),(85947,6),(85951,6),(85954,6),(85983,6),(85987,6),(85993,6),(85994,6),(85995,6),(85997,6),(86000,6),(86009,6),(86010,6),(86012,6),(86020,6),(86024,6),(86027,6),(86034,6),(86046,6),(86050,6),(86065,6),(86066,6),(86074,6),(86075,6),(86085,6),(86098,6),(86100,6),(86108,6),(86132,6),(86136,6),(86138,6),(86141,6),(86163,6),(86166,6),(86170,6),(86176,6),(86178,6),(86190,6),(86199,6),(86200,6),(86205,6),(86208,6),(86217,6),(86220,6),(86244,6),(86247,6),(86253,6),(86258,6),(86268,6),(86275,6),(86283,6),(86286,6),(86287,6),(86296,6),(86297,6),(86298,6),(86305,6),(86319,6),(86350,6),(86366,6),(86367,6),(86372,6),(86378,6),(86379,6),(86403,6),(86410,6),(86415,6),(86416,6),(86425,6),(86432,6),(86435,6),(86469,6),(86482,6),(86483,6),(86484,6),(86488,6),(86490,6),(86491,6),(86502,6),(86504,6),(86511,6),(86519,6),(86521,6),(86538,6),(86546,6),(86554,6),(86556,6),(86560,6),(86565,6),(86566,6),(86571,6),(86574,6),(86575,6),(86576,6),(86577,6),(86583,6),(86585,6),(86587,6),(86589,6),(86592,6),(86593,6),(86594,6),(86596,6),(86598,6),(86602,6),(86623,6),(86627,6),(86643,6),(86649,6),(86652,6),(86654,6),(86655,6),(86660,6),(86681,6),(86685,6),(86689,6),(86698,6),(86704,6),(86722,6),(86727,6),(86729,6),(86732,6),(86746,6),(86747,6),(86750,6),(86755,6),(86756,6),(86759,6),(86764,6),(86766,6),(86771,6),(86772,6),(86782,6),(86786,6),(86792,6),(86796,6),(86809,6),(86817,6),(86821,6),(86823,6),(86827,6),(86842,6),(86845,6),(86848,6),(86856,6),(86860,6),(86861,6),(86863,6),(86864,6),(86876,6),(86895,6),(86896,6),(86901,6),(86903,6),(86920,6),(86931,6),(86934,6),(86937,6),(86951,6),(86953,6),(86957,6),(86962,6),(86968,6),(86969,6),(86971,6),(86973,6),(86974,6),(86984,6),(86988,6),(86994,6),(86997,6),(86998,6),(86999,6),(87002,6),(87019,6),(87024,6),(87027,6),(87037,6),(87039,6),(87049,6),(87056,6),(87076,6),(87077,6),(87091,6),(87096,6),(87101,6),(87108,6),(87123,6),(87130,6),(87131,6),(87133,6),(87135,6),(87141,6),(87151,6),(87167,6),(87168,6),(87170,6),(87177,6),(87178,6),(87183,6),(87185,6),(87190,6),(87192,6),(87196,6),(87199,6),(87201,6),(87209,6),(87219,6),(87224,6),(87229,6),(87232,6),(87239,6),(87240,6),(87243,6),(87244,6),(87248,6),(87253,6),(87259,6),(87282,6),(87287,6),(87290,6),(87294,6),(87301,6),(87304,6),(87306,6),(87309,6),(87316,6),(87317,6),(87323,6),(87334,6),(87340,6),(87350,6),(87352,6),(87353,6),(87355,6),(87357,6),(87358,6),(87377,6),(87382,6),(87384,6),(87386,6),(87388,6),(87392,6),(87397,6),(87418,6),(87422,6),(87429,6),(87438,6),(87440,6),(87443,6),(87456,6),(87473,6),(87474,6),(87475,6),(87478,6),(87480,6),(87482,6),(87484,6),(87492,6),(87498,6),(87502,6),(87511,6),(87519,6),(87525,6),(87536,6),(87538,6),(87540,6),(87543,6),(87548,6),(87549,6),(87550,6),(87553,6),(87555,6),(87562,6),(87563,6),(87565,6),(87572,6),(87573,6),(87574,6),(87575,6),(87579,6),(87587,6),(87591,6),(87599,6),(87608,6),(87614,6),(87617,6),(87618,6),(87624,6),(87629,6),(87631,6),(87635,6),(87638,6),(87639,6),(87654,6),(87655,6),(87658,6),(87660,6),(87667,6),(87670,6),(87683,6),(87685,6),(87688,6),(87690,6),(87691,6),(87692,6),(87694,6),(87695,6),(87696,6),(87702,6),(87722,6),(87733,6),(87736,6),(87737,6),(87746,6),(87754,6),(87762,6),(87768,6),(87774,6),(87777,6),(87780,6),(87795,6),(87804,6),(87805,6),(87816,6),(87826,6),(87830,6),(87831,6),(87834,6),(87837,6),(87841,6),(87845,6),(87850,6),(87854,6),(87858,6),(87864,6),(87872,6),(87877,6),(87891,6),(87899,6),(87916,6),(87933,6),(87939,6),(87952,6),(87957,6),(87958,6),(87963,6),(87966,6),(87975,6),(87995,6),(87998,6),(88024,6),(88025,6),(88035,6),(88037,6),(88053,6),(88055,6),(88060,6),(88063,6),(88080,6),(88085,6),(88116,6),(88123,6),(88127,6),(88131,6),(88147,6),(88148,6),(88151,6),(88152,6),(88159,6),(88163,6),(88166,6),(88174,6),(88181,6),(88183,6),(88185,6),(88187,6),(88199,6),(88201,6),(88204,6),(88229,6),(88234,6),(88240,6),(88241,6),(88246,6),(88251,6),(88257,6),(88265,6),(88268,6),(88269,6),(88282,6),(88291,6),(88292,6),(88300,6),(88303,6),(88304,6),(88306,6),(88307,6),(88317,6),(88323,6),(88339,6),(88341,6),(88344,6),(88350,6),(88356,6),(88361,6),(88365,6),(88366,6),(88371,6),(88375,6),(88377,6),(88385,6),(88386,6),(88387,6),(88389,6),(88390,6),(88395,6),(88397,6),(88400,6),(88403,6),(88404,6),(88405,6),(88408,6),(88410,6),(88412,6),(88416,6),(88417,6),(88420,6),(88425,6),(88427,6),(88441,6),(88450,6),(88453,6),(88467,6),(88474,6),(88476,6),(88486,6),(88487,6),(88489,6),(88490,6),(88491,6),(88492,6),(88493,6),(88497,6),(88501,6),(88513,6),(88515,6),(88552,6),(88569,6),(88588,6),(88597,6),(88602,6),(88607,6),(88611,6),(88613,6),(88617,6),(88643,6),(88644,6),(88648,6),(88651,6),(88659,6),(88667,6),(88669,6),(88670,6),(88672,6),(88674,6),(88687,6),(88690,6),(88699,6),(88703,6),(88707,6),(88710,6),(88718,6),(88735,6),(88752,6),(88754,6),(88763,6),(88777,6),(88781,6),(88791,6),(88811,6),(88813,6),(88815,6),(88819,6),(88828,6),(88832,6),(88848,6),(88853,6),(88855,6),(88868,6),(88877,6),(88879,6),(88881,6),(88892,6),(88901,6),(88912,6),(88918,6),(88924,6),(88934,6),(88937,6),(88938,6),(88941,6),(88947,6),(88970,6),(88971,6),(88977,6),(88978,6),(88988,6),(88989,6),(88991,6),(89007,6),(89012,6),(89024,6),(89027,6),(89035,6),(89039,6),(89050,6),(89053,6),(89056,6),(89061,6),(89066,6),(89070,6),(89072,6),(89080,6),(89081,6),(89084,6),(89085,6),(89092,6),(89095,6),(89098,6),(89100,6),(89105,6),(89107,6),(89113,6),(89115,6),(89126,6),(89129,6),(89131,6),(89133,6),(89143,6),(89146,6),(89172,6),(89178,6),(89179,6),(89190,6),(89195,6),(89198,6),(89200,6),(89205,6),(89214,6),(89222,6),(89230,6),(89233,6),(89237,6),(89238,6),(89240,6),(89265,6),(89268,6),(89269,6),(89275,6),(89287,6),(89298,6),(89301,6),(89311,6),(89325,6),(89326,6),(89334,6),(89349,6),(89350,6),(89353,6),(89354,6),(89357,6),(89360,6),(89367,6),(89371,6),(89381,6),(89388,6),(89402,6),(89409,6),(89413,6),(89414,6),(89428,6),(89435,6),(89438,6),(89439,6),(89443,6),(89455,6),(89458,6),(89465,6),(89468,6),(89474,6),(89478,6),(89495,6),(89503,6),(89509,6),(89511,6),(89512,6),(89516,6),(89517,6),(89519,6),(89522,6),(89531,6),(89532,6),(89535,6),(89541,6),(89565,6),(89575,6),(89578,6),(89584,6),(89587,6),(89588,6),(89594,6),(89597,6),(89606,6),(89609,6),(89615,6),(89618,6),(89626,6),(89641,6),(89649,6),(89651,6),(89666,6),(89670,6),(89691,6),(89693,6),(89694,6),(89698,6),(89699,6),(89700,6),(89701,6),(89703,6),(89725,6),(89727,6),(89730,6),(89735,6),(89736,6),(89737,6),(89741,6),(89745,6),(89746,6),(89751,6),(89758,6),(89760,6),(89772,6),(89774,6),(89780,6),(89794,6),(89799,6),(89809,6),(89810,6),(89815,6),(89845,6),(89847,6),(89849,6),(89855,6),(89856,6),(89869,6),(89871,6),(89875,6),(89876,6),(89885,6),(89887,6),(89889,6),(89895,6),(89898,6),(89901,6),(89902,6),(89922,6),(89924,6),(89925,6),(89933,6),(89938,6),(89940,6),(89949,6),(89951,6),(89954,6),(89961,6),(89966,6),(89970,6),(89971,6),(89980,6),(89990,6),(89993,6),(89995,6),(90004,6),(90009,6),(90012,6),(90029,6),(90040,6),(90047,6),(90048,6),(90051,6),(90056,6),(90058,6),(90063,6),(90072,6),(90082,6),(90090,6),(90094,6),(90100,6),(90102,6),(90105,6),(90107,6),(90112,6),(90116,6),(90118,6),(90121,6),(90123,6),(90124,6),(90125,6),(90129,6),(90136,6),(90139,6),(90150,6),(90154,6),(90166,6),(90173,6),(90181,6),(90182,6),(90192,6),(90201,6),(90206,6),(90213,6),(90217,6),(90219,6),(90222,6),(90226,6),(90227,6),(90231,6),(90234,6),(90236,6),(90238,6),(90247,6),(90256,6),(90272,6),(90276,6),(90280,6),(90284,6),(90287,6),(90297,6),(90298,6),(90305,6),(90311,6),(90317,6),(90318,6),(90324,6),(90332,6),(90334,6),(90344,6),(90353,6),(90358,6),(90367,6),(90375,6),(90377,6),(90381,6),(90389,6),(90392,6),(90397,6),(90403,6),(90421,6),(90422,6),(90429,6),(90442,6),(90454,6),(90474,6),(90477,6),(90485,6),(90491,6),(90493,6),(90498,6),(90512,6),(90513,6),(90517,6),(90519,6),(90522,6),(90529,6),(90532,6),(90548,6),(90549,6),(90559,6),(90573,6),(90575,6),(90588,6),(90596,6),(90597,6),(90600,6),(90610,6),(90612,6),(90617,6),(90625,6),(90631,6),(90632,6),(90634,6),(90635,6),(90638,6),(90639,6),(90649,6),(90650,6),(90662,6),(90675,6),(90688,6),(90692,6),(90698,6),(90707,6),(90714,6),(90730,6),(90738,6),(90739,6),(90742,6),(90754,6),(90760,6),(90762,6),(90771,6),(90773,6),(90782,6),(90790,6),(90794,6),(90808,6),(90820,6),(90824,6),(90837,6),(90855,6),(90864,6),(90881,6),(90888,6),(90893,6),(90904,6),(90912,6),(90920,6),(90923,6),(90929,6),(90931,6),(90936,6),(90941,6),(90949,6),(90968,6),(90970,6),(90971,6),(90973,6),(90974,6),(90979,6),(90998,6),(91003,6),(91004,6),(91007,6),(91017,6),(91018,6),(91021,6),(91027,6),(91036,6),(91054,6),(91058,6),(91066,6),(91067,6),(91071,6),(91075,6),(91081,6),(91092,6),(91110,6),(91113,6),(91124,6),(91125,6),(91126,6),(91127,6),(91128,6),(91131,6),(91136,6),(91140,6),(91149,6),(91153,6),(91155,6),(91164,6),(91174,6),(91178,6),(91193,6),(91195,6),(91198,6),(91199,6),(91200,6),(91206,6),(91209,6),(91214,6),(91221,6),(91223,6),(91232,6),(91242,6),(91258,6),(91260,6),(91263,6),(91266,6),(91268,6),(91275,6),(91278,6),(91279,6),(91287,6),(91288,6),(91303,6),(91319,6),(91320,6),(91332,6),(91334,6),(91336,6),(91338,6),(91340,6),(91342,6),(91351,6),(91353,6),(91355,6),(91356,6),(91360,6),(91366,6),(91373,6),(91376,6),(91381,6),(91385,6),(91386,6),(91387,6),(91389,6),(91399,6),(91404,6),(91417,6),(91424,6),(91429,6),(91438,6),(91441,6),(91443,6),(91444,6),(91450,6),(91460,6),(91469,6),(91474,6),(91483,6),(91492,6),(91493,6),(91498,6),(91502,6),(91508,6),(91510,6),(91513,6),(91518,6),(91524,6),(91538,6),(91563,6),(91567,6),(91571,6),(91585,6),(91590,6),(91593,6),(91596,6),(91607,6),(91611,6),(91619,6),(91625,6),(91629,6),(91630,6),(91632,6),(91638,6),(91646,6),(91649,6),(91659,6),(91664,6),(91676,6),(91685,6),(91687,6),(91695,6),(91696,6),(91698,6),(91713,6),(91724,6),(91728,6),(91731,6),(91732,6),(91739,6),(91745,6),(91748,6),(91753,6),(91761,6),(91767,6),(91778,6),(91786,6),(91794,6),(91803,6),(91811,6),(91829,6),(91838,6),(91840,6),(91860,6),(91865,6),(91868,6),(91876,6),(91885,6),(91888,6),(91894,6),(91903,6),(91905,6),(91908,6),(91912,6),(91913,6),(91917,6),(91923,6),(91945,6),(91957,6),(91963,6),(91965,6),(91972,6),(91975,6),(91981,6),(91996,6),(91998,6),(92003,6),(92009,6),(92017,6),(92019,6),(92023,6),(92024,6),(92027,6),(92028,6),(92032,6),(92033,6),(92037,6),(92041,6),(92048,6),(92052,6),(92053,6),(92055,6),(92058,6),(92079,6),(92082,6),(92085,6),(92090,6),(92094,6),(92111,6),(92119,6),(92129,6),(92133,6),(92135,6),(92137,6),(92164,6),(92174,6),(92178,6),(92179,6),(92187,6),(92189,6),(92193,6),(92194,6),(92196,6),(92221,6),(92232,6),(92243,6),(92246,6),(92247,6),(92250,6),(92251,6),(92269,6),(92287,6),(92300,6),(92307,6),(92308,6),(92326,6),(92332,6),(92337,6),(92346,6),(92353,6),(92356,6),(92357,6),(92359,6),(92365,6),(92366,6),(92369,6),(92377,6),(92409,6),(92418,6),(92424,6),(92425,6),(92427,6),(92453,6),(92459,6),(92472,6),(92473,6),(92493,6),(92494,6),(92499,6),(92515,6),(92516,6),(92526,6),(92527,6),(92528,6),(92534,6),(92550,6),(92554,6),(92556,6),(92570,6),(92575,6),(92576,6),(92582,6),(92612,6),(92626,6),(92643,6),(92644,6),(92650,6),(92651,6),(92656,6),(92671,6),(92684,6),(92689,6),(92690,6),(92699,6),(92701,6),(92710,6),(92715,6),(92718,6),(92724,6),(92728,6),(92744,6),(92748,6),(92759,6),(92774,6),(92786,6),(92794,6),(92795,6),(92808,6),(92809,6),(92825,6),(92829,6),(92830,6),(92835,6),(92836,6),(92837,6),(92838,6),(92848,6),(92850,6),(92866,6),(92867,6),(92873,6),(92881,6),(92884,6),(92901,6),(92902,6),(92903,6),(92904,6),(92910,6),(92911,6),(92912,6),(92923,6),(92942,6),(92951,6),(92954,6),(92964,6),(92969,6),(92972,6),(92974,6),(92981,6),(92984,6),(92986,6),(92994,6),(92995,6),(93003,6),(93004,6),(93005,6),(93014,6),(93015,6),(93022,6),(93026,6),(93031,6),(93032,6),(93034,6),(93043,6),(93050,6),(93055,6),(93056,6),(93057,6),(93058,6),(93064,6),(93074,6),(93075,6),(93076,6),(93077,6),(93078,6),(93098,6),(93101,6),(93102,6),(93104,6),(93112,6),(93114,6),(93115,6),(93133,6),(93136,6),(93149,6),(93155,6),(93156,6),(93160,6),(93161,6),(93164,6),(93168,6),(93173,6),(93174,6),(93181,6),(93183,6),(93192,6),(93202,6),(93209,6),(93212,6),(93214,6),(93215,6),(93223,6),(93234,6),(93246,6),(93248,6),(93253,6),(93255,6),(93256,6),(93258,6),(93294,6),(93305,6),(93308,6),(93310,6),(93313,6),(93315,6),(93316,6),(93320,6),(93328,6),(93329,6),(93334,6),(93335,6),(93337,6),(93351,6),(93362,6),(93366,6),(93368,6),(93376,6),(93381,6),(93383,6),(93385,6),(93396,6),(93399,6),(93406,6),(93407,6),(93411,6),(93414,6),(93415,6),(93417,6),(93435,6),(93436,6),(93439,6),(93441,6),(93444,6),(93450,6),(93457,6),(93461,6),(93467,6),(93468,6),(93472,6),(93485,6),(93498,6),(93500,6),(93501,6),(93503,6),(93508,6),(93512,6),(93517,6),(93525,6),(93526,6),(93529,6),(93554,6),(93556,6),(93558,6),(93565,6),(93583,6),(93596,6),(93601,6),(93604,6),(93620,6),(93622,6),(93626,6),(93628,6),(93651,6),(93671,6),(93677,6),(93685,6),(93688,6),(93689,6),(93698,6),(93703,6),(93711,6),(93712,6),(93714,6),(93724,6),(93726,6),(93740,6),(93756,6),(93760,6),(93761,6),(93766,6),(93795,6),(93797,6),(93801,6),(93802,6),(93814,6),(93815,6),(93816,6),(93825,6),(93828,6),(93835,6),(93848,6),(93849,6),(93850,6),(93857,6),(93871,6),(93877,6),(93889,6),(93893,6),(93897,6),(93899,6),(93902,6),(93904,6),(93906,6),(93907,6),(93908,6),(93914,6),(93918,6),(93922,6),(93927,6),(93937,6),(93945,6),(93953,6),(93959,6),(93962,6),(93963,6),(93979,6),(93989,6),(93990,6),(94013,6),(94020,6),(94023,6),(94024,6),(94025,6),(94026,6),(94027,6),(94039,6),(94041,6),(94047,6),(94049,6),(94055,6),(94067,6),(94075,6),(94089,6),(94096,6),(94104,6),(94108,6),(94114,6),(94116,6),(94128,6),(94131,6),(94133,6),(94135,6),(94142,6),(94143,6),(94146,6),(94153,6),(94157,6),(94158,6),(94163,6),(94164,6),(94171,6),(94180,6),(94192,6),(94199,6),(94219,6),(94225,6),(94238,6),(94245,6),(94262,6),(94268,6),(94272,6),(94277,6),(94279,6),(94280,6),(94281,6),(94291,6),(94293,6),(94305,6),(94306,6),(94308,6),(94327,6),(94332,6),(94334,6),(94340,6),(94342,6),(94344,6),(94347,6),(94350,6),(94365,6),(94367,6),(94374,6),(94379,6),(94381,6),(94387,6),(94391,6),(94395,6),(94396,6),(94399,6),(94401,6),(94406,6),(94409,6),(94415,6),(94417,6),(94418,6),(94436,6),(94445,6),(94452,6),(94455,6),(94473,6),(94479,6),(94491,6),(94498,6),(94504,6),(94505,6),(94512,6),(94516,6),(94525,6),(94533,6),(94534,6),(94536,6),(94541,6),(94545,6),(94550,6),(94557,6),(94562,6),(94589,6),(94600,6),(94603,6),(94612,6),(94613,6),(94629,6),(94638,6),(94649,6),(94651,6),(94653,6),(94664,6),(94672,6),(94675,6),(94685,6),(94686,6),(94687,6),(94691,6),(94692,6),(94701,6),(94705,6),(94709,6),(94710,6),(94719,6),(94726,6),(94729,6),(94733,6),(94737,6),(94739,6),(94748,6),(94752,6),(94753,6),(94771,6),(94774,6),(94789,6),(94813,6),(94814,6),(94817,6),(94822,6),(94824,6),(94831,6),(94834,6),(94838,6),(94853,6),(94863,6),(94869,6),(94883,6),(94891,6),(94905,6),(94906,6),(94909,6),(94917,6),(94920,6),(94924,6),(94928,6),(94935,6),(94938,6),(94939,6),(94943,6),(94948,6),(94952,6),(94953,6),(94963,6),(94976,6),(94977,6),(94981,6),(94982,6),(94991,6),(94996,6),(94997,6),(94999,6),(95003,6),(95006,6),(95022,6),(95024,6),(95025,6),(95030,6),(95033,6),(95039,6),(95041,6),(95042,6),(95053,6),(95060,6),(95064,6),(95066,6),(95080,6),(95087,6),(95089,6),(95090,6),(95094,6),(95100,6),(95101,6),(95112,6),(95116,6),(95119,6),(95123,6),(95125,6),(95128,6),(95138,6),(95146,6),(95147,6),(95148,6),(95151,6),(95152,6),(95157,6),(95164,6),(95166,6),(95175,6),(95177,6),(95188,6),(95196,6),(95200,6),(95203,6),(95207,6),(95219,6),(95223,6),(95224,6),(95228,6),(95231,6),(95237,6),(95241,6),(95242,6),(95255,6),(95258,6),(95262,6),(95269,6),(95272,6),(95274,6),(95283,6),(95287,6),(95292,6),(95295,6),(95296,6),(95297,6),(95303,6),(95310,6),(95314,6),(95325,6),(95342,6),(95355,6),(95358,6),(95361,6),(95363,6),(95376,6),(95387,6),(95391,6),(95401,6),(95403,6),(95414,6),(95415,6),(95416,6),(95432,6),(95436,6),(95437,6),(95439,6),(95443,6),(95444,6),(95447,6),(95463,6),(95466,6),(95470,6),(95476,6),(95481,6),(95493,6),(95507,6),(95512,6),(95534,6),(95541,6),(95544,6),(95562,6),(95565,6),(95570,6),(95571,6),(95579,6),(95586,6),(95587,6),(95595,6),(95597,6),(95599,6),(95602,6),(95603,6),(95605,6),(95632,6),(95638,6),(95640,6),(95642,6),(95643,6),(95647,6),(95654,6),(95667,6),(95673,6),(95676,6),(95680,6),(95686,6),(95696,6),(95708,6),(95709,6),(95714,6),(95723,6),(95724,6),(95734,6),(95739,6),(95743,6),(95747,6),(95749,6),(95753,6),(95757,6),(95770,6),(95773,6),(95791,6),(95799,6),(95802,6),(95804,6),(95812,6),(95817,6),(95826,6),(95827,6),(95834,6),(95835,6),(95837,6),(95838,6),(95840,6),(95853,6),(95856,6),(95866,6),(95873,6),(95881,6),(95886,6),(95889,6),(95897,6),(95903,6),(95904,6),(95919,6),(95931,6),(95939,6),(95950,6),(95951,6),(95961,6),(95962,6),(95978,6),(95987,6),(96012,6),(96013,6),(96015,6),(96020,6),(96024,6),(96026,6),(96029,6),(96030,6),(96037,6),(96042,6),(96054,6),(96055,6),(96065,6),(96085,6),(96086,6),(96087,6),(96102,6),(96114,6),(96120,6),(96130,6),(96133,6),(96134,6),(96136,6),(96137,6),(96139,6),(96142,6),(96153,6),(96155,6),(96160,6),(96173,6),(96177,6),(96181,6),(96189,6),(96197,6),(96201,6),(96203,6),(96204,6),(96207,6),(96210,6),(96220,6),(96223,6),(96224,6),(96238,6),(96242,6),(96247,6),(96250,6),(96252,6),(96258,6),(96262,6),(96265,6),(96267,6),(96269,6),(96275,6),(96277,6),(96279,6),(96283,6),(96284,6),(96286,6),(96303,6),(96312,6),(96315,6),(96317,6),(96322,6),(96323,6),(96324,6),(96330,6),(96336,6),(96340,6),(96343,6),(96352,6),(96357,6),(96360,6),(96364,6),(96372,6),(96380,6),(96381,6),(96392,6),(96393,6),(96396,6),(96401,6),(96408,6),(96416,6),(96420,6),(96424,6),(96427,6),(96428,6),(96429,6),(96435,6),(96436,6),(96438,6),(96451,6),(96461,6),(96462,6),(96479,6),(96480,6),(96481,6),(96489,6),(96501,6),(96505,6),(96506,6),(96510,6),(96514,6),(96544,6),(96547,6),(96566,6),(96568,6),(96570,6),(96581,6),(96588,6),(96591,6),(96592,6),(96621,6),(96622,6),(96627,6),(96640,6),(96646,6),(96652,6),(96654,6),(96658,6),(96670,6),(96690,6),(96700,6),(96707,6),(96712,6),(96722,6),(96734,6),(96737,6),(96738,6),(96740,6),(96742,6),(96745,6),(96752,6),(96773,6),(96776,6),(96783,6),(96788,6),(96792,6),(96799,6),(96811,6),(96814,6),(96823,6),(96830,6),(96836,6),(96842,6),(96850,6),(96856,6),(96865,6),(96867,6),(96875,6),(96884,6),(96890,6),(96913,6),(96918,6),(96919,6),(96925,6),(96928,6),(96930,6),(96940,6),(96941,6),(96951,6),(96953,6),(96969,6),(96970,6),(96978,6),(96986,6),(96992,6),(97006,6),(97015,6),(97019,6),(97024,6),(97039,6),(97045,6),(97046,6),(97047,6),(97051,6),(97058,6),(97060,6),(97066,6),(97067,6),(97068,6),(97089,6),(97096,6),(97099,6),(97100,6),(97104,6),(97128,6),(97132,6),(97148,6),(97151,6),(97175,6),(97179,6),(97182,6),(97186,6),(97193,6),(97198,6),(97209,6),(97231,6),(97242,6),(97244,6),(97259,6),(97260,6),(97265,6),(97277,6),(97281,6),(97284,6),(97289,6),(97301,6),(97309,6),(97311,6),(97318,6),(97319,6),(97325,6),(97330,6),(97337,6),(97359,6),(97361,6),(97364,6),(97372,6),(97381,6),(97396,6),(97401,6),(97416,6),(97420,6),(97427,6),(97430,6),(97435,6),(97438,6),(97446,6),(97454,6),(97467,6),(97469,6),(97475,6),(97477,6),(97478,6),(97487,6),(97491,6),(97498,6),(97505,6),(97512,6),(97516,6),(97539,6),(97544,6),(97545,6),(97554,6),(97558,6),(97585,6),(97592,6),(97598,6),(97603,6),(97612,6),(97614,6),(97615,6),(97626,6),(97634,6),(97636,6),(97639,6),(97648,6),(97658,6),(97660,6),(97661,6),(97664,6),(97676,6),(97677,6),(97689,6),(97690,6),(97698,6),(97710,6),(97713,6),(97717,6),(97721,6),(97725,6),(97726,6),(97727,6),(97729,6),(97732,6),(97733,6),(97742,6),(97743,6),(97754,6),(97767,6),(97772,6),(97782,6),(97788,6),(97799,6),(97805,6),(97808,6),(97811,6),(97812,6),(97815,6),(97817,6),(97826,6),(97832,6),(97835,6),(97841,6),(97842,6),(97843,6),(97856,6),(97861,6),(97862,6),(97863,6),(97864,6),(97869,6),(97876,6),(97884,6),(97891,6),(97901,6),(97907,6),(97912,6),(97915,6),(97916,6),(97917,6),(97929,6),(97931,6),(97941,6),(97948,6),(97960,6),(97969,6),(97974,6),(97978,6),(97981,6),(97990,6),(97993,6),(97996,6),(98008,6),(98011,6),(98012,6),(98013,6),(98014,6),(98017,6),(98022,6),(98027,6),(98030,6),(98032,6),(98037,6),(98046,6),(98050,6),(98058,6),(98059,6),(98061,6),(98069,6),(98074,6),(98077,6),(98080,6),(98082,6),(98083,6),(98092,6),(98118,6),(98122,6),(98138,6),(98139,6),(98145,6),(98148,6),(98151,6),(98157,6),(98165,6),(98169,6),(98175,6),(98176,6),(98179,6),(98184,6),(98189,6),(98190,6),(98196,6),(98201,6),(98203,6),(98208,6),(98209,6),(98215,6),(98228,6),(98240,6),(98245,6),(98252,6),(98258,6),(98262,6),(98271,6),(98273,6),(98274,6),(98283,6),(98294,6),(98303,6),(98305,6),(98308,6),(98313,6),(98314,6),(98316,6),(98318,6),(98324,6),(98333,6),(98337,6),(98346,6),(98348,6),(98353,6),(98357,6),(98359,6),(98361,6),(98362,6),(98364,6),(98368,6),(98370,6),(98376,6),(98387,6),(98397,6),(98398,6),(98399,6),(98403,6),(98404,6),(98408,6),(98414,6),(98417,6),(98420,6),(98428,6),(98429,6),(98436,6),(98440,6),(98451,6),(98455,6),(98464,6),(98473,6),(98479,6),(98480,6),(98482,6),(98496,6),(98498,6),(98501,6),(98506,6),(98514,6),(98548,6),(98551,6),(98553,6),(98555,6),(98564,6),(98568,6),(98569,6),(98577,6),(98582,6),(98587,6),(98596,6),(98600,6),(98608,6),(98613,6),(98614,6),(98619,6),(98625,6),(98626,6),(98639,6),(98646,6),(98655,6),(98663,6),(98674,6),(98678,6),(98680,6),(98682,6),(98684,6),(98692,6),(98716,6),(98721,6),(98723,6),(98724,6),(98731,6),(98732,6),(98733,6),(98734,6),(98735,6),(98744,6),(98747,6),(98755,6),(98757,6),(98775,6),(98776,6),(98781,6),(98788,6),(98794,6),(98796,6),(98800,6),(98807,6),(98812,6),(98816,6),(98826,6),(98830,6),(98831,6),(98840,6),(98842,6),(98844,6),(98853,6),(98856,6),(98857,6),(98866,6),(98870,6),(98878,6),(98880,6),(98889,6),(98898,6),(98906,6),(98910,6),(98932,6),(98933,6),(98948,6),(98953,6),(98958,6),(98967,6),(98968,6),(98973,6),(98975,6),(98985,6),(98986,6),(98991,6),(98996,6),(98997,6);\n/*!40000 ALTER TABLE `campaign_transactions` ENABLE KEYS */;\nUNLOCK TABLES;\n\n--\n-- Table structure for table `campaigns`\n--\n\nDROP TABLE IF EXISTS `campaigns`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `campaigns` (\n  `id` int(11) NOT NULL AUTO_INCREMENT,\n  `name` varchar(50) NOT NULL,\n  `partner_id` int(11) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_name` (`name`)\n) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `campaigns`\n--\n\nLOCK TABLES `campaigns` WRITE;\n/*!40000 ALTER TABLE `campaigns` DISABLE KEYS */;\nINSERT INTO `campaigns` VALUES (1,'Campaign 1A',1),(2,'Campaign 2A',1),(3,'Campaign 1B',2),(4,'Campaign 2B',2),(5,'Campaign 1C',3),(6,'Campaign 2C',3);\n/*!40000 ALTER TABLE `campaigns` ENABLE KEYS */;\nUNLOCK TABLES;\n/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;\n\n/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;\n/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;\n/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;\n/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;\n\n-- Dump completed on 2020-03-20 19:41:29\n"
  },
  {
    "path": "tests/setup/zillion_test.postgres.sql",
    "content": "--\n-- PostgreSQL database dump\n--\n\n-- Dumped from database version 12.2\n-- Dumped by pg_dump version 12.2\n\nSET statement_timeout = 0;\nSET lock_timeout = 0;\nSET idle_in_transaction_session_timeout = 0;\nSET client_encoding = 'UTF8';\nSET standard_conforming_strings = on;\nSELECT pg_catalog.set_config('search_path', '', false);\nSET check_function_bodies = false;\nSET xmloption = content;\nSET client_min_messages = warning;\nSET row_security = off;\n\n--\n-- Name: zillion_test; Type: SCHEMA; Schema: -; Owner: postgres\n--\n\nCREATE SCHEMA zillion_test;\n\n\nALTER SCHEMA zillion_test OWNER TO postgres;\n\nSET default_tablespace = '';\n\nSET default_table_access_method = heap;\n\n--\n-- Name: campaign_cost; Type: TABLE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE TABLE zillion_test.campaign_cost (\n    campaign_id bigint NOT NULL,\n    cost numeric(10,2),\n    clicks bigint\n);\n\n\nALTER TABLE zillion_test.campaign_cost OWNER TO postgres;\n\n--\n-- Name: campaign_transactions; Type: TABLE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE TABLE zillion_test.campaign_transactions (\n    id bigint NOT NULL,\n    campaign_id bigint NOT NULL\n);\n\n\nALTER TABLE zillion_test.campaign_transactions OWNER TO postgres;\n\n--\n-- Name: campaign_transactions_id_seq; Type: SEQUENCE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE SEQUENCE zillion_test.campaign_transactions_id_seq\n    START WITH 1\n    INCREMENT BY 1\n    NO MINVALUE\n    NO MAXVALUE\n    CACHE 1;\n\n\nALTER TABLE zillion_test.campaign_transactions_id_seq OWNER TO postgres;\n\n--\n-- Name: campaign_transactions_id_seq; Type: SEQUENCE OWNED BY; Schema: zillion_test; Owner: postgres\n--\n\nALTER SEQUENCE zillion_test.campaign_transactions_id_seq OWNED BY zillion_test.campaign_transactions.id;\n\n\n--\n-- Name: campaigns; Type: TABLE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE TABLE zillion_test.campaigns (\n    id bigint NOT NULL,\n    name character varying(50) NOT NULL,\n    category character varying(50) NOT NULL,\n    partner_id bigint NOT NULL,\n    created_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL\n);\n\n\nALTER TABLE zillion_test.campaigns OWNER TO postgres;\n\n--\n-- Name: campaigns_id_seq; Type: SEQUENCE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE SEQUENCE zillion_test.campaigns_id_seq\n    START WITH 1\n    INCREMENT BY 1\n    NO MINVALUE\n    NO MAXVALUE\n    CACHE 1;\n\n\nALTER TABLE zillion_test.campaigns_id_seq OWNER TO postgres;\n\n--\n-- Name: campaigns_id_seq; Type: SEQUENCE OWNED BY; Schema: zillion_test; Owner: postgres\n--\n\nALTER SEQUENCE zillion_test.campaigns_id_seq OWNED BY zillion_test.campaigns.id;\n\n\n--\n-- Name: partners; Type: TABLE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE TABLE zillion_test.partners (\n    id bigint NOT NULL,\n    name character varying(50) NOT NULL,\n    created_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL\n);\n\n\nALTER TABLE zillion_test.partners OWNER TO postgres;\n\n--\n-- Name: partners_id_seq; Type: SEQUENCE; Schema: zillion_test; Owner: postgres\n--\n\nCREATE SEQUENCE zillion_test.partners_id_seq\n    START WITH 1\n    INCREMENT BY 1\n    NO MINVALUE\n    NO MAXVALUE\n    CACHE 1;\n\n\nALTER TABLE zillion_test.partners_id_seq OWNER TO postgres;\n\n--\n-- Name: partners_id_seq; Type: SEQUENCE OWNED BY; Schema: zillion_test; Owner: postgres\n--\n\nALTER SEQUENCE zillion_test.partners_id_seq OWNED BY zillion_test.partners.id;\n\n\n--\n-- Name: campaign_transactions id; Type: DEFAULT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.campaign_transactions ALTER COLUMN id SET DEFAULT nextval('zillion_test.campaign_transactions_id_seq'::regclass);\n\n\n--\n-- Name: campaigns id; Type: DEFAULT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.campaigns ALTER COLUMN id SET DEFAULT nextval('zillion_test.campaigns_id_seq'::regclass);\n\n\n--\n-- Name: partners id; Type: DEFAULT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.partners ALTER COLUMN id SET DEFAULT nextval('zillion_test.partners_id_seq'::regclass);\n\n\n--\n-- Data for Name: campaign_cost; Type: TABLE DATA; Schema: zillion_test; Owner: postgres\n--\n\nCOPY zillion_test.campaign_cost (campaign_id, cost, clicks) FROM stdin;\n1\t10.00\t25\n2\t15.00\t35\n3\t14.00\t24\n4\t18.00\t85\n5\t8.00\t16\n6\t12.00\t15\n\\.\n\n\n--\n-- Data for Name: campaign_transactions; Type: TABLE DATA; Schema: zillion_test; Owner: postgres\n--\n\nCOPY zillion_test.campaign_transactions (id, campaign_id) FROM stdin;\n3\t1\n5\t1\n9\t1\n13\t1\n23\t1\n29\t1\n35\t1\n36\t1\n43\t1\n52\t1\n55\t1\n60\t1\n61\t1\n62\t1\n72\t1\n89\t1\n92\t1\n97\t1\n109\t1\n128\t1\n136\t1\n140\t1\n151\t1\n153\t1\n167\t1\n168\t1\n173\t1\n175\t1\n185\t1\n189\t1\n190\t1\n196\t1\n199\t1\n201\t1\n204\t1\n211\t1\n216\t1\n225\t1\n226\t1\n236\t1\n244\t1\n258\t1\n269\t1\n271\t1\n278\t1\n280\t1\n296\t1\n310\t1\n316\t1\n326\t1\n331\t1\n332\t1\n334\t1\n342\t1\n355\t1\n359\t1\n360\t1\n364\t1\n365\t1\n369\t1\n385\t1\n387\t1\n395\t1\n397\t1\n402\t1\n411\t1\n425\t1\n426\t1\n432\t1\n435\t1\n462\t1\n464\t1\n468\t1\n475\t1\n476\t1\n485\t1\n494\t1\n499\t1\n503\t1\n506\t1\n520\t1\n522\t1\n523\t1\n524\t1\n528\t1\n530\t1\n544\t1\n547\t1\n579\t1\n583\t1\n588\t1\n591\t1\n598\t1\n599\t1\n604\t1\n608\t1\n610\t1\n626\t1\n639\t1\n642\t1\n649\t1\n651\t1\n658\t1\n659\t1\n672\t1\n675\t1\n678\t1\n681\t1\n683\t1\n698\t1\n729\t1\n746\t1\n753\t1\n754\t1\n760\t1\n763\t1\n765\t1\n771\t1\n774\t1\n785\t1\n793\t1\n806\t1\n807\t1\n814\t1\n837\t1\n846\t1\n849\t1\n859\t1\n865\t1\n866\t1\n872\t1\n877\t1\n879\t1\n881\t1\n898\t1\n899\t1\n902\t1\n903\t1\n907\t1\n911\t1\n916\t1\n947\t1\n952\t1\n957\t1\n958\t1\n961\t1\n971\t1\n972\t1\n975\t1\n994\t1\n997\t1\n1001\t1\n1002\t1\n1011\t1\n1019\t1\n1026\t1\n1032\t1\n1046\t1\n1053\t1\n1055\t1\n1061\t1\n1062\t1\n1068\t1\n1070\t1\n1071\t1\n1098\t1\n1100\t1\n1102\t1\n1104\t1\n1107\t1\n1110\t1\n1126\t1\n1128\t1\n1134\t1\n1136\t1\n1137\t1\n1142\t1\n1145\t1\n1146\t1\n1149\t1\n1150\t1\n1174\t1\n1179\t1\n1186\t1\n1190\t1\n1192\t1\n1194\t1\n1205\t1\n1207\t1\n1209\t1\n1220\t1\n1228\t1\n1244\t1\n1252\t1\n1257\t1\n1258\t1\n1259\t1\n1260\t1\n1265\t1\n1266\t1\n1269\t1\n1273\t1\n1274\t1\n1278\t1\n1280\t1\n1291\t1\n1297\t1\n1301\t1\n1312\t1\n1315\t1\n1322\t1\n1325\t1\n1331\t1\n1332\t1\n1333\t1\n1337\t1\n1349\t1\n1359\t1\n1366\t1\n1391\t1\n1394\t1\n1396\t1\n1404\t1\n1405\t1\n1412\t1\n1417\t1\n1425\t1\n1431\t1\n1436\t1\n1448\t1\n1456\t1\n1474\t1\n1475\t1\n1476\t1\n1477\t1\n1497\t1\n1498\t1\n1506\t1\n1510\t1\n1511\t1\n1514\t1\n1515\t1\n1525\t1\n1528\t1\n1568\t1\n1569\t1\n1573\t1\n1574\t1\n1578\t1\n1593\t1\n1595\t1\n1598\t1\n1621\t1\n1644\t1\n1648\t1\n1650\t1\n1655\t1\n1658\t1\n1674\t1\n1683\t1\n1691\t1\n1692\t1\n1699\t1\n1703\t1\n1717\t1\n1734\t1\n1758\t1\n1764\t1\n1767\t1\n1773\t1\n1777\t1\n1781\t1\n1786\t1\n1787\t1\n1796\t1\n1799\t1\n1805\t1\n1815\t1\n1819\t1\n1828\t1\n1829\t1\n1836\t1\n1843\t1\n1844\t1\n1851\t1\n1853\t1\n1876\t1\n1882\t1\n1884\t1\n1889\t1\n1895\t1\n1897\t1\n1901\t1\n1905\t1\n1907\t1\n1913\t1\n1914\t1\n1926\t1\n1931\t1\n1935\t1\n1942\t1\n1945\t1\n1962\t1\n1967\t1\n1969\t1\n1974\t1\n1977\t1\n1978\t1\n1985\t1\n1988\t1\n1989\t1\n1992\t1\n1995\t1\n2002\t1\n2005\t1\n2011\t1\n2012\t1\n2020\t1\n2021\t1\n2022\t1\n2028\t1\n2029\t1\n2030\t1\n2039\t1\n2042\t1\n2051\t1\n2061\t1\n2067\t1\n2076\t1\n2106\t1\n2125\t1\n2130\t1\n2131\t1\n2134\t1\n2141\t1\n2142\t1\n2151\t1\n2155\t1\n2163\t1\n2164\t1\n2165\t1\n2172\t1\n2198\t1\n2199\t1\n2214\t1\n2223\t1\n2235\t1\n2239\t1\n2242\t1\n2247\t1\n2257\t1\n2273\t1\n2276\t1\n2287\t1\n2290\t1\n2303\t1\n2311\t1\n2334\t1\n2339\t1\n2344\t1\n2347\t1\n2350\t1\n2353\t1\n2369\t1\n2383\t1\n2385\t1\n2388\t1\n2389\t1\n2396\t1\n2404\t1\n2411\t1\n2412\t1\n2422\t1\n2441\t1\n2446\t1\n2456\t1\n2459\t1\n2462\t1\n2473\t1\n2475\t1\n2478\t1\n2488\t1\n2499\t1\n2500\t1\n2504\t1\n2505\t1\n2507\t1\n2511\t1\n2513\t1\n2515\t1\n2517\t1\n2525\t1\n2541\t1\n2546\t1\n2549\t1\n2550\t1\n2562\t1\n2572\t1\n2574\t1\n2586\t1\n2596\t1\n2599\t1\n2604\t1\n2605\t1\n2627\t1\n2631\t1\n2634\t1\n2637\t1\n2640\t1\n2647\t1\n2661\t1\n2669\t1\n2670\t1\n2682\t1\n2685\t1\n2686\t1\n2712\t1\n2715\t1\n2718\t1\n2719\t1\n2724\t1\n2730\t1\n2736\t1\n2741\t1\n2744\t1\n2774\t1\n2779\t1\n2786\t1\n2790\t1\n2791\t1\n2792\t1\n2798\t1\n2801\t1\n2810\t1\n2812\t1\n2813\t1\n2817\t1\n2823\t1\n2825\t1\n2826\t1\n2829\t1\n2835\t1\n2844\t1\n2847\t1\n2849\t1\n2858\t1\n2872\t1\n2874\t1\n2878\t1\n2880\t1\n2890\t1\n2895\t1\n2897\t1\n2919\t1\n2921\t1\n2925\t1\n2943\t1\n2945\t1\n2946\t1\n2954\t1\n2958\t1\n2965\t1\n2978\t1\n2983\t1\n2984\t1\n3006\t1\n3010\t1\n3012\t1\n3027\t1\n3031\t1\n3032\t1\n3034\t1\n3044\t1\n3053\t1\n3054\t1\n3056\t1\n3065\t1\n3085\t1\n3092\t1\n3093\t1\n3101\t1\n3105\t1\n3111\t1\n3128\t1\n3142\t1\n3152\t1\n3158\t1\n3164\t1\n3167\t1\n3168\t1\n3178\t1\n3179\t1\n3221\t1\n3224\t1\n3230\t1\n3231\t1\n3235\t1\n3236\t1\n3239\t1\n3245\t1\n3246\t1\n3248\t1\n3249\t1\n3251\t1\n3252\t1\n3264\t1\n3271\t1\n3276\t1\n3277\t1\n3287\t1\n3288\t1\n3309\t1\n3310\t1\n3316\t1\n3318\t1\n3319\t1\n3323\t1\n3329\t1\n3333\t1\n3341\t1\n3342\t1\n3346\t1\n3362\t1\n3365\t1\n3366\t1\n3373\t1\n3376\t1\n3377\t1\n3380\t1\n3382\t1\n3388\t1\n3390\t1\n3393\t1\n3395\t1\n3405\t1\n3411\t1\n3419\t1\n3433\t1\n3440\t1\n3441\t1\n3446\t1\n3447\t1\n3455\t1\n3464\t1\n3468\t1\n3470\t1\n3471\t1\n3475\t1\n3476\t1\n3479\t1\n3484\t1\n3487\t1\n3488\t1\n3492\t1\n3509\t1\n3524\t1\n3528\t1\n3529\t1\n3541\t1\n3544\t1\n3549\t1\n3557\t1\n3564\t1\n3578\t1\n3579\t1\n3582\t1\n3584\t1\n3590\t1\n3601\t1\n3609\t1\n3611\t1\n3615\t1\n3622\t1\n3625\t1\n3628\t1\n3641\t1\n3644\t1\n3650\t1\n3660\t1\n3670\t1\n3679\t1\n3696\t1\n3703\t1\n3714\t1\n3719\t1\n3720\t1\n3721\t1\n3736\t1\n3740\t1\n3742\t1\n3743\t1\n3748\t1\n3750\t1\n3755\t1\n3764\t1\n3768\t1\n3790\t1\n3793\t1\n3797\t1\n3807\t1\n3814\t1\n3816\t1\n3817\t1\n3821\t1\n3823\t1\n3831\t1\n3848\t1\n3851\t1\n3857\t1\n3870\t1\n3872\t1\n3876\t1\n3889\t1\n3894\t1\n3912\t1\n3937\t1\n3941\t1\n3950\t1\n3951\t1\n3960\t1\n3961\t1\n3965\t1\n3966\t1\n3981\t1\n3984\t1\n3994\t1\n4007\t1\n4019\t1\n4020\t1\n4022\t1\n4026\t1\n4034\t1\n4046\t1\n4051\t1\n4058\t1\n4065\t1\n4067\t1\n4069\t1\n4073\t1\n4077\t1\n4083\t1\n4089\t1\n4091\t1\n4095\t1\n4097\t1\n4104\t1\n4114\t1\n4117\t1\n4118\t1\n4119\t1\n4120\t1\n4133\t1\n4137\t1\n4148\t1\n4154\t1\n4156\t1\n4164\t1\n4166\t1\n4167\t1\n4171\t1\n4181\t1\n4202\t1\n4215\t1\n4223\t1\n4224\t1\n4227\t1\n4230\t1\n4231\t1\n4237\t1\n4243\t1\n4255\t1\n4272\t1\n4284\t1\n4287\t1\n4289\t1\n4291\t1\n4297\t1\n4307\t1\n4314\t1\n4315\t1\n4316\t1\n4317\t1\n4318\t1\n4319\t1\n4328\t1\n4341\t1\n4361\t1\n4367\t1\n4371\t1\n4376\t1\n4382\t1\n4387\t1\n4390\t1\n4394\t1\n4398\t1\n4402\t1\n4403\t1\n4404\t1\n4415\t1\n4423\t1\n4424\t1\n4430\t1\n4446\t1\n4448\t1\n4459\t1\n4464\t1\n4470\t1\n4479\t1\n4481\t1\n4485\t1\n4506\t1\n4510\t1\n4517\t1\n4520\t1\n4523\t1\n4527\t1\n4536\t1\n4541\t1\n4549\t1\n4567\t1\n4572\t1\n4575\t1\n4576\t1\n4577\t1\n4587\t1\n4592\t1\n4593\t1\n4595\t1\n4600\t1\n4612\t1\n4622\t1\n4623\t1\n4629\t1\n4631\t1\n4640\t1\n4642\t1\n4651\t1\n4656\t1\n4663\t1\n4665\t1\n4683\t1\n4689\t1\n4693\t1\n4697\t1\n4698\t1\n4711\t1\n4715\t1\n4718\t1\n4719\t1\n4724\t1\n4727\t1\n4737\t1\n4740\t1\n4747\t1\n4752\t1\n4756\t1\n4759\t1\n4768\t1\n4779\t1\n4793\t1\n4794\t1\n4796\t1\n4799\t1\n4802\t1\n4809\t1\n4823\t1\n4829\t1\n4838\t1\n4839\t1\n4840\t1\n4844\t1\n4846\t1\n4852\t1\n4855\t1\n4865\t1\n4866\t1\n4875\t1\n4877\t1\n4887\t1\n4889\t1\n4890\t1\n4893\t1\n4895\t1\n4896\t1\n4899\t1\n4901\t1\n4906\t1\n4916\t1\n4922\t1\n4939\t1\n4943\t1\n4944\t1\n4962\t1\n4963\t1\n4972\t1\n4976\t1\n4979\t1\n4980\t1\n4986\t1\n4989\t1\n5003\t1\n5016\t1\n5039\t1\n5042\t1\n5044\t1\n5047\t1\n5065\t1\n5068\t1\n5072\t1\n5075\t1\n5081\t1\n5082\t1\n5085\t1\n5089\t1\n5091\t1\n5106\t1\n5109\t1\n5110\t1\n5113\t1\n5120\t1\n5133\t1\n5137\t1\n5146\t1\n5162\t1\n5163\t1\n5164\t1\n5168\t1\n5180\t1\n5188\t1\n5194\t1\n5205\t1\n5211\t1\n5218\t1\n5225\t1\n5232\t1\n5233\t1\n5240\t1\n5241\t1\n5247\t1\n5253\t1\n5263\t1\n5268\t1\n5269\t1\n5276\t1\n5277\t1\n5284\t1\n5295\t1\n5296\t1\n5297\t1\n5303\t1\n5306\t1\n5312\t1\n5321\t1\n5326\t1\n5340\t1\n5353\t1\n5354\t1\n5357\t1\n5365\t1\n5373\t1\n5395\t1\n5397\t1\n5402\t1\n5410\t1\n5412\t1\n5419\t1\n5423\t1\n5428\t1\n5432\t1\n5441\t1\n5442\t1\n5445\t1\n5451\t1\n5453\t1\n5458\t1\n5476\t1\n5482\t1\n5486\t1\n5488\t1\n5489\t1\n5505\t1\n5506\t1\n5511\t1\n5515\t1\n5517\t1\n5532\t1\n5543\t1\n5552\t1\n5565\t1\n5567\t1\n5581\t1\n5582\t1\n5589\t1\n5594\t1\n5598\t1\n5613\t1\n5617\t1\n5621\t1\n5623\t1\n5627\t1\n5635\t1\n5648\t1\n5651\t1\n5659\t1\n5663\t1\n5666\t1\n5673\t1\n5674\t1\n5702\t1\n5710\t1\n5713\t1\n5719\t1\n5721\t1\n5722\t1\n5723\t1\n5739\t1\n5744\t1\n5745\t1\n5754\t1\n5761\t1\n5763\t1\n5766\t1\n5770\t1\n5781\t1\n5784\t1\n5807\t1\n5811\t1\n5813\t1\n5814\t1\n5817\t1\n5818\t1\n5820\t1\n5836\t1\n5843\t1\n5845\t1\n5847\t1\n5849\t1\n5850\t1\n5851\t1\n5852\t1\n5856\t1\n5863\t1\n5876\t1\n5900\t1\n5908\t1\n5915\t1\n5918\t1\n5929\t1\n5932\t1\n5933\t1\n5942\t1\n5944\t1\n5951\t1\n5953\t1\n5964\t1\n5972\t1\n5980\t1\n5983\t1\n5987\t1\n5993\t1\n5994\t1\n5995\t1\n5998\t1\n5999\t1\n6010\t1\n6021\t1\n6025\t1\n6026\t1\n6028\t1\n6050\t1\n6052\t1\n6053\t1\n6055\t1\n6068\t1\n6071\t1\n6080\t1\n6084\t1\n6112\t1\n6120\t1\n6127\t1\n6129\t1\n6131\t1\n6134\t1\n6143\t1\n6148\t1\n6151\t1\n6170\t1\n6171\t1\n6175\t1\n6177\t1\n6178\t1\n6200\t1\n6215\t1\n6220\t1\n6226\t1\n6238\t1\n6240\t1\n6241\t1\n6251\t1\n6253\t1\n6259\t1\n6277\t1\n6281\t1\n6295\t1\n6303\t1\n6306\t1\n6307\t1\n6318\t1\n6327\t1\n6331\t1\n6339\t1\n6341\t1\n6344\t1\n6346\t1\n6348\t1\n6355\t1\n6356\t1\n6366\t1\n6367\t1\n6371\t1\n6376\t1\n6377\t1\n6393\t1\n6412\t1\n6429\t1\n6432\t1\n6433\t1\n6436\t1\n6445\t1\n6446\t1\n6452\t1\n6460\t1\n6463\t1\n6482\t1\n6483\t1\n6493\t1\n6495\t1\n6497\t1\n6516\t1\n6517\t1\n6522\t1\n6540\t1\n6543\t1\n6547\t1\n6548\t1\n6551\t1\n6554\t1\n6564\t1\n6569\t1\n6574\t1\n6595\t1\n6603\t1\n6605\t1\n6610\t1\n6621\t1\n6626\t1\n6636\t1\n6637\t1\n6648\t1\n6649\t1\n6651\t1\n6654\t1\n6655\t1\n6667\t1\n6669\t1\n6680\t1\n6684\t1\n6686\t1\n6695\t1\n6697\t1\n6703\t1\n6707\t1\n6708\t1\n6716\t1\n6717\t1\n6718\t1\n6729\t1\n6741\t1\n6745\t1\n6750\t1\n6755\t1\n6758\t1\n6763\t1\n6764\t1\n6765\t1\n6768\t1\n6772\t1\n6781\t1\n6787\t1\n6791\t1\n6792\t1\n6795\t1\n6796\t1\n6800\t1\n6804\t1\n6805\t1\n6806\t1\n6820\t1\n6826\t1\n6827\t1\n6829\t1\n6833\t1\n6838\t1\n6848\t1\n6860\t1\n6864\t1\n6867\t1\n6869\t1\n6870\t1\n6872\t1\n6874\t1\n6882\t1\n6883\t1\n6887\t1\n6893\t1\n6898\t1\n6916\t1\n6926\t1\n6927\t1\n6930\t1\n6936\t1\n6942\t1\n6946\t1\n6952\t1\n6981\t1\n6991\t1\n6996\t1\n7011\t1\n7016\t1\n7019\t1\n7023\t1\n7024\t1\n7050\t1\n7063\t1\n7065\t1\n7071\t1\n7077\t1\n7080\t1\n7081\t1\n7085\t1\n7089\t1\n7098\t1\n7109\t1\n7112\t1\n7123\t1\n7126\t1\n7148\t1\n7155\t1\n7156\t1\n7157\t1\n7160\t1\n7161\t1\n7163\t1\n7174\t1\n7177\t1\n7178\t1\n7195\t1\n7205\t1\n7208\t1\n7209\t1\n7218\t1\n7226\t1\n7234\t1\n7246\t1\n7250\t1\n7251\t1\n7254\t1\n7256\t1\n7272\t1\n7285\t1\n7304\t1\n7305\t1\n7319\t1\n7339\t1\n7344\t1\n7350\t1\n7351\t1\n7358\t1\n7360\t1\n7367\t1\n7371\t1\n7372\t1\n7382\t1\n7384\t1\n7387\t1\n7390\t1\n7397\t1\n7403\t1\n7410\t1\n7412\t1\n7414\t1\n7428\t1\n7429\t1\n7438\t1\n7447\t1\n7448\t1\n7452\t1\n7458\t1\n7459\t1\n7464\t1\n7465\t1\n7468\t1\n7471\t1\n7473\t1\n7478\t1\n7483\t1\n7489\t1\n7493\t1\n7495\t1\n7508\t1\n7514\t1\n7525\t1\n7529\t1\n7540\t1\n7579\t1\n7580\t1\n7584\t1\n7585\t1\n7595\t1\n7596\t1\n7599\t1\n7606\t1\n7608\t1\n7610\t1\n7618\t1\n7621\t1\n7626\t1\n7634\t1\n7639\t1\n7651\t1\n7663\t1\n7666\t1\n7671\t1\n7672\t1\n7679\t1\n7680\t1\n7691\t1\n7692\t1\n7696\t1\n7706\t1\n7711\t1\n7713\t1\n7720\t1\n7752\t1\n7758\t1\n7759\t1\n7768\t1\n7770\t1\n7783\t1\n7787\t1\n7790\t1\n7792\t1\n7814\t1\n7816\t1\n7821\t1\n7824\t1\n7828\t1\n7843\t1\n7851\t1\n7853\t1\n7856\t1\n7860\t1\n7861\t1\n7884\t1\n7899\t1\n7916\t1\n7922\t1\n7924\t1\n7933\t1\n7940\t1\n7943\t1\n7944\t1\n7948\t1\n7958\t1\n7960\t1\n7961\t1\n7962\t1\n7964\t1\n7990\t1\n7992\t1\n7996\t1\n8013\t1\n8020\t1\n8022\t1\n8026\t1\n8031\t1\n8032\t1\n8034\t1\n8044\t1\n8050\t1\n8066\t1\n8067\t1\n8079\t1\n8094\t1\n8096\t1\n8097\t1\n8108\t1\n8114\t1\n8115\t1\n8121\t1\n8122\t1\n8134\t1\n8139\t1\n8140\t1\n8143\t1\n8156\t1\n8162\t1\n8171\t1\n8178\t1\n8179\t1\n8184\t1\n8190\t1\n8192\t1\n8196\t1\n8197\t1\n8198\t1\n8199\t1\n8200\t1\n8204\t1\n8229\t1\n8230\t1\n8239\t1\n8244\t1\n8248\t1\n8260\t1\n8278\t1\n8279\t1\n8290\t1\n8291\t1\n8294\t1\n8295\t1\n8297\t1\n8301\t1\n8320\t1\n8326\t1\n8343\t1\n8351\t1\n8352\t1\n8358\t1\n8365\t1\n8372\t1\n8374\t1\n8378\t1\n8389\t1\n8390\t1\n8403\t1\n8408\t1\n8411\t1\n8422\t1\n8423\t1\n8432\t1\n8441\t1\n8448\t1\n8450\t1\n8451\t1\n8458\t1\n8462\t1\n8467\t1\n8468\t1\n8470\t1\n8471\t1\n8485\t1\n8494\t1\n8507\t1\n8512\t1\n8515\t1\n8520\t1\n8535\t1\n8541\t1\n8544\t1\n8545\t1\n8548\t1\n8561\t1\n8563\t1\n8565\t1\n8568\t1\n8573\t1\n8577\t1\n8578\t1\n8580\t1\n8589\t1\n8598\t1\n8600\t1\n8601\t1\n8603\t1\n8621\t1\n8638\t1\n8645\t1\n8658\t1\n8664\t1\n8687\t1\n8691\t1\n8693\t1\n8696\t1\n8697\t1\n8699\t1\n8718\t1\n8732\t1\n8733\t1\n8752\t1\n8756\t1\n8757\t1\n8761\t1\n8762\t1\n8763\t1\n8764\t1\n8765\t1\n8776\t1\n8792\t1\n8797\t1\n8800\t1\n8807\t1\n8812\t1\n8813\t1\n8825\t1\n8835\t1\n8837\t1\n8842\t1\n8843\t1\n8846\t1\n8861\t1\n8863\t1\n8865\t1\n8882\t1\n8883\t1\n8884\t1\n8889\t1\n8902\t1\n8916\t1\n8920\t1\n8921\t1\n8928\t1\n8929\t1\n8933\t1\n8938\t1\n8939\t1\n8947\t1\n8960\t1\n8970\t1\n8972\t1\n8977\t1\n8987\t1\n8999\t1\n9010\t1\n9023\t1\n9028\t1\n9030\t1\n9037\t1\n9038\t1\n9040\t1\n9044\t1\n9045\t1\n9054\t1\n9062\t1\n9063\t1\n9071\t1\n9075\t1\n9077\t1\n9081\t1\n9085\t1\n9086\t1\n9090\t1\n9096\t1\n9100\t1\n9101\t1\n9107\t1\n9108\t1\n9111\t1\n9114\t1\n9118\t1\n9129\t1\n9130\t1\n9135\t1\n9138\t1\n9139\t1\n9173\t1\n9175\t1\n9202\t1\n9212\t1\n9220\t1\n9241\t1\n9249\t1\n9252\t1\n9255\t1\n9258\t1\n9259\t1\n9268\t1\n9270\t1\n9272\t1\n9276\t1\n9277\t1\n9280\t1\n9284\t1\n9285\t1\n9296\t1\n9297\t1\n9309\t1\n9326\t1\n9329\t1\n9331\t1\n9338\t1\n9350\t1\n9353\t1\n9355\t1\n9359\t1\n9362\t1\n9373\t1\n9374\t1\n9386\t1\n9391\t1\n9395\t1\n9399\t1\n9420\t1\n9434\t1\n9439\t1\n9440\t1\n9441\t1\n9444\t1\n9445\t1\n9447\t1\n9466\t1\n9503\t1\n9505\t1\n9511\t1\n9513\t1\n9515\t1\n9516\t1\n9517\t1\n9519\t1\n9529\t1\n9538\t1\n9539\t1\n9540\t1\n9544\t1\n9547\t1\n9550\t1\n9562\t1\n9563\t1\n9573\t1\n9577\t1\n9579\t1\n9583\t1\n9592\t1\n9605\t1\n9606\t1\n9608\t1\n9609\t1\n9610\t1\n9617\t1\n9618\t1\n9641\t1\n9649\t1\n9651\t1\n9658\t1\n9660\t1\n9685\t1\n9691\t1\n9693\t1\n9697\t1\n9698\t1\n9703\t1\n9704\t1\n9706\t1\n9713\t1\n9715\t1\n9718\t1\n9731\t1\n9736\t1\n9743\t1\n9757\t1\n9758\t1\n9766\t1\n9775\t1\n9778\t1\n9785\t1\n9787\t1\n9790\t1\n9795\t1\n9797\t1\n9803\t1\n9814\t1\n9836\t1\n9838\t1\n9849\t1\n9860\t1\n9862\t1\n9870\t1\n9882\t1\n9898\t1\n9901\t1\n9910\t1\n9915\t1\n9926\t1\n9929\t1\n9956\t1\n9959\t1\n9971\t1\n9978\t1\n9979\t1\n9985\t1\n9990\t1\n9995\t1\n9996\t1\n10010\t1\n10013\t1\n10027\t1\n10028\t1\n10029\t1\n10040\t1\n10052\t1\n10064\t1\n10066\t1\n10068\t1\n10073\t1\n10076\t1\n10081\t1\n10090\t1\n10098\t1\n10100\t1\n10102\t1\n10104\t1\n10118\t1\n10122\t1\n10131\t1\n10137\t1\n10152\t1\n10156\t1\n10158\t1\n10164\t1\n10180\t1\n10181\t1\n10198\t1\n10201\t1\n10224\t1\n10225\t1\n10228\t1\n10235\t1\n10238\t1\n10241\t1\n10251\t1\n10266\t1\n10274\t1\n10275\t1\n10280\t1\n10283\t1\n10284\t1\n10287\t1\n10293\t1\n10305\t1\n10306\t1\n10311\t1\n10315\t1\n10317\t1\n10333\t1\n10336\t1\n10338\t1\n10349\t1\n10351\t1\n10355\t1\n10356\t1\n10367\t1\n10369\t1\n10371\t1\n10380\t1\n10381\t1\n10382\t1\n10393\t1\n10394\t1\n10399\t1\n10416\t1\n10424\t1\n10440\t1\n10444\t1\n10455\t1\n10466\t1\n10479\t1\n10490\t1\n10493\t1\n10499\t1\n10506\t1\n10508\t1\n10532\t1\n10534\t1\n10537\t1\n10552\t1\n10554\t1\n10559\t1\n10562\t1\n10578\t1\n10580\t1\n10591\t1\n10594\t1\n10618\t1\n10620\t1\n10627\t1\n10630\t1\n10651\t1\n10654\t1\n10660\t1\n10661\t1\n10663\t1\n10671\t1\n10679\t1\n10681\t1\n10689\t1\n10707\t1\n10709\t1\n10716\t1\n10718\t1\n10720\t1\n10735\t1\n10746\t1\n10747\t1\n10757\t1\n10760\t1\n10762\t1\n10765\t1\n10768\t1\n10772\t1\n10778\t1\n10788\t1\n10797\t1\n10801\t1\n10805\t1\n10807\t1\n10808\t1\n10809\t1\n10810\t1\n10815\t1\n10820\t1\n10825\t1\n10827\t1\n10842\t1\n10847\t1\n10856\t1\n10860\t1\n10862\t1\n10869\t1\n10873\t1\n10875\t1\n10879\t1\n10880\t1\n10895\t1\n10897\t1\n10901\t1\n10915\t1\n10917\t1\n10925\t1\n10929\t1\n10949\t1\n10955\t1\n10960\t1\n10963\t1\n10965\t1\n10976\t1\n10982\t1\n10983\t1\n10984\t1\n10986\t1\n10988\t1\n10990\t1\n11001\t1\n11002\t1\n11016\t1\n11020\t1\n11028\t1\n11029\t1\n11032\t1\n11044\t1\n11047\t1\n11048\t1\n11050\t1\n11053\t1\n11057\t1\n11071\t1\n11077\t1\n11078\t1\n11079\t1\n11091\t1\n11093\t1\n11097\t1\n11100\t1\n11101\t1\n11107\t1\n11114\t1\n11119\t1\n11120\t1\n11126\t1\n11139\t1\n11141\t1\n11142\t1\n11144\t1\n11145\t1\n11152\t1\n11154\t1\n11174\t1\n11182\t1\n11193\t1\n11194\t1\n11219\t1\n11222\t1\n11225\t1\n11242\t1\n11246\t1\n11249\t1\n11250\t1\n11255\t1\n11260\t1\n11268\t1\n11275\t1\n11277\t1\n11295\t1\n11302\t1\n11310\t1\n11311\t1\n11312\t1\n11314\t1\n11315\t1\n11325\t1\n11328\t1\n11330\t1\n11338\t1\n11341\t1\n11344\t1\n11354\t1\n11365\t1\n11373\t1\n11380\t1\n11383\t1\n11386\t1\n11389\t1\n11405\t1\n11408\t1\n11425\t1\n11430\t1\n11444\t1\n11451\t1\n11459\t1\n11462\t1\n11464\t1\n11466\t1\n11468\t1\n11476\t1\n11482\t1\n11489\t1\n11490\t1\n11491\t1\n11494\t1\n11495\t1\n11499\t1\n11509\t1\n11512\t1\n11514\t1\n11520\t1\n11534\t1\n11536\t1\n11538\t1\n11544\t1\n11564\t1\n11566\t1\n11578\t1\n11580\t1\n11583\t1\n11595\t1\n11597\t1\n11603\t1\n11607\t1\n11613\t1\n11618\t1\n11633\t1\n11644\t1\n11663\t1\n11667\t1\n11678\t1\n11679\t1\n11688\t1\n11692\t1\n11694\t1\n11697\t1\n11699\t1\n11703\t1\n11705\t1\n11706\t1\n11716\t1\n11725\t1\n11731\t1\n11733\t1\n11736\t1\n11741\t1\n11752\t1\n11758\t1\n11770\t1\n11789\t1\n11793\t1\n11796\t1\n11814\t1\n11816\t1\n11818\t1\n11830\t1\n11837\t1\n11842\t1\n11846\t1\n11861\t1\n11864\t1\n11880\t1\n11883\t1\n11885\t1\n11890\t1\n11895\t1\n11906\t1\n11912\t1\n11932\t1\n11935\t1\n11941\t1\n11944\t1\n11948\t1\n11952\t1\n11959\t1\n11962\t1\n11969\t1\n11973\t1\n11975\t1\n11977\t1\n11981\t1\n11982\t1\n11983\t1\n11985\t1\n12001\t1\n12006\t1\n12008\t1\n12014\t1\n12019\t1\n12032\t1\n12037\t1\n12044\t1\n12045\t1\n12053\t1\n12064\t1\n12066\t1\n12068\t1\n12079\t1\n12085\t1\n12098\t1\n12102\t1\n12116\t1\n12133\t1\n12141\t1\n12158\t1\n12163\t1\n12166\t1\n12170\t1\n12176\t1\n12182\t1\n12183\t1\n12187\t1\n12188\t1\n12191\t1\n12195\t1\n12202\t1\n12205\t1\n12210\t1\n12224\t1\n12226\t1\n12238\t1\n12240\t1\n12248\t1\n12264\t1\n12269\t1\n12273\t1\n12274\t1\n12288\t1\n12306\t1\n12310\t1\n12313\t1\n12314\t1\n12316\t1\n12323\t1\n12327\t1\n12336\t1\n12346\t1\n12347\t1\n12349\t1\n12354\t1\n12359\t1\n12364\t1\n12372\t1\n12375\t1\n12378\t1\n12387\t1\n12393\t1\n12396\t1\n12397\t1\n12399\t1\n12401\t1\n12407\t1\n12413\t1\n12420\t1\n12423\t1\n12431\t1\n12433\t1\n12436\t1\n12437\t1\n12441\t1\n12448\t1\n12454\t1\n12455\t1\n12468\t1\n12477\t1\n12480\t1\n12483\t1\n12484\t1\n12491\t1\n12501\t1\n12502\t1\n12505\t1\n12529\t1\n12537\t1\n12538\t1\n12545\t1\n12550\t1\n12551\t1\n12559\t1\n12568\t1\n12569\t1\n12575\t1\n12581\t1\n12584\t1\n12591\t1\n12600\t1\n12606\t1\n12611\t1\n12615\t1\n12638\t1\n12643\t1\n12644\t1\n12647\t1\n12661\t1\n12676\t1\n12689\t1\n12690\t1\n12694\t1\n12697\t1\n12699\t1\n12705\t1\n12718\t1\n12721\t1\n12724\t1\n12739\t1\n12740\t1\n12750\t1\n12752\t1\n12755\t1\n12756\t1\n12767\t1\n12777\t1\n12790\t1\n12791\t1\n12793\t1\n12800\t1\n12806\t1\n12809\t1\n12824\t1\n12826\t1\n12827\t1\n12843\t1\n12852\t1\n12860\t1\n12870\t1\n12872\t1\n12874\t1\n12875\t1\n12885\t1\n12893\t1\n12894\t1\n12906\t1\n12907\t1\n12916\t1\n12918\t1\n12919\t1\n12920\t1\n12928\t1\n12939\t1\n12940\t1\n12943\t1\n12946\t1\n12955\t1\n12957\t1\n12961\t1\n12963\t1\n12970\t1\n12978\t1\n12988\t1\n12996\t1\n13001\t1\n13002\t1\n13019\t1\n13020\t1\n13023\t1\n13037\t1\n13038\t1\n13042\t1\n13043\t1\n13044\t1\n13046\t1\n13047\t1\n13053\t1\n13058\t1\n13062\t1\n13095\t1\n13102\t1\n13109\t1\n13110\t1\n13112\t1\n13116\t1\n13136\t1\n13139\t1\n13146\t1\n13155\t1\n13162\t1\n13165\t1\n13174\t1\n13186\t1\n13194\t1\n13195\t1\n13204\t1\n13219\t1\n13220\t1\n13222\t1\n13227\t1\n13228\t1\n13236\t1\n13239\t1\n13246\t1\n13247\t1\n13252\t1\n13262\t1\n13269\t1\n13270\t1\n13275\t1\n13287\t1\n13303\t1\n13319\t1\n13327\t1\n13331\t1\n13338\t1\n13347\t1\n13355\t1\n13356\t1\n13364\t1\n13388\t1\n13389\t1\n13397\t1\n13411\t1\n13412\t1\n13416\t1\n13432\t1\n13434\t1\n13445\t1\n13453\t1\n13458\t1\n13463\t1\n13470\t1\n13473\t1\n13476\t1\n13489\t1\n13490\t1\n13505\t1\n13509\t1\n13533\t1\n13557\t1\n13559\t1\n13562\t1\n13564\t1\n13567\t1\n13593\t1\n13594\t1\n13596\t1\n13597\t1\n13599\t1\n13612\t1\n13614\t1\n13621\t1\n13624\t1\n13625\t1\n13627\t1\n13632\t1\n13635\t1\n13636\t1\n13637\t1\n13638\t1\n13640\t1\n13644\t1\n13649\t1\n13652\t1\n13655\t1\n13658\t1\n13659\t1\n13665\t1\n13667\t1\n13670\t1\n13678\t1\n13688\t1\n13689\t1\n13690\t1\n13693\t1\n13701\t1\n13702\t1\n13704\t1\n13719\t1\n13727\t1\n13732\t1\n13743\t1\n13749\t1\n13757\t1\n13768\t1\n13773\t1\n13776\t1\n13778\t1\n13785\t1\n13786\t1\n13789\t1\n13792\t1\n13797\t1\n13808\t1\n13810\t1\n13825\t1\n13826\t1\n13827\t1\n13829\t1\n13833\t1\n13835\t1\n13850\t1\n13853\t1\n13861\t1\n13864\t1\n13874\t1\n13886\t1\n13898\t1\n13908\t1\n13912\t1\n13913\t1\n13917\t1\n13927\t1\n13929\t1\n13931\t1\n13952\t1\n13953\t1\n13954\t1\n13958\t1\n13959\t1\n13960\t1\n13967\t1\n13970\t1\n13973\t1\n13977\t1\n13978\t1\n13987\t1\n13998\t1\n13999\t1\n14003\t1\n14015\t1\n14020\t1\n14022\t1\n14033\t1\n14045\t1\n14046\t1\n14048\t1\n14054\t1\n14055\t1\n14060\t1\n14071\t1\n14078\t1\n14084\t1\n14094\t1\n14105\t1\n14110\t1\n14116\t1\n14117\t1\n14127\t1\n14128\t1\n14138\t1\n14140\t1\n14141\t1\n14143\t1\n14144\t1\n14154\t1\n14158\t1\n14162\t1\n14166\t1\n14171\t1\n14173\t1\n14178\t1\n14184\t1\n14185\t1\n14191\t1\n14207\t1\n14208\t1\n14214\t1\n14229\t1\n14243\t1\n14245\t1\n14247\t1\n14277\t1\n14280\t1\n14288\t1\n14298\t1\n14300\t1\n14305\t1\n14310\t1\n14318\t1\n14324\t1\n14331\t1\n14346\t1\n14361\t1\n14364\t1\n14366\t1\n14374\t1\n14375\t1\n14380\t1\n14381\t1\n14388\t1\n14390\t1\n14398\t1\n14401\t1\n14413\t1\n14414\t1\n14417\t1\n14422\t1\n14437\t1\n14445\t1\n14446\t1\n14465\t1\n14472\t1\n14473\t1\n14474\t1\n14482\t1\n14487\t1\n14496\t1\n14514\t1\n14517\t1\n14519\t1\n14532\t1\n14542\t1\n14545\t1\n14547\t1\n14552\t1\n14556\t1\n14561\t1\n14569\t1\n14572\t1\n14576\t1\n14579\t1\n14598\t1\n14607\t1\n14612\t1\n14620\t1\n14621\t1\n14623\t1\n14624\t1\n14627\t1\n14629\t1\n14634\t1\n14667\t1\n14684\t1\n14703\t1\n14717\t1\n14731\t1\n14732\t1\n14738\t1\n14752\t1\n14755\t1\n14758\t1\n14771\t1\n14772\t1\n14775\t1\n14780\t1\n14788\t1\n14809\t1\n14817\t1\n14818\t1\n14821\t1\n14827\t1\n14835\t1\n14840\t1\n14841\t1\n14843\t1\n14850\t1\n14858\t1\n14863\t1\n14864\t1\n14867\t1\n14868\t1\n14877\t1\n14878\t1\n14881\t1\n14892\t1\n14899\t1\n14904\t1\n14908\t1\n14913\t1\n14931\t1\n14936\t1\n14937\t1\n14946\t1\n14948\t1\n14954\t1\n14957\t1\n14959\t1\n14964\t1\n14968\t1\n14972\t1\n14976\t1\n14978\t1\n14980\t1\n14981\t1\n14987\t1\n15000\t1\n15001\t1\n15004\t1\n15012\t1\n15016\t1\n15022\t1\n15030\t1\n15031\t1\n15040\t1\n15041\t1\n15045\t1\n15051\t1\n15061\t1\n15063\t1\n15064\t1\n15070\t1\n15071\t1\n15075\t1\n15086\t1\n15099\t1\n15100\t1\n15109\t1\n15114\t1\n15128\t1\n15133\t1\n15141\t1\n15143\t1\n15150\t1\n15157\t1\n15158\t1\n15163\t1\n15164\t1\n15166\t1\n15186\t1\n15206\t1\n15214\t1\n15228\t1\n15229\t1\n15230\t1\n15233\t1\n15249\t1\n15255\t1\n15270\t1\n15274\t1\n15277\t1\n15280\t1\n15292\t1\n15302\t1\n15303\t1\n15311\t1\n15317\t1\n15319\t1\n15321\t1\n15333\t1\n15341\t1\n15344\t1\n15347\t1\n15349\t1\n15372\t1\n15385\t1\n15403\t1\n15404\t1\n15407\t1\n15412\t1\n15420\t1\n15426\t1\n15430\t1\n15433\t1\n15439\t1\n15449\t1\n15455\t1\n15456\t1\n15462\t1\n15466\t1\n15468\t1\n15470\t1\n15476\t1\n15487\t1\n15489\t1\n15494\t1\n15497\t1\n15501\t1\n15508\t1\n15525\t1\n15530\t1\n15531\t1\n15533\t1\n15537\t1\n15543\t1\n15544\t1\n15562\t1\n15567\t1\n15570\t1\n15585\t1\n15590\t1\n15591\t1\n15592\t1\n15595\t1\n15596\t1\n15602\t1\n15605\t1\n15608\t1\n15610\t1\n15611\t1\n15613\t1\n15620\t1\n15623\t1\n15632\t1\n15634\t1\n15640\t1\n15643\t1\n15647\t1\n15654\t1\n15665\t1\n15671\t1\n15679\t1\n15681\t1\n15686\t1\n15687\t1\n15689\t1\n15693\t1\n15697\t1\n15703\t1\n15704\t1\n15705\t1\n15706\t1\n15716\t1\n15719\t1\n15724\t1\n15734\t1\n15735\t1\n15749\t1\n15761\t1\n15765\t1\n15766\t1\n15772\t1\n15776\t1\n15778\t1\n15781\t1\n15785\t1\n15789\t1\n15793\t1\n15795\t1\n15800\t1\n15802\t1\n15809\t1\n15811\t1\n15815\t1\n15816\t1\n15819\t1\n15823\t1\n15830\t1\n15842\t1\n15847\t1\n15848\t1\n15849\t1\n15866\t1\n15877\t1\n15878\t1\n15882\t1\n15891\t1\n15898\t1\n15901\t1\n15910\t1\n15915\t1\n15920\t1\n15923\t1\n15935\t1\n15938\t1\n15943\t1\n15944\t1\n15948\t1\n15963\t1\n15967\t1\n15969\t1\n15972\t1\n15982\t1\n15987\t1\n16001\t1\n16004\t1\n16005\t1\n16013\t1\n16015\t1\n16016\t1\n16018\t1\n16023\t1\n16030\t1\n16039\t1\n16044\t1\n16049\t1\n16063\t1\n16066\t1\n16067\t1\n16080\t1\n16084\t1\n16092\t1\n16095\t1\n16099\t1\n16119\t1\n16121\t1\n16125\t1\n16129\t1\n16133\t1\n16135\t1\n16136\t1\n16138\t1\n16159\t1\n16169\t1\n16175\t1\n16185\t1\n16205\t1\n16213\t1\n16231\t1\n16238\t1\n16248\t1\n16256\t1\n16262\t1\n16263\t1\n16267\t1\n16275\t1\n16283\t1\n16290\t1\n16293\t1\n16295\t1\n16311\t1\n16314\t1\n16316\t1\n16321\t1\n16326\t1\n16328\t1\n16330\t1\n16342\t1\n16349\t1\n16354\t1\n16356\t1\n16357\t1\n16367\t1\n16380\t1\n16388\t1\n16389\t1\n16390\t1\n16393\t1\n16407\t1\n16410\t1\n16413\t1\n16418\t1\n16421\t1\n16430\t1\n16432\t1\n16463\t1\n16477\t1\n16481\t1\n16488\t1\n16490\t1\n16495\t1\n16503\t1\n16508\t1\n16512\t1\n16526\t1\n16528\t1\n16537\t1\n16544\t1\n16551\t1\n16560\t1\n16563\t1\n16573\t1\n16575\t1\n16580\t1\n16588\t1\n16590\t1\n16591\t1\n16599\t1\n16606\t1\n16607\t1\n16609\t1\n16621\t1\n16629\t1\n16634\t1\n16638\t1\n16642\t1\n16662\t1\n16665\t1\n16667\t1\n16670\t1\n16674\t1\n16692\t1\n16695\t1\n16714\t1\n16718\t1\n16725\t1\n16726\t1\n16734\t1\n16738\t1\n16742\t1\n16750\t1\n16762\t1\n16769\t1\n16771\t1\n16772\t1\n16776\t1\n16785\t1\n16792\t1\n16795\t1\n16806\t1\n16818\t1\n16833\t1\n16836\t1\n16837\t1\n16867\t1\n16870\t1\n16879\t1\n16883\t1\n16884\t1\n16899\t1\n16905\t1\n16910\t1\n16919\t1\n16925\t1\n16928\t1\n16929\t1\n16933\t1\n16939\t1\n16943\t1\n16958\t1\n16960\t1\n16965\t1\n16967\t1\n16972\t1\n16984\t1\n16986\t1\n16993\t1\n16996\t1\n17002\t1\n17013\t1\n17015\t1\n17021\t1\n17025\t1\n17027\t1\n17033\t1\n17044\t1\n17045\t1\n17049\t1\n17057\t1\n17058\t1\n17071\t1\n17073\t1\n17075\t1\n17093\t1\n17107\t1\n17111\t1\n17114\t1\n17118\t1\n17123\t1\n17140\t1\n17147\t1\n17149\t1\n17160\t1\n17168\t1\n17170\t1\n17173\t1\n17175\t1\n17177\t1\n17183\t1\n17193\t1\n17194\t1\n17195\t1\n17200\t1\n17201\t1\n17202\t1\n17204\t1\n17209\t1\n17210\t1\n17220\t1\n17248\t1\n17249\t1\n17252\t1\n17282\t1\n17284\t1\n17287\t1\n17290\t1\n17293\t1\n17299\t1\n17303\t1\n17306\t1\n17320\t1\n17341\t1\n17342\t1\n17343\t1\n17355\t1\n17356\t1\n17375\t1\n17377\t1\n17382\t1\n17387\t1\n17402\t1\n17404\t1\n17411\t1\n17412\t1\n17425\t1\n17427\t1\n17428\t1\n17434\t1\n17442\t1\n17458\t1\n17460\t1\n17461\t1\n17462\t1\n17466\t1\n17467\t1\n17475\t1\n17481\t1\n17485\t1\n17489\t1\n17505\t1\n17521\t1\n17522\t1\n17530\t1\n17541\t1\n17545\t1\n17546\t1\n17547\t1\n17562\t1\n17565\t1\n17568\t1\n17576\t1\n17578\t1\n17579\t1\n17590\t1\n17595\t1\n17596\t1\n17597\t1\n17606\t1\n17608\t1\n17618\t1\n17623\t1\n17624\t1\n17625\t1\n17628\t1\n17630\t1\n17636\t1\n17637\t1\n17644\t1\n17645\t1\n17661\t1\n17666\t1\n17668\t1\n17686\t1\n17711\t1\n17721\t1\n17724\t1\n17734\t1\n17735\t1\n17740\t1\n17744\t1\n17750\t1\n17751\t1\n17752\t1\n17753\t1\n17757\t1\n17761\t1\n17767\t1\n17783\t1\n17788\t1\n17791\t1\n17806\t1\n17823\t1\n17824\t1\n17848\t1\n17851\t1\n17855\t1\n17856\t1\n17862\t1\n17876\t1\n17881\t1\n17889\t1\n17892\t1\n17893\t1\n17895\t1\n17905\t1\n17909\t1\n17910\t1\n17913\t1\n17924\t1\n17930\t1\n17933\t1\n17940\t1\n17946\t1\n17951\t1\n17954\t1\n17957\t1\n17967\t1\n17969\t1\n17980\t1\n17991\t1\n17995\t1\n17996\t1\n18009\t1\n18022\t1\n18026\t1\n18030\t1\n18041\t1\n18049\t1\n18053\t1\n18055\t1\n18063\t1\n18064\t1\n18066\t1\n18074\t1\n18075\t1\n18091\t1\n18102\t1\n18103\t1\n18123\t1\n18126\t1\n18130\t1\n18138\t1\n18148\t1\n18150\t1\n18151\t1\n18155\t1\n18161\t1\n18185\t1\n18192\t1\n18193\t1\n18200\t1\n18201\t1\n18210\t1\n18213\t1\n18215\t1\n18217\t1\n18228\t1\n18229\t1\n18236\t1\n18246\t1\n18251\t1\n18253\t1\n18255\t1\n18261\t1\n18262\t1\n18274\t1\n18277\t1\n18279\t1\n18288\t1\n18289\t1\n18293\t1\n18294\t1\n18300\t1\n18301\t1\n18303\t1\n18309\t1\n18312\t1\n18318\t1\n18319\t1\n18320\t1\n18324\t1\n18325\t1\n18328\t1\n18330\t1\n18336\t1\n18346\t1\n18349\t1\n18387\t1\n18391\t1\n18392\t1\n18396\t1\n18403\t1\n18406\t1\n18409\t1\n18419\t1\n18468\t1\n18477\t1\n18478\t1\n18487\t1\n18504\t1\n18505\t1\n18506\t1\n18507\t1\n18508\t1\n18516\t1\n18517\t1\n18527\t1\n18530\t1\n18535\t1\n18541\t1\n18547\t1\n18551\t1\n18553\t1\n18557\t1\n18558\t1\n18560\t1\n18565\t1\n18567\t1\n18570\t1\n18585\t1\n18587\t1\n18591\t1\n18593\t1\n18594\t1\n18595\t1\n18598\t1\n18603\t1\n18607\t1\n18609\t1\n18637\t1\n18641\t1\n18646\t1\n18648\t1\n18652\t1\n18653\t1\n18660\t1\n18668\t1\n18669\t1\n18675\t1\n18680\t1\n18684\t1\n18687\t1\n18698\t1\n18703\t1\n18707\t1\n18708\t1\n18710\t1\n18727\t1\n18731\t1\n18742\t1\n18743\t1\n18747\t1\n18748\t1\n18750\t1\n18753\t1\n18757\t1\n18763\t1\n18764\t1\n18766\t1\n18768\t1\n18789\t1\n18799\t1\n18802\t1\n18804\t1\n18821\t1\n18832\t1\n18840\t1\n18846\t1\n18848\t1\n18849\t1\n18850\t1\n18859\t1\n18865\t1\n18871\t1\n18875\t1\n18900\t1\n18910\t1\n18915\t1\n18916\t1\n18917\t1\n18918\t1\n18924\t1\n18925\t1\n18932\t1\n18936\t1\n18946\t1\n18959\t1\n18962\t1\n18967\t1\n18975\t1\n18980\t1\n18987\t1\n18988\t1\n18992\t1\n19012\t1\n19024\t1\n19025\t1\n19034\t1\n19035\t1\n19041\t1\n19055\t1\n19057\t1\n19065\t1\n19067\t1\n19068\t1\n19075\t1\n19077\t1\n19079\t1\n19100\t1\n19105\t1\n19114\t1\n19123\t1\n19133\t1\n19138\t1\n19151\t1\n19153\t1\n19154\t1\n19158\t1\n19169\t1\n19192\t1\n19204\t1\n19205\t1\n19206\t1\n19207\t1\n19211\t1\n19213\t1\n19214\t1\n19222\t1\n19224\t1\n19240\t1\n19256\t1\n19262\t1\n19265\t1\n19271\t1\n19272\t1\n19273\t1\n19281\t1\n19294\t1\n19303\t1\n19308\t1\n19313\t1\n19315\t1\n19319\t1\n19322\t1\n19328\t1\n19338\t1\n19339\t1\n19340\t1\n19347\t1\n19356\t1\n19362\t1\n19367\t1\n19370\t1\n19371\t1\n19375\t1\n19377\t1\n19382\t1\n19384\t1\n19386\t1\n19399\t1\n19405\t1\n19416\t1\n19422\t1\n19431\t1\n19448\t1\n19449\t1\n19454\t1\n19457\t1\n19459\t1\n19483\t1\n19484\t1\n19485\t1\n19489\t1\n19506\t1\n19513\t1\n19515\t1\n19533\t1\n19535\t1\n19538\t1\n19545\t1\n19551\t1\n19554\t1\n19559\t1\n19565\t1\n19570\t1\n19573\t1\n19574\t1\n19578\t1\n19579\t1\n19589\t1\n19596\t1\n19598\t1\n19599\t1\n19605\t1\n19608\t1\n19609\t1\n19618\t1\n19622\t1\n19631\t1\n19634\t1\n19640\t1\n19642\t1\n19652\t1\n19659\t1\n19660\t1\n19671\t1\n19675\t1\n19677\t1\n19678\t1\n19679\t1\n19682\t1\n19685\t1\n19690\t1\n19704\t1\n19706\t1\n19732\t1\n19748\t1\n19750\t1\n19752\t1\n19759\t1\n19764\t1\n19766\t1\n19767\t1\n19772\t1\n19773\t1\n19782\t1\n19798\t1\n19799\t1\n19804\t1\n19818\t1\n19821\t1\n19825\t1\n19826\t1\n19829\t1\n19833\t1\n19839\t1\n19845\t1\n19857\t1\n19858\t1\n19870\t1\n19879\t1\n19889\t1\n19893\t1\n19904\t1\n19913\t1\n19917\t1\n19922\t1\n19923\t1\n19932\t1\n19933\t1\n19937\t1\n19945\t1\n19960\t1\n19962\t1\n19963\t1\n19967\t1\n19986\t1\n19987\t1\n19996\t1\n20003\t1\n20004\t1\n20005\t1\n20029\t1\n20043\t1\n20054\t1\n20062\t1\n20063\t1\n20073\t1\n20079\t1\n20092\t1\n20109\t1\n20111\t1\n20117\t1\n20133\t1\n20134\t1\n20143\t1\n20152\t1\n20157\t1\n20163\t1\n20174\t1\n20176\t1\n20186\t1\n20188\t1\n20192\t1\n20205\t1\n20208\t1\n20218\t1\n20242\t1\n20250\t1\n20257\t1\n20258\t1\n20267\t1\n20274\t1\n20287\t1\n20291\t1\n20306\t1\n20312\t1\n20313\t1\n20319\t1\n20337\t1\n20339\t1\n20344\t1\n20345\t1\n20350\t1\n20351\t1\n20352\t1\n20364\t1\n20377\t1\n20380\t1\n20386\t1\n20392\t1\n20400\t1\n20401\t1\n20403\t1\n20406\t1\n20417\t1\n20418\t1\n20436\t1\n20440\t1\n20447\t1\n20449\t1\n20455\t1\n20456\t1\n20457\t1\n20460\t1\n20472\t1\n20496\t1\n20498\t1\n20502\t1\n20505\t1\n20510\t1\n20514\t1\n20523\t1\n20529\t1\n20532\t1\n20538\t1\n20542\t1\n20551\t1\n20559\t1\n20574\t1\n20577\t1\n20580\t1\n20582\t1\n20585\t1\n20586\t1\n20587\t1\n20590\t1\n20595\t1\n20600\t1\n20609\t1\n20611\t1\n20617\t1\n20619\t1\n20621\t1\n20625\t1\n20626\t1\n20628\t1\n20630\t1\n20635\t1\n20636\t1\n20639\t1\n20649\t1\n20652\t1\n20654\t1\n20659\t1\n20665\t1\n20670\t1\n20672\t1\n20679\t1\n20680\t1\n20686\t1\n20698\t1\n20712\t1\n20719\t1\n20738\t1\n20743\t1\n20749\t1\n20756\t1\n20765\t1\n20768\t1\n20770\t1\n20776\t1\n20790\t1\n20794\t1\n20801\t1\n20811\t1\n20818\t1\n20824\t1\n20829\t1\n20830\t1\n20837\t1\n20849\t1\n20857\t1\n20859\t1\n20862\t1\n20872\t1\n20881\t1\n20882\t1\n20904\t1\n20906\t1\n20908\t1\n20939\t1\n20942\t1\n20947\t1\n20950\t1\n20966\t1\n20971\t1\n20986\t1\n20992\t1\n20996\t1\n20998\t1\n21006\t1\n21011\t1\n21012\t1\n21014\t1\n21017\t1\n21018\t1\n21019\t1\n21022\t1\n21027\t1\n21034\t1\n21037\t1\n21039\t1\n21041\t1\n21042\t1\n21043\t1\n21044\t1\n21054\t1\n21058\t1\n21065\t1\n21066\t1\n21076\t1\n21083\t1\n21088\t1\n21115\t1\n21116\t1\n21117\t1\n21119\t1\n21126\t1\n21130\t1\n21131\t1\n21133\t1\n21136\t1\n21139\t1\n21149\t1\n21152\t1\n21159\t1\n21161\t1\n21170\t1\n21171\t1\n21176\t1\n21177\t1\n21201\t1\n21203\t1\n21206\t1\n21207\t1\n21208\t1\n21217\t1\n21220\t1\n21222\t1\n21227\t1\n21230\t1\n21231\t1\n21258\t1\n21259\t1\n21260\t1\n21266\t1\n21272\t1\n21273\t1\n21278\t1\n21282\t1\n21283\t1\n21288\t1\n21291\t1\n21295\t1\n21303\t1\n21326\t1\n21332\t1\n21333\t1\n21335\t1\n21338\t1\n21340\t1\n21343\t1\n21345\t1\n21351\t1\n21363\t1\n21379\t1\n21390\t1\n21393\t1\n21394\t1\n21399\t1\n21434\t1\n21438\t1\n21454\t1\n21461\t1\n21464\t1\n21484\t1\n21501\t1\n21504\t1\n21509\t1\n21513\t1\n21517\t1\n21518\t1\n21519\t1\n21522\t1\n21524\t1\n21526\t1\n21527\t1\n21534\t1\n21536\t1\n21551\t1\n21557\t1\n21564\t1\n21578\t1\n21579\t1\n21589\t1\n21601\t1\n21603\t1\n21613\t1\n21627\t1\n21630\t1\n21635\t1\n21637\t1\n21638\t1\n21639\t1\n21640\t1\n21649\t1\n21652\t1\n21653\t1\n21667\t1\n21675\t1\n21676\t1\n21680\t1\n21681\t1\n21682\t1\n21686\t1\n21689\t1\n21708\t1\n21715\t1\n21717\t1\n21722\t1\n21723\t1\n21724\t1\n21728\t1\n21735\t1\n21743\t1\n21745\t1\n21758\t1\n21760\t1\n21762\t1\n21764\t1\n21765\t1\n21769\t1\n21786\t1\n21791\t1\n21816\t1\n21835\t1\n21837\t1\n21841\t1\n21842\t1\n21857\t1\n21858\t1\n21863\t1\n21874\t1\n21877\t1\n21880\t1\n21897\t1\n21900\t1\n21903\t1\n21909\t1\n21910\t1\n21924\t1\n21925\t1\n21927\t1\n21930\t1\n21932\t1\n21935\t1\n21936\t1\n21945\t1\n21947\t1\n21948\t1\n21958\t1\n21967\t1\n21980\t1\n21984\t1\n21986\t1\n21990\t1\n21996\t1\n22004\t1\n22005\t1\n22006\t1\n22008\t1\n22018\t1\n22023\t1\n22024\t1\n22025\t1\n22027\t1\n22042\t1\n22047\t1\n22066\t1\n22068\t1\n22069\t1\n22072\t1\n22079\t1\n22082\t1\n22083\t1\n22090\t1\n22098\t1\n22104\t1\n22106\t1\n22125\t1\n22126\t1\n22132\t1\n22139\t1\n22140\t1\n22161\t1\n22162\t1\n22165\t1\n22172\t1\n22180\t1\n22182\t1\n22191\t1\n22193\t1\n22194\t1\n22200\t1\n22203\t1\n22209\t1\n22217\t1\n22221\t1\n22225\t1\n22229\t1\n22232\t1\n22240\t1\n22241\t1\n22247\t1\n22250\t1\n22253\t1\n22258\t1\n22262\t1\n22265\t1\n22272\t1\n22278\t1\n22283\t1\n22285\t1\n22288\t1\n22292\t1\n22295\t1\n22302\t1\n22307\t1\n22317\t1\n22324\t1\n22344\t1\n22353\t1\n22376\t1\n22377\t1\n22387\t1\n22388\t1\n22400\t1\n22405\t1\n22406\t1\n22408\t1\n22410\t1\n22412\t1\n22414\t1\n22429\t1\n22435\t1\n22441\t1\n22449\t1\n22467\t1\n22469\t1\n22470\t1\n22473\t1\n22476\t1\n22479\t1\n22480\t1\n22481\t1\n22486\t1\n22491\t1\n22496\t1\n22509\t1\n22519\t1\n22526\t1\n22527\t1\n22529\t1\n22535\t1\n22541\t1\n22562\t1\n22568\t1\n22572\t1\n22577\t1\n22578\t1\n22582\t1\n22607\t1\n22617\t1\n22625\t1\n22631\t1\n22635\t1\n22636\t1\n22642\t1\n22649\t1\n22660\t1\n22665\t1\n22667\t1\n22685\t1\n22690\t1\n22694\t1\n22706\t1\n22711\t1\n22712\t1\n22714\t1\n22716\t1\n22719\t1\n22735\t1\n22740\t1\n22753\t1\n22754\t1\n22756\t1\n22765\t1\n22766\t1\n22772\t1\n22777\t1\n22784\t1\n22808\t1\n22809\t1\n22812\t1\n22823\t1\n22824\t1\n22831\t1\n22841\t1\n22843\t1\n22844\t1\n22859\t1\n22861\t1\n22862\t1\n22863\t1\n22865\t1\n22866\t1\n22872\t1\n22877\t1\n22882\t1\n22884\t1\n22887\t1\n22891\t1\n22902\t1\n22904\t1\n22922\t1\n22939\t1\n22943\t1\n22947\t1\n22958\t1\n22959\t1\n22962\t1\n22969\t1\n22970\t1\n22973\t1\n22974\t1\n22981\t1\n22989\t1\n22999\t1\n23003\t1\n23005\t1\n23009\t1\n23013\t1\n23014\t1\n23017\t1\n23018\t1\n23026\t1\n23031\t1\n23038\t1\n23041\t1\n23050\t1\n23059\t1\n23067\t1\n23072\t1\n23079\t1\n23081\t1\n23084\t1\n23089\t1\n23104\t1\n23106\t1\n23108\t1\n23109\t1\n23135\t1\n23147\t1\n23152\t1\n23155\t1\n23164\t1\n23187\t1\n23205\t1\n23229\t1\n23231\t1\n23233\t1\n23236\t1\n23250\t1\n23251\t1\n23255\t1\n23263\t1\n23272\t1\n23273\t1\n23279\t1\n23280\t1\n23285\t1\n23294\t1\n23298\t1\n23309\t1\n23310\t1\n23314\t1\n23327\t1\n23330\t1\n23348\t1\n23354\t1\n23359\t1\n23367\t1\n23369\t1\n23387\t1\n23389\t1\n23390\t1\n23395\t1\n23404\t1\n23407\t1\n23417\t1\n23422\t1\n23430\t1\n23431\t1\n23436\t1\n23444\t1\n23449\t1\n23450\t1\n23457\t1\n23459\t1\n23466\t1\n23474\t1\n23475\t1\n23476\t1\n23480\t1\n23490\t1\n23493\t1\n23496\t1\n23504\t1\n23510\t1\n23511\t1\n23519\t1\n23522\t1\n23525\t1\n23526\t1\n23537\t1\n23540\t1\n23543\t1\n23549\t1\n23550\t1\n23557\t1\n23562\t1\n23567\t1\n23569\t1\n23575\t1\n23589\t1\n23606\t1\n23610\t1\n23612\t1\n23629\t1\n23651\t1\n23658\t1\n23661\t1\n23664\t1\n23667\t1\n23669\t1\n23670\t1\n23673\t1\n23687\t1\n23701\t1\n23706\t1\n23715\t1\n23717\t1\n23727\t1\n23729\t1\n23730\t1\n23743\t1\n23746\t1\n23752\t1\n23759\t1\n23773\t1\n23786\t1\n23810\t1\n23811\t1\n23817\t1\n23822\t1\n23825\t1\n23829\t1\n23832\t1\n23838\t1\n23840\t1\n23845\t1\n23847\t1\n23849\t1\n23859\t1\n23863\t1\n23867\t1\n23875\t1\n23882\t1\n23889\t1\n23893\t1\n23901\t1\n23904\t1\n23912\t1\n23914\t1\n23919\t1\n23924\t1\n23928\t1\n23942\t1\n23945\t1\n23946\t1\n23948\t1\n23950\t1\n23959\t1\n23961\t1\n23968\t1\n23970\t1\n23983\t1\n23990\t1\n23997\t1\n24010\t1\n24016\t1\n24024\t1\n24029\t1\n24033\t1\n24034\t1\n24045\t1\n24050\t1\n24055\t1\n24059\t1\n24065\t1\n24066\t1\n24070\t1\n24088\t1\n24089\t1\n24094\t1\n24095\t1\n24100\t1\n24105\t1\n24106\t1\n24107\t1\n24126\t1\n24127\t1\n24136\t1\n24142\t1\n24152\t1\n24153\t1\n24158\t1\n24163\t1\n24171\t1\n24175\t1\n24183\t1\n24189\t1\n24191\t1\n24193\t1\n24198\t1\n24209\t1\n24213\t1\n24214\t1\n24220\t1\n24227\t1\n24231\t1\n24234\t1\n24235\t1\n24238\t1\n24240\t1\n24241\t1\n24244\t1\n24246\t1\n24252\t1\n24254\t1\n24256\t1\n24263\t1\n24269\t1\n24271\t1\n24274\t1\n24284\t1\n24285\t1\n24286\t1\n24296\t1\n24298\t1\n24301\t1\n24304\t1\n24312\t1\n24316\t1\n24320\t1\n24326\t1\n24336\t1\n24341\t1\n24344\t1\n24345\t1\n24346\t1\n24349\t1\n24350\t1\n24354\t1\n24357\t1\n24360\t1\n24381\t1\n24383\t1\n24384\t1\n24406\t1\n24407\t1\n24424\t1\n24425\t1\n24426\t1\n24431\t1\n24438\t1\n24439\t1\n24440\t1\n24445\t1\n24448\t1\n24459\t1\n24471\t1\n24473\t1\n24478\t1\n24480\t1\n24483\t1\n24484\t1\n24501\t1\n24508\t1\n24509\t1\n24514\t1\n24515\t1\n24520\t1\n24535\t1\n24537\t1\n24543\t1\n24550\t1\n24555\t1\n24560\t1\n24563\t1\n24565\t1\n24570\t1\n24577\t1\n24580\t1\n24600\t1\n24604\t1\n24608\t1\n24614\t1\n24617\t1\n24620\t1\n24624\t1\n24632\t1\n24646\t1\n24647\t1\n24648\t1\n24662\t1\n24666\t1\n24674\t1\n24690\t1\n24691\t1\n24698\t1\n24701\t1\n24703\t1\n24717\t1\n24719\t1\n24723\t1\n24728\t1\n24732\t1\n24736\t1\n24738\t1\n24747\t1\n24755\t1\n24757\t1\n24760\t1\n24766\t1\n24771\t1\n24779\t1\n24786\t1\n24794\t1\n24800\t1\n24801\t1\n24803\t1\n24807\t1\n24809\t1\n24811\t1\n24820\t1\n24827\t1\n24850\t1\n24859\t1\n24875\t1\n24885\t1\n24887\t1\n24889\t1\n24890\t1\n24900\t1\n24903\t1\n24920\t1\n24921\t1\n24946\t1\n24947\t1\n24948\t1\n24956\t1\n24958\t1\n24961\t1\n24962\t1\n24963\t1\n24969\t1\n24970\t1\n24983\t1\n24988\t1\n24991\t1\n25001\t1\n25009\t1\n25015\t1\n25017\t1\n25022\t1\n25023\t1\n25035\t1\n25054\t1\n25065\t1\n25067\t1\n25081\t1\n25083\t1\n25087\t1\n25094\t1\n25103\t1\n25111\t1\n25119\t1\n25130\t1\n25145\t1\n25146\t1\n25149\t1\n25156\t1\n25163\t1\n25170\t1\n25171\t1\n25175\t1\n25176\t1\n25192\t1\n25195\t1\n25212\t1\n25215\t1\n25226\t1\n25229\t1\n25233\t1\n25238\t1\n25241\t1\n25246\t1\n25247\t1\n25248\t1\n25256\t1\n25257\t1\n25263\t1\n25269\t1\n25281\t1\n25290\t1\n25291\t1\n25297\t1\n25305\t1\n25308\t1\n25317\t1\n25321\t1\n25324\t1\n25326\t1\n25333\t1\n25334\t1\n25348\t1\n25349\t1\n25350\t1\n25354\t1\n25357\t1\n25365\t1\n25372\t1\n25377\t1\n25387\t1\n25397\t1\n25398\t1\n25403\t1\n25405\t1\n25407\t1\n25423\t1\n25429\t1\n25433\t1\n25439\t1\n25440\t1\n25452\t1\n25457\t1\n25460\t1\n25477\t1\n25478\t1\n25480\t1\n25481\t1\n25493\t1\n25495\t1\n25501\t1\n25503\t1\n25509\t1\n25511\t1\n25513\t1\n25515\t1\n25516\t1\n25518\t1\n25520\t1\n25526\t1\n25528\t1\n25529\t1\n25531\t1\n25536\t1\n25551\t1\n25557\t1\n25565\t1\n25567\t1\n25569\t1\n25570\t1\n25576\t1\n25580\t1\n25582\t1\n25586\t1\n25601\t1\n25602\t1\n25615\t1\n25616\t1\n25620\t1\n25623\t1\n25624\t1\n25628\t1\n25632\t1\n25639\t1\n25643\t1\n25651\t1\n25656\t1\n25657\t1\n25658\t1\n25672\t1\n25676\t1\n25685\t1\n25688\t1\n25698\t1\n25700\t1\n25702\t1\n25715\t1\n25716\t1\n25719\t1\n25720\t1\n25724\t1\n25725\t1\n25733\t1\n25734\t1\n25744\t1\n25751\t1\n25754\t1\n25759\t1\n25761\t1\n25765\t1\n25772\t1\n25776\t1\n25810\t1\n25818\t1\n25820\t1\n25821\t1\n25825\t1\n25826\t1\n25833\t1\n25842\t1\n25846\t1\n25847\t1\n25848\t1\n25851\t1\n25852\t1\n25854\t1\n25859\t1\n25861\t1\n25863\t1\n25887\t1\n25888\t1\n25891\t1\n25893\t1\n25896\t1\n25897\t1\n25901\t1\n25905\t1\n25910\t1\n25915\t1\n25936\t1\n25937\t1\n25946\t1\n25950\t1\n25951\t1\n25952\t1\n25959\t1\n25963\t1\n25966\t1\n25977\t1\n25988\t1\n25995\t1\n26013\t1\n26021\t1\n26022\t1\n26032\t1\n26033\t1\n26042\t1\n26051\t1\n26053\t1\n26061\t1\n26069\t1\n26070\t1\n26077\t1\n26079\t1\n26080\t1\n26083\t1\n26097\t1\n26099\t1\n26126\t1\n26132\t1\n26133\t1\n26136\t1\n26143\t1\n26148\t1\n26151\t1\n26159\t1\n26160\t1\n26162\t1\n26168\t1\n26169\t1\n26180\t1\n26182\t1\n26195\t1\n26209\t1\n26211\t1\n26220\t1\n26221\t1\n26226\t1\n26227\t1\n26243\t1\n26244\t1\n26247\t1\n26248\t1\n26249\t1\n26262\t1\n26264\t1\n26265\t1\n26283\t1\n26284\t1\n26287\t1\n26291\t1\n26298\t1\n26304\t1\n26311\t1\n26322\t1\n26324\t1\n26327\t1\n26328\t1\n26330\t1\n26335\t1\n26338\t1\n26347\t1\n26348\t1\n26354\t1\n26356\t1\n26357\t1\n26364\t1\n26366\t1\n26368\t1\n26369\t1\n26386\t1\n26387\t1\n26408\t1\n26412\t1\n26425\t1\n26428\t1\n26432\t1\n26437\t1\n26444\t1\n26447\t1\n26448\t1\n26449\t1\n26454\t1\n26461\t1\n26463\t1\n26473\t1\n26476\t1\n26495\t1\n26496\t1\n26500\t1\n26503\t1\n26511\t1\n26513\t1\n26514\t1\n26519\t1\n26522\t1\n26533\t1\n26534\t1\n26543\t1\n26548\t1\n26557\t1\n26558\t1\n26568\t1\n26569\t1\n26574\t1\n26578\t1\n26586\t1\n26629\t1\n26631\t1\n26633\t1\n26635\t1\n26640\t1\n26642\t1\n26644\t1\n26648\t1\n26666\t1\n26669\t1\n26670\t1\n26677\t1\n26678\t1\n26683\t1\n26694\t1\n26701\t1\n26702\t1\n26706\t1\n26719\t1\n26721\t1\n26733\t1\n26734\t1\n26739\t1\n26760\t1\n26762\t1\n26764\t1\n26785\t1\n26786\t1\n26790\t1\n26799\t1\n26804\t1\n26808\t1\n26812\t1\n26813\t1\n26830\t1\n26833\t1\n26836\t1\n26846\t1\n26852\t1\n26858\t1\n26877\t1\n26881\t1\n26910\t1\n26912\t1\n26913\t1\n26915\t1\n26922\t1\n26924\t1\n26935\t1\n26949\t1\n26954\t1\n26959\t1\n26969\t1\n26971\t1\n26972\t1\n26979\t1\n26983\t1\n26988\t1\n26998\t1\n27009\t1\n27022\t1\n27025\t1\n27035\t1\n27041\t1\n27042\t1\n27043\t1\n27052\t1\n27065\t1\n27075\t1\n27078\t1\n27079\t1\n27093\t1\n27104\t1\n27115\t1\n27143\t1\n27147\t1\n27149\t1\n27151\t1\n27154\t1\n27158\t1\n27161\t1\n27163\t1\n27177\t1\n27178\t1\n27180\t1\n27186\t1\n27196\t1\n27213\t1\n27219\t1\n27220\t1\n27231\t1\n27233\t1\n27235\t1\n27236\t1\n27240\t1\n27245\t1\n27257\t1\n27258\t1\n27263\t1\n27269\t1\n27280\t1\n27281\t1\n27282\t1\n27283\t1\n27284\t1\n27285\t1\n27290\t1\n27293\t1\n27305\t1\n27315\t1\n27329\t1\n27340\t1\n27342\t1\n27351\t1\n27355\t1\n27361\t1\n27364\t1\n27369\t1\n27372\t1\n27377\t1\n27389\t1\n27392\t1\n27395\t1\n27399\t1\n27406\t1\n27409\t1\n27413\t1\n27415\t1\n27418\t1\n27420\t1\n27425\t1\n27426\t1\n27427\t1\n27443\t1\n27445\t1\n27447\t1\n27449\t1\n27464\t1\n27471\t1\n27475\t1\n27481\t1\n27489\t1\n27503\t1\n27530\t1\n27532\t1\n27537\t1\n27541\t1\n27543\t1\n27544\t1\n27549\t1\n27550\t1\n27552\t1\n27554\t1\n27556\t1\n27560\t1\n27565\t1\n27583\t1\n27587\t1\n27590\t1\n27599\t1\n27601\t1\n27607\t1\n27617\t1\n27621\t1\n27626\t1\n27628\t1\n27629\t1\n27630\t1\n27634\t1\n27643\t1\n27646\t1\n27647\t1\n27648\t1\n27660\t1\n27663\t1\n27680\t1\n27683\t1\n27685\t1\n27691\t1\n27694\t1\n27718\t1\n27728\t1\n27738\t1\n27740\t1\n27741\t1\n27751\t1\n27752\t1\n27757\t1\n27758\t1\n27762\t1\n27766\t1\n27775\t1\n27778\t1\n27780\t1\n27781\t1\n27788\t1\n27795\t1\n27796\t1\n27805\t1\n27812\t1\n27815\t1\n27839\t1\n27840\t1\n27845\t1\n27852\t1\n27858\t1\n27865\t1\n27871\t1\n27881\t1\n27885\t1\n27897\t1\n27901\t1\n27906\t1\n27909\t1\n27910\t1\n27917\t1\n27930\t1\n27949\t1\n27950\t1\n27953\t1\n27958\t1\n27964\t1\n27968\t1\n27972\t1\n27973\t1\n27975\t1\n27996\t1\n28000\t1\n28001\t1\n28019\t1\n28022\t1\n28029\t1\n28042\t1\n28043\t1\n28048\t1\n28049\t1\n28053\t1\n28059\t1\n28060\t1\n28064\t1\n28075\t1\n28078\t1\n28079\t1\n28081\t1\n28085\t1\n28093\t1\n28098\t1\n28103\t1\n28106\t1\n28107\t1\n28109\t1\n28116\t1\n28121\t1\n28124\t1\n28133\t1\n28136\t1\n28137\t1\n28141\t1\n28143\t1\n28148\t1\n28159\t1\n28168\t1\n28174\t1\n28175\t1\n28181\t1\n28192\t1\n28194\t1\n28207\t1\n28212\t1\n28215\t1\n28216\t1\n28217\t1\n28218\t1\n28223\t1\n28224\t1\n28225\t1\n28229\t1\n28232\t1\n28235\t1\n28237\t1\n28243\t1\n28255\t1\n28261\t1\n28263\t1\n28264\t1\n28274\t1\n28303\t1\n28320\t1\n28329\t1\n28330\t1\n28337\t1\n28338\t1\n28341\t1\n28342\t1\n28344\t1\n28346\t1\n28351\t1\n28353\t1\n28354\t1\n28358\t1\n28360\t1\n28366\t1\n28369\t1\n28379\t1\n28387\t1\n28407\t1\n28408\t1\n28416\t1\n28445\t1\n28455\t1\n28463\t1\n28464\t1\n28473\t1\n28480\t1\n28483\t1\n28484\t1\n28490\t1\n28495\t1\n28503\t1\n28505\t1\n28506\t1\n28507\t1\n28510\t1\n28512\t1\n28513\t1\n28516\t1\n28517\t1\n28519\t1\n28522\t1\n28524\t1\n28536\t1\n28539\t1\n28541\t1\n28542\t1\n28545\t1\n28556\t1\n28561\t1\n28567\t1\n28573\t1\n28574\t1\n28581\t1\n28582\t1\n28589\t1\n28599\t1\n28605\t1\n28611\t1\n28615\t1\n28621\t1\n28634\t1\n28636\t1\n28638\t1\n28645\t1\n28663\t1\n28667\t1\n28669\t1\n28680\t1\n28682\t1\n28684\t1\n28686\t1\n28687\t1\n28689\t1\n28691\t1\n28697\t1\n28700\t1\n28703\t1\n28715\t1\n28718\t1\n28728\t1\n28740\t1\n28761\t1\n28763\t1\n28774\t1\n28780\t1\n28781\t1\n28782\t1\n28787\t1\n28788\t1\n28796\t1\n28797\t1\n28810\t1\n28811\t1\n28815\t1\n28830\t1\n28832\t1\n28833\t1\n28851\t1\n28853\t1\n28857\t1\n28871\t1\n28873\t1\n28876\t1\n28883\t1\n28887\t1\n28890\t1\n28892\t1\n28895\t1\n28899\t1\n28906\t1\n28912\t1\n28914\t1\n28916\t1\n28931\t1\n28944\t1\n28950\t1\n28954\t1\n28960\t1\n28965\t1\n28971\t1\n28975\t1\n28979\t1\n28996\t1\n29011\t1\n29014\t1\n29020\t1\n29026\t1\n29029\t1\n29038\t1\n29042\t1\n29046\t1\n29053\t1\n29061\t1\n29070\t1\n29073\t1\n29076\t1\n29079\t1\n29084\t1\n29095\t1\n29105\t1\n29107\t1\n29113\t1\n29118\t1\n29123\t1\n29136\t1\n29150\t1\n29164\t1\n29165\t1\n29168\t1\n29174\t1\n29181\t1\n29186\t1\n29188\t1\n29195\t1\n29198\t1\n29201\t1\n29208\t1\n29214\t1\n29219\t1\n29228\t1\n29240\t1\n29254\t1\n29257\t1\n29258\t1\n29263\t1\n29278\t1\n29280\t1\n29283\t1\n29293\t1\n29310\t1\n29312\t1\n29329\t1\n29331\t1\n29337\t1\n29348\t1\n29353\t1\n29358\t1\n29363\t1\n29375\t1\n29384\t1\n29391\t1\n29392\t1\n29399\t1\n29402\t1\n29407\t1\n29409\t1\n29419\t1\n29434\t1\n29437\t1\n29439\t1\n29443\t1\n29447\t1\n29456\t1\n29461\t1\n29466\t1\n29467\t1\n29469\t1\n29482\t1\n29485\t1\n29502\t1\n29504\t1\n29513\t1\n29523\t1\n29529\t1\n29533\t1\n29537\t1\n29538\t1\n29540\t1\n29548\t1\n29564\t1\n29569\t1\n29577\t1\n29579\t1\n29582\t1\n29587\t1\n29596\t1\n29610\t1\n29626\t1\n29627\t1\n29634\t1\n29635\t1\n29641\t1\n29646\t1\n29650\t1\n29657\t1\n29658\t1\n29659\t1\n29662\t1\n29672\t1\n29676\t1\n29677\t1\n29684\t1\n29686\t1\n29689\t1\n29690\t1\n29691\t1\n29697\t1\n29710\t1\n29712\t1\n29717\t1\n29721\t1\n29735\t1\n29736\t1\n29740\t1\n29741\t1\n29742\t1\n29748\t1\n29751\t1\n29756\t1\n29759\t1\n29764\t1\n29777\t1\n29786\t1\n29802\t1\n29803\t1\n29810\t1\n29817\t1\n29819\t1\n29829\t1\n29835\t1\n29838\t1\n29841\t1\n29842\t1\n29844\t1\n29847\t1\n29849\t1\n29852\t1\n29856\t1\n29864\t1\n29870\t1\n29879\t1\n29880\t1\n29882\t1\n29884\t1\n29885\t1\n29886\t1\n29887\t1\n29896\t1\n29912\t1\n29927\t1\n29931\t1\n29935\t1\n29938\t1\n29941\t1\n29945\t1\n29949\t1\n29953\t1\n29957\t1\n29960\t1\n29963\t1\n29971\t1\n29973\t1\n29974\t1\n29975\t1\n29977\t1\n29988\t1\n29992\t1\n29999\t1\n30002\t1\n30004\t1\n30009\t1\n30011\t1\n30012\t1\n30034\t1\n30037\t1\n30040\t1\n30044\t1\n30047\t1\n30048\t1\n30053\t1\n30057\t1\n30062\t1\n30064\t1\n30076\t1\n30088\t1\n30091\t1\n30093\t1\n30106\t1\n30111\t1\n30117\t1\n30132\t1\n30133\t1\n30134\t1\n30135\t1\n30136\t1\n30138\t1\n30139\t1\n30142\t1\n30146\t1\n30155\t1\n30157\t1\n30158\t1\n30165\t1\n30175\t1\n30182\t1\n30183\t1\n30185\t1\n30192\t1\n30194\t1\n30200\t1\n30205\t1\n30208\t1\n30217\t1\n30230\t1\n30248\t1\n30262\t1\n30263\t1\n30271\t1\n30286\t1\n30298\t1\n30300\t1\n30304\t1\n30306\t1\n30307\t1\n30308\t1\n30309\t1\n30318\t1\n30325\t1\n30329\t1\n30333\t1\n30376\t1\n30383\t1\n30387\t1\n30388\t1\n30392\t1\n30401\t1\n30408\t1\n30409\t1\n30417\t1\n30419\t1\n30424\t1\n30425\t1\n30426\t1\n30428\t1\n30431\t1\n30438\t1\n30443\t1\n30447\t1\n30448\t1\n30451\t1\n30457\t1\n30459\t1\n30469\t1\n30473\t1\n30480\t1\n30482\t1\n30484\t1\n30486\t1\n30490\t1\n30504\t1\n30505\t1\n30526\t1\n30529\t1\n30536\t1\n30542\t1\n30547\t1\n30556\t1\n30559\t1\n30560\t1\n30562\t1\n30567\t1\n30570\t1\n30571\t1\n30573\t1\n30589\t1\n30591\t1\n30594\t1\n30598\t1\n30600\t1\n30602\t1\n30611\t1\n30616\t1\n30632\t1\n30652\t1\n30669\t1\n30676\t1\n30679\t1\n30681\t1\n30686\t1\n30687\t1\n30701\t1\n30705\t1\n30709\t1\n30715\t1\n30719\t1\n30731\t1\n30734\t1\n30736\t1\n30749\t1\n30757\t1\n30770\t1\n30777\t1\n30787\t1\n30790\t1\n30795\t1\n30798\t1\n30808\t1\n30811\t1\n30835\t1\n30837\t1\n30839\t1\n30842\t1\n30855\t1\n30867\t1\n30872\t1\n30878\t1\n30883\t1\n30890\t1\n30891\t1\n30896\t1\n30898\t1\n30904\t1\n30922\t1\n30924\t1\n30926\t1\n30927\t1\n30932\t1\n30934\t1\n30941\t1\n30950\t1\n30952\t1\n30964\t1\n30965\t1\n30967\t1\n30971\t1\n30981\t1\n30989\t1\n31002\t1\n31005\t1\n31006\t1\n31007\t1\n31008\t1\n31013\t1\n31015\t1\n31017\t1\n31019\t1\n31020\t1\n31034\t1\n31038\t1\n31050\t1\n31054\t1\n31059\t1\n31068\t1\n31071\t1\n31077\t1\n31085\t1\n31088\t1\n31092\t1\n31096\t1\n31111\t1\n31125\t1\n31129\t1\n31132\t1\n31133\t1\n31143\t1\n31150\t1\n31153\t1\n31156\t1\n31157\t1\n31158\t1\n31168\t1\n31171\t1\n31180\t1\n31181\t1\n31185\t1\n31188\t1\n31195\t1\n31201\t1\n31203\t1\n31205\t1\n31209\t1\n31211\t1\n31213\t1\n31219\t1\n31226\t1\n31234\t1\n31235\t1\n31246\t1\n31248\t1\n31257\t1\n31266\t1\n31273\t1\n31274\t1\n31279\t1\n31292\t1\n31302\t1\n31305\t1\n31308\t1\n31317\t1\n31320\t1\n31321\t1\n31332\t1\n31343\t1\n31347\t1\n31350\t1\n31352\t1\n31357\t1\n31358\t1\n31359\t1\n31364\t1\n31383\t1\n31396\t1\n31400\t1\n31406\t1\n31409\t1\n31411\t1\n31427\t1\n31429\t1\n31436\t1\n31439\t1\n31440\t1\n31441\t1\n31460\t1\n31465\t1\n31471\t1\n31474\t1\n31478\t1\n31479\t1\n31487\t1\n31495\t1\n31497\t1\n31500\t1\n31512\t1\n31519\t1\n31521\t1\n31530\t1\n31536\t1\n31563\t1\n31567\t1\n31576\t1\n31583\t1\n31584\t1\n31592\t1\n31595\t1\n31599\t1\n31605\t1\n31610\t1\n31618\t1\n31625\t1\n31626\t1\n31627\t1\n31634\t1\n31635\t1\n31639\t1\n31640\t1\n31655\t1\n31657\t1\n31659\t1\n31663\t1\n31666\t1\n31675\t1\n31678\t1\n31679\t1\n31680\t1\n31683\t1\n31701\t1\n31711\t1\n31723\t1\n31732\t1\n31733\t1\n31734\t1\n31735\t1\n31755\t1\n31763\t1\n31764\t1\n31766\t1\n31767\t1\n31775\t1\n31780\t1\n31787\t1\n31794\t1\n31798\t1\n31802\t1\n31806\t1\n31812\t1\n31820\t1\n31822\t1\n31823\t1\n31833\t1\n31834\t1\n31841\t1\n31850\t1\n31856\t1\n31863\t1\n31869\t1\n31871\t1\n31875\t1\n31883\t1\n31888\t1\n31897\t1\n31898\t1\n31900\t1\n31918\t1\n31923\t1\n31924\t1\n31926\t1\n31939\t1\n31941\t1\n31962\t1\n31982\t1\n31989\t1\n31990\t1\n31994\t1\n31998\t1\n32003\t1\n32005\t1\n32016\t1\n32017\t1\n32026\t1\n32038\t1\n32043\t1\n32046\t1\n32049\t1\n32057\t1\n32059\t1\n32063\t1\n32077\t1\n32081\t1\n32102\t1\n32105\t1\n32106\t1\n32108\t1\n32115\t1\n32119\t1\n32131\t1\n32135\t1\n32150\t1\n32154\t1\n32159\t1\n32161\t1\n32164\t1\n32181\t1\n32186\t1\n32187\t1\n32200\t1\n32205\t1\n32206\t1\n32211\t1\n32214\t1\n32219\t1\n32226\t1\n32227\t1\n32229\t1\n32253\t1\n32260\t1\n32264\t1\n32267\t1\n32272\t1\n32279\t1\n32286\t1\n32300\t1\n32304\t1\n32305\t1\n32313\t1\n32316\t1\n32328\t1\n32329\t1\n32334\t1\n32344\t1\n32355\t1\n32361\t1\n32373\t1\n32386\t1\n32388\t1\n32397\t1\n32403\t1\n32405\t1\n32407\t1\n32409\t1\n32417\t1\n32419\t1\n32422\t1\n32430\t1\n32433\t1\n32434\t1\n32435\t1\n32462\t1\n32469\t1\n32471\t1\n32472\t1\n32476\t1\n32477\t1\n32481\t1\n32483\t1\n32491\t1\n32497\t1\n32498\t1\n32504\t1\n32517\t1\n32520\t1\n32521\t1\n32523\t1\n32537\t1\n32545\t1\n32562\t1\n32570\t1\n32574\t1\n32575\t1\n32580\t1\n32581\t1\n32589\t1\n32593\t1\n32598\t1\n32602\t1\n32603\t1\n32605\t1\n32610\t1\n32621\t1\n32623\t1\n32625\t1\n32629\t1\n32636\t1\n32638\t1\n32647\t1\n32651\t1\n32653\t1\n32667\t1\n32669\t1\n32675\t1\n32683\t1\n32690\t1\n32697\t1\n32698\t1\n32709\t1\n32710\t1\n32713\t1\n32729\t1\n32742\t1\n32746\t1\n32755\t1\n32762\t1\n32788\t1\n32800\t1\n32805\t1\n32814\t1\n32817\t1\n32818\t1\n32830\t1\n32831\t1\n32832\t1\n32839\t1\n32847\t1\n32848\t1\n32854\t1\n32863\t1\n32865\t1\n32869\t1\n32871\t1\n32872\t1\n32873\t1\n32880\t1\n32882\t1\n32884\t1\n32885\t1\n32897\t1\n32903\t1\n32908\t1\n32911\t1\n32914\t1\n32915\t1\n32916\t1\n32917\t1\n32939\t1\n32940\t1\n32947\t1\n32950\t1\n32965\t1\n32969\t1\n32970\t1\n32973\t1\n32978\t1\n32995\t1\n33003\t1\n33008\t1\n33015\t1\n33021\t1\n33026\t1\n33030\t1\n33035\t1\n33040\t1\n33049\t1\n33057\t1\n33058\t1\n33059\t1\n33063\t1\n33069\t1\n33075\t1\n33083\t1\n33089\t1\n33092\t1\n33100\t1\n33104\t1\n33107\t1\n33108\t1\n33109\t1\n33119\t1\n33132\t1\n33148\t1\n33151\t1\n33163\t1\n33165\t1\n33181\t1\n33182\t1\n33183\t1\n33184\t1\n33189\t1\n33190\t1\n33192\t1\n33199\t1\n33200\t1\n33216\t1\n33220\t1\n33222\t1\n33223\t1\n33229\t1\n33232\t1\n33237\t1\n33246\t1\n33248\t1\n33253\t1\n33260\t1\n33262\t1\n33268\t1\n33273\t1\n33274\t1\n33288\t1\n33305\t1\n33306\t1\n33314\t1\n33317\t1\n33318\t1\n33327\t1\n33329\t1\n33338\t1\n33341\t1\n33361\t1\n33363\t1\n33372\t1\n33373\t1\n33383\t1\n33384\t1\n33386\t1\n33406\t1\n33407\t1\n33410\t1\n33420\t1\n33426\t1\n33431\t1\n33434\t1\n33436\t1\n33442\t1\n33450\t1\n33458\t1\n33472\t1\n33483\t1\n33496\t1\n33497\t1\n33501\t1\n33504\t1\n33511\t1\n33512\t1\n33514\t1\n33521\t1\n33526\t1\n33532\t1\n33535\t1\n33537\t1\n33538\t1\n33548\t1\n33550\t1\n33553\t1\n33565\t1\n33570\t1\n33580\t1\n33584\t1\n33589\t1\n33590\t1\n33603\t1\n33607\t1\n33615\t1\n33616\t1\n33617\t1\n33618\t1\n33621\t1\n33632\t1\n33636\t1\n33639\t1\n33641\t1\n33642\t1\n33646\t1\n33650\t1\n33658\t1\n33666\t1\n33683\t1\n33686\t1\n33688\t1\n33690\t1\n33698\t1\n33702\t1\n33711\t1\n33730\t1\n33734\t1\n33742\t1\n33743\t1\n33748\t1\n33753\t1\n33758\t1\n33760\t1\n33767\t1\n33775\t1\n33779\t1\n33783\t1\n33786\t1\n33788\t1\n33796\t1\n33799\t1\n33806\t1\n33811\t1\n33849\t1\n33858\t1\n33861\t1\n33865\t1\n33867\t1\n33868\t1\n33872\t1\n33874\t1\n33877\t1\n33878\t1\n33880\t1\n33882\t1\n33888\t1\n33897\t1\n33899\t1\n33902\t1\n33914\t1\n33921\t1\n33924\t1\n33928\t1\n33940\t1\n33944\t1\n33949\t1\n33951\t1\n33961\t1\n33962\t1\n33965\t1\n33969\t1\n33971\t1\n33978\t1\n33984\t1\n33992\t1\n33996\t1\n33999\t1\n34000\t1\n34009\t1\n34012\t1\n34016\t1\n34031\t1\n34053\t1\n34054\t1\n34063\t1\n34066\t1\n34067\t1\n34071\t1\n34075\t1\n34077\t1\n34081\t1\n34082\t1\n34083\t1\n34090\t1\n34092\t1\n34095\t1\n34098\t1\n34100\t1\n34108\t1\n34109\t1\n34110\t1\n34112\t1\n34116\t1\n34129\t1\n34137\t1\n34142\t1\n34150\t1\n34163\t1\n34165\t1\n34176\t1\n34177\t1\n34182\t1\n34186\t1\n34192\t1\n34235\t1\n34236\t1\n34252\t1\n34253\t1\n34257\t1\n34277\t1\n34289\t1\n34294\t1\n34299\t1\n34301\t1\n34302\t1\n34310\t1\n34311\t1\n34314\t1\n34319\t1\n34330\t1\n34336\t1\n34346\t1\n34363\t1\n34365\t1\n34367\t1\n34369\t1\n34379\t1\n34391\t1\n34394\t1\n34412\t1\n34413\t1\n34414\t1\n34416\t1\n34422\t1\n34429\t1\n34445\t1\n34453\t1\n34458\t1\n34463\t1\n34465\t1\n34468\t1\n34476\t1\n34485\t1\n34490\t1\n34492\t1\n34501\t1\n34507\t1\n34512\t1\n34519\t1\n34525\t1\n34529\t1\n34534\t1\n34539\t1\n34544\t1\n34548\t1\n34552\t1\n34554\t1\n34558\t1\n34561\t1\n34568\t1\n34572\t1\n34574\t1\n34576\t1\n34578\t1\n34582\t1\n34589\t1\n34592\t1\n34598\t1\n34600\t1\n34606\t1\n34618\t1\n34632\t1\n34642\t1\n34643\t1\n34661\t1\n34666\t1\n34681\t1\n34691\t1\n34694\t1\n34695\t1\n34697\t1\n34700\t1\n34711\t1\n34716\t1\n34719\t1\n34725\t1\n34726\t1\n34742\t1\n34743\t1\n34748\t1\n34759\t1\n34773\t1\n34774\t1\n34780\t1\n34783\t1\n34789\t1\n34791\t1\n34803\t1\n34804\t1\n34807\t1\n34808\t1\n34826\t1\n34833\t1\n34848\t1\n34858\t1\n34861\t1\n34885\t1\n34888\t1\n34892\t1\n34898\t1\n34903\t1\n34904\t1\n34907\t1\n34908\t1\n34926\t1\n34934\t1\n34940\t1\n34942\t1\n34953\t1\n34991\t1\n34994\t1\n34995\t1\n34996\t1\n35004\t1\n35008\t1\n35012\t1\n35021\t1\n35022\t1\n35026\t1\n35028\t1\n35032\t1\n35035\t1\n35040\t1\n35050\t1\n35055\t1\n35059\t1\n35061\t1\n35064\t1\n35065\t1\n35076\t1\n35078\t1\n35080\t1\n35083\t1\n35087\t1\n35093\t1\n35094\t1\n35096\t1\n35104\t1\n35117\t1\n35118\t1\n35123\t1\n35138\t1\n35143\t1\n35148\t1\n35149\t1\n35155\t1\n35162\t1\n35167\t1\n35172\t1\n35177\t1\n35181\t1\n35205\t1\n35214\t1\n35217\t1\n35235\t1\n35238\t1\n35239\t1\n35244\t1\n35245\t1\n35266\t1\n35269\t1\n35287\t1\n35294\t1\n35307\t1\n35308\t1\n35311\t1\n35321\t1\n35324\t1\n35328\t1\n35331\t1\n35337\t1\n35339\t1\n35345\t1\n35346\t1\n35347\t1\n35361\t1\n35365\t1\n35374\t1\n35375\t1\n35382\t1\n35387\t1\n35392\t1\n35396\t1\n35397\t1\n35399\t1\n35400\t1\n35401\t1\n35418\t1\n35423\t1\n35425\t1\n35427\t1\n35439\t1\n35440\t1\n35441\t1\n35455\t1\n35466\t1\n35468\t1\n35469\t1\n35470\t1\n35473\t1\n35475\t1\n35481\t1\n35483\t1\n35484\t1\n35486\t1\n35490\t1\n35491\t1\n35502\t1\n35506\t1\n35507\t1\n35514\t1\n35518\t1\n35524\t1\n35528\t1\n35539\t1\n35541\t1\n35549\t1\n35560\t1\n35574\t1\n35580\t1\n35581\t1\n35595\t1\n35597\t1\n35602\t1\n35606\t1\n35618\t1\n35621\t1\n35624\t1\n35628\t1\n35633\t1\n35653\t1\n35666\t1\n35673\t1\n35674\t1\n35678\t1\n35679\t1\n35690\t1\n35694\t1\n35698\t1\n35699\t1\n35705\t1\n35708\t1\n35709\t1\n35710\t1\n35712\t1\n35713\t1\n35720\t1\n35763\t1\n35766\t1\n35768\t1\n35772\t1\n35781\t1\n35786\t1\n35794\t1\n35803\t1\n35806\t1\n35814\t1\n35827\t1\n35829\t1\n35832\t1\n35841\t1\n35857\t1\n35861\t1\n35863\t1\n35877\t1\n35879\t1\n35880\t1\n35883\t1\n35885\t1\n35895\t1\n35900\t1\n35902\t1\n35903\t1\n35905\t1\n35909\t1\n35917\t1\n35921\t1\n35930\t1\n35932\t1\n35937\t1\n35941\t1\n35947\t1\n35948\t1\n35954\t1\n35968\t1\n35969\t1\n35973\t1\n35979\t1\n35984\t1\n35985\t1\n36001\t1\n36016\t1\n36030\t1\n36056\t1\n36058\t1\n36059\t1\n36063\t1\n36071\t1\n36073\t1\n36079\t1\n36084\t1\n36087\t1\n36091\t1\n36094\t1\n36102\t1\n36103\t1\n36113\t1\n36122\t1\n36127\t1\n36133\t1\n36135\t1\n36141\t1\n36144\t1\n36150\t1\n36152\t1\n36163\t1\n36164\t1\n36165\t1\n36178\t1\n36187\t1\n36189\t1\n36192\t1\n36195\t1\n36199\t1\n36201\t1\n36204\t1\n36208\t1\n36216\t1\n36225\t1\n36226\t1\n36230\t1\n36232\t1\n36239\t1\n36243\t1\n36244\t1\n36246\t1\n36249\t1\n36251\t1\n36253\t1\n36255\t1\n36262\t1\n36263\t1\n36266\t1\n36274\t1\n36290\t1\n36291\t1\n36299\t1\n36302\t1\n36303\t1\n36316\t1\n36322\t1\n36325\t1\n36326\t1\n36328\t1\n36342\t1\n36353\t1\n36363\t1\n36371\t1\n36373\t1\n36374\t1\n36376\t1\n36380\t1\n36382\t1\n36390\t1\n36395\t1\n36403\t1\n36409\t1\n36411\t1\n36418\t1\n36422\t1\n36426\t1\n36434\t1\n36437\t1\n36438\t1\n36439\t1\n36447\t1\n36470\t1\n36471\t1\n36472\t1\n36483\t1\n36484\t1\n36488\t1\n36489\t1\n36503\t1\n36509\t1\n36510\t1\n36519\t1\n36523\t1\n36525\t1\n36527\t1\n36534\t1\n36535\t1\n36536\t1\n36542\t1\n36561\t1\n36563\t1\n36570\t1\n36571\t1\n36602\t1\n36605\t1\n36607\t1\n36610\t1\n36617\t1\n36618\t1\n36623\t1\n36627\t1\n36651\t1\n36657\t1\n36669\t1\n36693\t1\n36698\t1\n36701\t1\n36726\t1\n36734\t1\n36739\t1\n36740\t1\n36757\t1\n36766\t1\n36774\t1\n36778\t1\n36787\t1\n36791\t1\n36798\t1\n36805\t1\n36810\t1\n36813\t1\n36816\t1\n36822\t1\n36824\t1\n36838\t1\n36841\t1\n36844\t1\n36850\t1\n36857\t1\n36861\t1\n36866\t1\n36873\t1\n36875\t1\n36878\t1\n36882\t1\n36884\t1\n36897\t1\n36898\t1\n36899\t1\n36900\t1\n36911\t1\n36913\t1\n36914\t1\n36917\t1\n36937\t1\n36945\t1\n36953\t1\n36958\t1\n36959\t1\n36962\t1\n36966\t1\n36967\t1\n36976\t1\n36982\t1\n36983\t1\n36988\t1\n36994\t1\n37001\t1\n37012\t1\n37016\t1\n37020\t1\n37024\t1\n37029\t1\n37044\t1\n37046\t1\n37047\t1\n37051\t1\n37065\t1\n37069\t1\n37085\t1\n37086\t1\n37095\t1\n37101\t1\n37106\t1\n37112\t1\n37120\t1\n37124\t1\n37132\t1\n37135\t1\n37141\t1\n37146\t1\n37154\t1\n37157\t1\n37162\t1\n37167\t1\n37184\t1\n37193\t1\n37205\t1\n37209\t1\n37213\t1\n37221\t1\n37225\t1\n37227\t1\n37229\t1\n37230\t1\n37247\t1\n37256\t1\n37273\t1\n37279\t1\n37286\t1\n37295\t1\n37306\t1\n37308\t1\n37321\t1\n37338\t1\n37344\t1\n37347\t1\n37364\t1\n37365\t1\n37368\t1\n37370\t1\n37379\t1\n37383\t1\n37397\t1\n37398\t1\n37406\t1\n37407\t1\n37413\t1\n37442\t1\n37443\t1\n37444\t1\n37452\t1\n37454\t1\n37463\t1\n37467\t1\n37469\t1\n37470\t1\n37477\t1\n37485\t1\n37488\t1\n37502\t1\n37507\t1\n37518\t1\n37525\t1\n37531\t1\n37534\t1\n37537\t1\n37547\t1\n37553\t1\n37556\t1\n37578\t1\n37593\t1\n37596\t1\n37598\t1\n37602\t1\n37613\t1\n37620\t1\n37622\t1\n37625\t1\n37633\t1\n37634\t1\n37639\t1\n37646\t1\n37649\t1\n37650\t1\n37655\t1\n37658\t1\n37663\t1\n37666\t1\n37673\t1\n37676\t1\n37678\t1\n37683\t1\n37701\t1\n37705\t1\n37709\t1\n37718\t1\n37719\t1\n37720\t1\n37723\t1\n37750\t1\n37768\t1\n37774\t1\n37775\t1\n37777\t1\n37781\t1\n37782\t1\n37787\t1\n37789\t1\n37798\t1\n37802\t1\n37836\t1\n37846\t1\n37849\t1\n37850\t1\n37853\t1\n37859\t1\n37860\t1\n37862\t1\n37876\t1\n37879\t1\n37882\t1\n37896\t1\n37899\t1\n37901\t1\n37906\t1\n37907\t1\n37919\t1\n37933\t1\n37936\t1\n37940\t1\n37941\t1\n37945\t1\n37947\t1\n37952\t1\n37958\t1\n37961\t1\n37972\t1\n37984\t1\n37985\t1\n37987\t1\n37994\t1\n38002\t1\n38004\t1\n38009\t1\n38016\t1\n38021\t1\n38043\t1\n38046\t1\n38047\t1\n38049\t1\n38065\t1\n38068\t1\n38070\t1\n38075\t1\n38076\t1\n38090\t1\n38096\t1\n38099\t1\n38103\t1\n38108\t1\n38112\t1\n38134\t1\n38137\t1\n38143\t1\n38149\t1\n38152\t1\n38159\t1\n38162\t1\n38168\t1\n38180\t1\n38183\t1\n38186\t1\n38205\t1\n38209\t1\n38224\t1\n38228\t1\n38230\t1\n38243\t1\n38246\t1\n38250\t1\n38252\t1\n38255\t1\n38265\t1\n38268\t1\n38271\t1\n38273\t1\n38274\t1\n38276\t1\n38281\t1\n38295\t1\n38296\t1\n38300\t1\n38301\t1\n38309\t1\n38312\t1\n38313\t1\n38317\t1\n38318\t1\n38320\t1\n38326\t1\n38341\t1\n38344\t1\n38347\t1\n38349\t1\n38354\t1\n38361\t1\n38373\t1\n38376\t1\n38403\t1\n38409\t1\n38433\t1\n38434\t1\n38442\t1\n38447\t1\n38451\t1\n38468\t1\n38472\t1\n38475\t1\n38482\t1\n38484\t1\n38493\t1\n38498\t1\n38499\t1\n38504\t1\n38508\t1\n38509\t1\n38512\t1\n38519\t1\n38521\t1\n38523\t1\n38525\t1\n38541\t1\n38545\t1\n38550\t1\n38554\t1\n38559\t1\n38566\t1\n38568\t1\n38571\t1\n38574\t1\n38577\t1\n38578\t1\n38579\t1\n38585\t1\n38592\t1\n38593\t1\n38594\t1\n38612\t1\n38613\t1\n38615\t1\n38635\t1\n38637\t1\n38640\t1\n38646\t1\n38647\t1\n38654\t1\n38659\t1\n38660\t1\n38669\t1\n38674\t1\n38677\t1\n38680\t1\n38684\t1\n38692\t1\n38693\t1\n38700\t1\n38703\t1\n38718\t1\n38724\t1\n38735\t1\n38738\t1\n38744\t1\n38747\t1\n38748\t1\n38749\t1\n38759\t1\n38766\t1\n38783\t1\n38787\t1\n38794\t1\n38795\t1\n38796\t1\n38800\t1\n38807\t1\n38808\t1\n38811\t1\n38812\t1\n38815\t1\n38817\t1\n38842\t1\n38847\t1\n38851\t1\n38852\t1\n38855\t1\n38859\t1\n38860\t1\n38866\t1\n38867\t1\n38876\t1\n38882\t1\n38884\t1\n38891\t1\n38892\t1\n38895\t1\n38910\t1\n38916\t1\n38920\t1\n38922\t1\n38924\t1\n38928\t1\n38932\t1\n38945\t1\n38956\t1\n38960\t1\n38972\t1\n38973\t1\n38974\t1\n38975\t1\n38993\t1\n39004\t1\n39005\t1\n39009\t1\n39011\t1\n39015\t1\n39016\t1\n39019\t1\n39022\t1\n39024\t1\n39026\t1\n39030\t1\n39043\t1\n39047\t1\n39055\t1\n39067\t1\n39069\t1\n39083\t1\n39100\t1\n39104\t1\n39105\t1\n39113\t1\n39126\t1\n39134\t1\n39138\t1\n39140\t1\n39141\t1\n39143\t1\n39147\t1\n39148\t1\n39162\t1\n39179\t1\n39188\t1\n39193\t1\n39194\t1\n39197\t1\n39207\t1\n39221\t1\n39226\t1\n39232\t1\n39233\t1\n39235\t1\n39242\t1\n39249\t1\n39250\t1\n39251\t1\n39255\t1\n39259\t1\n39262\t1\n39265\t1\n39270\t1\n39272\t1\n39282\t1\n39284\t1\n39289\t1\n39294\t1\n39297\t1\n39298\t1\n39299\t1\n39307\t1\n39310\t1\n39322\t1\n39328\t1\n39338\t1\n39340\t1\n39345\t1\n39348\t1\n39349\t1\n39360\t1\n39389\t1\n39397\t1\n39406\t1\n39409\t1\n39417\t1\n39423\t1\n39424\t1\n39425\t1\n39426\t1\n39432\t1\n39442\t1\n39443\t1\n39446\t1\n39464\t1\n39465\t1\n39468\t1\n39469\t1\n39473\t1\n39475\t1\n39478\t1\n39488\t1\n39491\t1\n39493\t1\n39499\t1\n39508\t1\n39516\t1\n39525\t1\n39530\t1\n39537\t1\n39543\t1\n39544\t1\n39546\t1\n39547\t1\n39549\t1\n39554\t1\n39556\t1\n39565\t1\n39566\t1\n39584\t1\n39592\t1\n39595\t1\n39600\t1\n39602\t1\n39606\t1\n39607\t1\n39610\t1\n39615\t1\n39635\t1\n39636\t1\n39639\t1\n39649\t1\n39655\t1\n39660\t1\n39661\t1\n39662\t1\n39667\t1\n39677\t1\n39678\t1\n39685\t1\n39693\t1\n39696\t1\n39708\t1\n39721\t1\n39726\t1\n39728\t1\n39731\t1\n39739\t1\n39742\t1\n39749\t1\n39753\t1\n39759\t1\n39767\t1\n39769\t1\n39777\t1\n39785\t1\n39795\t1\n39799\t1\n39801\t1\n39805\t1\n39816\t1\n39819\t1\n39823\t1\n39828\t1\n39834\t1\n39835\t1\n39838\t1\n39846\t1\n39849\t1\n39852\t1\n39856\t1\n39859\t1\n39867\t1\n39877\t1\n39878\t1\n39879\t1\n39892\t1\n39896\t1\n39908\t1\n39919\t1\n39925\t1\n39933\t1\n39935\t1\n39937\t1\n39942\t1\n39944\t1\n39948\t1\n39949\t1\n39952\t1\n39966\t1\n39975\t1\n39983\t1\n40005\t1\n40011\t1\n40014\t1\n40019\t1\n40046\t1\n40049\t1\n40052\t1\n40054\t1\n40055\t1\n40061\t1\n40063\t1\n40065\t1\n40069\t1\n40074\t1\n40080\t1\n40084\t1\n40087\t1\n40088\t1\n40089\t1\n40093\t1\n40102\t1\n40105\t1\n40114\t1\n40122\t1\n40126\t1\n40131\t1\n40132\t1\n40134\t1\n40137\t1\n40139\t1\n40141\t1\n40144\t1\n40148\t1\n40152\t1\n40158\t1\n40161\t1\n40174\t1\n40175\t1\n40178\t1\n40186\t1\n40197\t1\n40198\t1\n40201\t1\n40204\t1\n40218\t1\n40227\t1\n40237\t1\n40238\t1\n40242\t1\n40245\t1\n40246\t1\n40249\t1\n40253\t1\n40257\t1\n40264\t1\n40271\t1\n40272\t1\n40276\t1\n40284\t1\n40290\t1\n40294\t1\n40295\t1\n40299\t1\n40303\t1\n40306\t1\n40309\t1\n40310\t1\n40313\t1\n40324\t1\n40327\t1\n40331\t1\n40335\t1\n40349\t1\n40363\t1\n40365\t1\n40382\t1\n40383\t1\n40384\t1\n40393\t1\n40402\t1\n40408\t1\n40411\t1\n40414\t1\n40419\t1\n40424\t1\n40428\t1\n40441\t1\n40442\t1\n40451\t1\n40452\t1\n40461\t1\n40468\t1\n40476\t1\n40477\t1\n40486\t1\n40487\t1\n40488\t1\n40503\t1\n40513\t1\n40515\t1\n40516\t1\n40526\t1\n40528\t1\n40540\t1\n40545\t1\n40552\t1\n40556\t1\n40562\t1\n40565\t1\n40566\t1\n40568\t1\n40584\t1\n40610\t1\n40612\t1\n40621\t1\n40622\t1\n40624\t1\n40638\t1\n40642\t1\n40644\t1\n40648\t1\n40651\t1\n40657\t1\n40663\t1\n40665\t1\n40677\t1\n40682\t1\n40695\t1\n40710\t1\n40711\t1\n40720\t1\n40721\t1\n40722\t1\n40725\t1\n40726\t1\n40731\t1\n40734\t1\n40736\t1\n40740\t1\n40753\t1\n40754\t1\n40759\t1\n40764\t1\n40775\t1\n40783\t1\n40789\t1\n40800\t1\n40801\t1\n40818\t1\n40827\t1\n40828\t1\n40835\t1\n40839\t1\n40841\t1\n40843\t1\n40860\t1\n40869\t1\n40874\t1\n40876\t1\n40880\t1\n40891\t1\n40900\t1\n40908\t1\n40909\t1\n40916\t1\n40918\t1\n40921\t1\n40924\t1\n40929\t1\n40937\t1\n40938\t1\n40941\t1\n40944\t1\n40945\t1\n40952\t1\n40955\t1\n40976\t1\n40983\t1\n40989\t1\n40991\t1\n41004\t1\n41011\t1\n41012\t1\n41019\t1\n41023\t1\n41025\t1\n41041\t1\n41043\t1\n41058\t1\n41059\t1\n41063\t1\n41076\t1\n41078\t1\n41085\t1\n41090\t1\n41097\t1\n41104\t1\n41134\t1\n41137\t1\n41140\t1\n41144\t1\n41146\t1\n41149\t1\n41167\t1\n41177\t1\n41181\t1\n41196\t1\n41197\t1\n41199\t1\n41204\t1\n41206\t1\n41208\t1\n41215\t1\n41219\t1\n41226\t1\n41234\t1\n41235\t1\n41242\t1\n41267\t1\n41269\t1\n41271\t1\n41272\t1\n41273\t1\n41284\t1\n41287\t1\n41295\t1\n41298\t1\n41321\t1\n41324\t1\n41325\t1\n41332\t1\n41334\t1\n41337\t1\n41338\t1\n41340\t1\n41354\t1\n41367\t1\n41376\t1\n41382\t1\n41385\t1\n41394\t1\n41401\t1\n41405\t1\n41408\t1\n41411\t1\n41413\t1\n41422\t1\n41434\t1\n41435\t1\n41440\t1\n41447\t1\n41451\t1\n41453\t1\n41455\t1\n41457\t1\n41463\t1\n41486\t1\n41496\t1\n41500\t1\n41502\t1\n41509\t1\n41515\t1\n41519\t1\n41525\t1\n41536\t1\n41545\t1\n41552\t1\n41553\t1\n41571\t1\n41580\t1\n41585\t1\n41587\t1\n41597\t1\n41602\t1\n41605\t1\n41609\t1\n41612\t1\n41613\t1\n41619\t1\n41626\t1\n41636\t1\n41640\t1\n41656\t1\n41667\t1\n41672\t1\n41673\t1\n41676\t1\n41680\t1\n41685\t1\n41688\t1\n41690\t1\n41691\t1\n41697\t1\n41701\t1\n41704\t1\n41709\t1\n41721\t1\n41724\t1\n41747\t1\n41751\t1\n41752\t1\n41759\t1\n41767\t1\n41779\t1\n41789\t1\n41796\t1\n41803\t1\n41816\t1\n41819\t1\n41823\t1\n41828\t1\n41849\t1\n41853\t1\n41863\t1\n41871\t1\n41877\t1\n41880\t1\n41897\t1\n41898\t1\n41902\t1\n41906\t1\n41909\t1\n41910\t1\n41911\t1\n41913\t1\n41922\t1\n41928\t1\n41938\t1\n41941\t1\n41949\t1\n41953\t1\n41957\t1\n41958\t1\n41972\t1\n41986\t1\n41988\t1\n41997\t1\n41998\t1\n42003\t1\n42010\t1\n42017\t1\n42020\t1\n42027\t1\n42036\t1\n42041\t1\n42051\t1\n42062\t1\n42076\t1\n42078\t1\n42090\t1\n42093\t1\n42097\t1\n42113\t1\n42117\t1\n42129\t1\n42142\t1\n42146\t1\n42159\t1\n42165\t1\n42186\t1\n42200\t1\n42209\t1\n42219\t1\n42223\t1\n42225\t1\n42240\t1\n42245\t1\n42247\t1\n42249\t1\n42260\t1\n42262\t1\n42271\t1\n42274\t1\n42279\t1\n42280\t1\n42285\t1\n42287\t1\n42291\t1\n42297\t1\n42305\t1\n42314\t1\n42315\t1\n42324\t1\n42327\t1\n42334\t1\n42343\t1\n42346\t1\n42353\t1\n42359\t1\n42362\t1\n42372\t1\n42373\t1\n42377\t1\n42381\t1\n42392\t1\n42399\t1\n42400\t1\n42402\t1\n42406\t1\n42407\t1\n42455\t1\n42471\t1\n42479\t1\n42489\t1\n42490\t1\n42504\t1\n42505\t1\n42507\t1\n42512\t1\n42521\t1\n42528\t1\n42532\t1\n42535\t1\n42543\t1\n42550\t1\n42553\t1\n42554\t1\n42555\t1\n42559\t1\n42565\t1\n42572\t1\n42580\t1\n42584\t1\n42587\t1\n42593\t1\n42597\t1\n42600\t1\n42601\t1\n42610\t1\n42616\t1\n42624\t1\n42647\t1\n42658\t1\n42661\t1\n42663\t1\n42664\t1\n42665\t1\n42671\t1\n42676\t1\n42677\t1\n42684\t1\n42696\t1\n42700\t1\n42701\t1\n42707\t1\n42709\t1\n42710\t1\n42711\t1\n42718\t1\n42719\t1\n42724\t1\n42731\t1\n42732\t1\n42737\t1\n42763\t1\n42764\t1\n42771\t1\n42777\t1\n42799\t1\n42809\t1\n42812\t1\n42826\t1\n42828\t1\n42831\t1\n42832\t1\n42845\t1\n42852\t1\n42885\t1\n42888\t1\n42893\t1\n42896\t1\n42905\t1\n42909\t1\n42911\t1\n42923\t1\n42927\t1\n42930\t1\n42933\t1\n42936\t1\n42937\t1\n42940\t1\n42944\t1\n42949\t1\n42950\t1\n42955\t1\n42963\t1\n42965\t1\n42969\t1\n42974\t1\n42993\t1\n42994\t1\n43026\t1\n43034\t1\n43044\t1\n43048\t1\n43057\t1\n43058\t1\n43060\t1\n43069\t1\n43079\t1\n43087\t1\n43092\t1\n43095\t1\n43101\t1\n43104\t1\n43107\t1\n43108\t1\n43109\t1\n43117\t1\n43126\t1\n43132\t1\n43147\t1\n43150\t1\n43157\t1\n43166\t1\n43167\t1\n43169\t1\n43171\t1\n43173\t1\n43177\t1\n43183\t1\n43188\t1\n43190\t1\n43192\t1\n43197\t1\n43201\t1\n43203\t1\n43219\t1\n43229\t1\n43230\t1\n43238\t1\n43240\t1\n43246\t1\n43249\t1\n43288\t1\n43292\t1\n43294\t1\n43302\t1\n43322\t1\n43341\t1\n43342\t1\n43351\t1\n43352\t1\n43353\t1\n43360\t1\n43362\t1\n43364\t1\n43373\t1\n43378\t1\n43386\t1\n43390\t1\n43393\t1\n43403\t1\n43408\t1\n43414\t1\n43419\t1\n43440\t1\n43445\t1\n43462\t1\n43475\t1\n43481\t1\n43485\t1\n43513\t1\n43524\t1\n43552\t1\n43556\t1\n43557\t1\n43566\t1\n43589\t1\n43593\t1\n43599\t1\n43612\t1\n43614\t1\n43623\t1\n43626\t1\n43628\t1\n43634\t1\n43646\t1\n43660\t1\n43662\t1\n43663\t1\n43665\t1\n43674\t1\n43677\t1\n43682\t1\n43688\t1\n43690\t1\n43694\t1\n43695\t1\n43702\t1\n43703\t1\n43705\t1\n43715\t1\n43719\t1\n43724\t1\n43730\t1\n43734\t1\n43747\t1\n43750\t1\n43757\t1\n43767\t1\n43780\t1\n43782\t1\n43792\t1\n43796\t1\n43802\t1\n43805\t1\n43809\t1\n43811\t1\n43812\t1\n43817\t1\n43822\t1\n43832\t1\n43834\t1\n43847\t1\n43852\t1\n43857\t1\n43858\t1\n43901\t1\n43903\t1\n43906\t1\n43910\t1\n43924\t1\n43938\t1\n43941\t1\n43949\t1\n43951\t1\n43959\t1\n43960\t1\n43972\t1\n43978\t1\n43980\t1\n43982\t1\n43986\t1\n43990\t1\n43996\t1\n43999\t1\n44012\t1\n44014\t1\n44022\t1\n44033\t1\n44038\t1\n44040\t1\n44061\t1\n44090\t1\n44092\t1\n44098\t1\n44100\t1\n44116\t1\n44124\t1\n44128\t1\n44135\t1\n44136\t1\n44139\t1\n44147\t1\n44150\t1\n44151\t1\n44152\t1\n44153\t1\n44162\t1\n44170\t1\n44192\t1\n44194\t1\n44200\t1\n44207\t1\n44212\t1\n44223\t1\n44226\t1\n44250\t1\n44251\t1\n44271\t1\n44272\t1\n44276\t1\n44281\t1\n44286\t1\n44287\t1\n44292\t1\n44294\t1\n44304\t1\n44306\t1\n44317\t1\n44323\t1\n44324\t1\n44326\t1\n44330\t1\n44338\t1\n44343\t1\n44348\t1\n44360\t1\n44369\t1\n44373\t1\n44374\t1\n44375\t1\n44376\t1\n44377\t1\n44381\t1\n44385\t1\n44393\t1\n44400\t1\n44411\t1\n44418\t1\n44428\t1\n44435\t1\n44447\t1\n44455\t1\n44457\t1\n44459\t1\n44460\t1\n44466\t1\n44469\t1\n44472\t1\n44486\t1\n44498\t1\n44513\t1\n44522\t1\n44527\t1\n44532\t1\n44535\t1\n44539\t1\n44545\t1\n44546\t1\n44555\t1\n44561\t1\n44579\t1\n44581\t1\n44583\t1\n44584\t1\n44592\t1\n44629\t1\n44639\t1\n44643\t1\n44657\t1\n44666\t1\n44682\t1\n44683\t1\n44687\t1\n44692\t1\n44705\t1\n44712\t1\n44717\t1\n44726\t1\n44729\t1\n44730\t1\n44733\t1\n44738\t1\n44743\t1\n44746\t1\n44750\t1\n44760\t1\n44770\t1\n44772\t1\n44776\t1\n44777\t1\n44779\t1\n44780\t1\n44781\t1\n44785\t1\n44786\t1\n44812\t1\n44813\t1\n44814\t1\n44823\t1\n44830\t1\n44847\t1\n44850\t1\n44855\t1\n44856\t1\n44862\t1\n44865\t1\n44866\t1\n44874\t1\n44876\t1\n44879\t1\n44883\t1\n44889\t1\n44890\t1\n44891\t1\n44900\t1\n44901\t1\n44908\t1\n44909\t1\n44914\t1\n44931\t1\n44937\t1\n44942\t1\n44945\t1\n44947\t1\n44953\t1\n44957\t1\n44961\t1\n44962\t1\n44969\t1\n44970\t1\n44972\t1\n44977\t1\n44980\t1\n44983\t1\n44995\t1\n44997\t1\n45007\t1\n45009\t1\n45016\t1\n45020\t1\n45028\t1\n45029\t1\n45030\t1\n45035\t1\n45050\t1\n45061\t1\n45082\t1\n45092\t1\n45119\t1\n45130\t1\n45136\t1\n45139\t1\n45146\t1\n45148\t1\n45150\t1\n45158\t1\n45175\t1\n45179\t1\n45182\t1\n45191\t1\n45192\t1\n45210\t1\n45216\t1\n45217\t1\n45223\t1\n45230\t1\n45231\t1\n45234\t1\n45238\t1\n45245\t1\n45250\t1\n45263\t1\n45267\t1\n45276\t1\n45284\t1\n45289\t1\n45296\t1\n45300\t1\n45308\t1\n45320\t1\n45321\t1\n45322\t1\n45323\t1\n45331\t1\n45335\t1\n45346\t1\n45348\t1\n45350\t1\n45352\t1\n45357\t1\n45359\t1\n45364\t1\n45367\t1\n45382\t1\n45383\t1\n45385\t1\n45386\t1\n45389\t1\n45395\t1\n45399\t1\n45405\t1\n45414\t1\n45415\t1\n45426\t1\n45433\t1\n45434\t1\n45442\t1\n45444\t1\n45446\t1\n45450\t1\n45452\t1\n45454\t1\n45466\t1\n45479\t1\n45485\t1\n45490\t1\n45493\t1\n45495\t1\n45496\t1\n45499\t1\n45508\t1\n45509\t1\n45512\t1\n45514\t1\n45517\t1\n45522\t1\n45523\t1\n45527\t1\n45533\t1\n45538\t1\n45539\t1\n45542\t1\n45543\t1\n45544\t1\n45549\t1\n45551\t1\n45558\t1\n45569\t1\n45570\t1\n45575\t1\n45582\t1\n45583\t1\n45584\t1\n45591\t1\n45603\t1\n45606\t1\n45611\t1\n45616\t1\n45619\t1\n45621\t1\n45623\t1\n45624\t1\n45627\t1\n45632\t1\n45639\t1\n45645\t1\n45647\t1\n45654\t1\n45655\t1\n45662\t1\n45665\t1\n45666\t1\n45669\t1\n45679\t1\n45706\t1\n45713\t1\n45716\t1\n45718\t1\n45741\t1\n45743\t1\n45750\t1\n45753\t1\n45754\t1\n45761\t1\n45763\t1\n45774\t1\n45777\t1\n45781\t1\n45795\t1\n45802\t1\n45809\t1\n45834\t1\n45837\t1\n45841\t1\n45844\t1\n45851\t1\n45854\t1\n45871\t1\n45874\t1\n45887\t1\n45894\t1\n45899\t1\n45904\t1\n45927\t1\n45929\t1\n45931\t1\n45943\t1\n45960\t1\n45971\t1\n45973\t1\n45977\t1\n45979\t1\n45985\t1\n46005\t1\n46027\t1\n46029\t1\n46031\t1\n46032\t1\n46037\t1\n46038\t1\n46059\t1\n46062\t1\n46071\t1\n46073\t1\n46076\t1\n46096\t1\n46098\t1\n46099\t1\n46106\t1\n46108\t1\n46124\t1\n46130\t1\n46132\t1\n46135\t1\n46142\t1\n46144\t1\n46153\t1\n46160\t1\n46166\t1\n46169\t1\n46176\t1\n46195\t1\n46198\t1\n46203\t1\n46206\t1\n46209\t1\n46215\t1\n46219\t1\n46229\t1\n46231\t1\n46234\t1\n46236\t1\n46239\t1\n46241\t1\n46243\t1\n46251\t1\n46252\t1\n46254\t1\n46262\t1\n46263\t1\n46266\t1\n46273\t1\n46276\t1\n46282\t1\n46286\t1\n46292\t1\n46300\t1\n46303\t1\n46307\t1\n46308\t1\n46327\t1\n46332\t1\n46334\t1\n46339\t1\n46345\t1\n46357\t1\n46358\t1\n46372\t1\n46377\t1\n46380\t1\n46384\t1\n46390\t1\n46393\t1\n46399\t1\n46413\t1\n46421\t1\n46425\t1\n46435\t1\n46445\t1\n46451\t1\n46453\t1\n46469\t1\n46470\t1\n46474\t1\n46484\t1\n46488\t1\n46502\t1\n46507\t1\n46509\t1\n46513\t1\n46525\t1\n46527\t1\n46532\t1\n46559\t1\n46571\t1\n46577\t1\n46586\t1\n46588\t1\n46597\t1\n46598\t1\n46599\t1\n46608\t1\n46614\t1\n46620\t1\n46636\t1\n46640\t1\n46647\t1\n46652\t1\n46658\t1\n46659\t1\n46695\t1\n46697\t1\n46705\t1\n46712\t1\n46720\t1\n46725\t1\n46727\t1\n46730\t1\n46732\t1\n46733\t1\n46738\t1\n46742\t1\n46743\t1\n46754\t1\n46757\t1\n46762\t1\n46770\t1\n46777\t1\n46787\t1\n46796\t1\n46805\t1\n46806\t1\n46807\t1\n46814\t1\n46816\t1\n46822\t1\n46825\t1\n46837\t1\n46858\t1\n46862\t1\n46867\t1\n46875\t1\n46881\t1\n46888\t1\n46892\t1\n46897\t1\n46898\t1\n46904\t1\n46906\t1\n46910\t1\n46930\t1\n46941\t1\n46943\t1\n46951\t1\n46953\t1\n46954\t1\n46955\t1\n46960\t1\n46961\t1\n46970\t1\n46972\t1\n46976\t1\n46978\t1\n46982\t1\n46989\t1\n46993\t1\n47000\t1\n47004\t1\n47006\t1\n47012\t1\n47015\t1\n47022\t1\n47025\t1\n47049\t1\n47051\t1\n47055\t1\n47060\t1\n47071\t1\n47079\t1\n47085\t1\n47087\t1\n47089\t1\n47097\t1\n47103\t1\n47104\t1\n47109\t1\n47123\t1\n47127\t1\n47129\t1\n47131\t1\n47138\t1\n47161\t1\n47165\t1\n47169\t1\n47172\t1\n47175\t1\n47178\t1\n47202\t1\n47205\t1\n47226\t1\n47227\t1\n47236\t1\n47238\t1\n47239\t1\n47244\t1\n47245\t1\n47248\t1\n47255\t1\n47262\t1\n47272\t1\n47274\t1\n47288\t1\n47299\t1\n47309\t1\n47310\t1\n47314\t1\n47317\t1\n47336\t1\n47345\t1\n47348\t1\n47353\t1\n47355\t1\n47357\t1\n47364\t1\n47365\t1\n47368\t1\n47371\t1\n47375\t1\n47381\t1\n47387\t1\n47394\t1\n47395\t1\n47396\t1\n47398\t1\n47403\t1\n47408\t1\n47423\t1\n47425\t1\n47432\t1\n47436\t1\n47442\t1\n47443\t1\n47447\t1\n47454\t1\n47459\t1\n47461\t1\n47462\t1\n47476\t1\n47478\t1\n47480\t1\n47488\t1\n47494\t1\n47505\t1\n47519\t1\n47520\t1\n47527\t1\n47528\t1\n47529\t1\n47532\t1\n47541\t1\n47546\t1\n47554\t1\n47564\t1\n47565\t1\n47574\t1\n47576\t1\n47578\t1\n47586\t1\n47595\t1\n47607\t1\n47608\t1\n47611\t1\n47615\t1\n47620\t1\n47622\t1\n47625\t1\n47632\t1\n47639\t1\n47640\t1\n47646\t1\n47658\t1\n47659\t1\n47664\t1\n47667\t1\n47668\t1\n47669\t1\n47682\t1\n47689\t1\n47704\t1\n47708\t1\n47727\t1\n47731\t1\n47736\t1\n47737\t1\n47738\t1\n47740\t1\n47742\t1\n47751\t1\n47753\t1\n47754\t1\n47755\t1\n47767\t1\n47769\t1\n47771\t1\n47800\t1\n47812\t1\n47823\t1\n47824\t1\n47831\t1\n47843\t1\n47845\t1\n47848\t1\n47852\t1\n47854\t1\n47858\t1\n47867\t1\n47868\t1\n47871\t1\n47872\t1\n47880\t1\n47888\t1\n47889\t1\n47891\t1\n47898\t1\n47899\t1\n47900\t1\n47903\t1\n47906\t1\n47910\t1\n47915\t1\n47932\t1\n47933\t1\n47934\t1\n47935\t1\n47942\t1\n47946\t1\n47954\t1\n47958\t1\n47980\t1\n47981\t1\n47984\t1\n47992\t1\n47999\t1\n48001\t1\n48036\t1\n48055\t1\n48059\t1\n48063\t1\n48065\t1\n48070\t1\n48082\t1\n48086\t1\n48104\t1\n48106\t1\n48121\t1\n48140\t1\n48142\t1\n48145\t1\n48154\t1\n48161\t1\n48162\t1\n48180\t1\n48181\t1\n48187\t1\n48191\t1\n48194\t1\n48198\t1\n48203\t1\n48204\t1\n48207\t1\n48211\t1\n48216\t1\n48228\t1\n48229\t1\n48237\t1\n48246\t1\n48251\t1\n48256\t1\n48262\t1\n48268\t1\n48270\t1\n48275\t1\n48279\t1\n48280\t1\n48281\t1\n48282\t1\n48287\t1\n48289\t1\n48299\t1\n48302\t1\n48306\t1\n48307\t1\n48309\t1\n48312\t1\n48315\t1\n48329\t1\n48334\t1\n48336\t1\n48347\t1\n48350\t1\n48355\t1\n48357\t1\n48373\t1\n48381\t1\n48385\t1\n48388\t1\n48394\t1\n48395\t1\n48396\t1\n48408\t1\n48409\t1\n48411\t1\n48422\t1\n48426\t1\n48437\t1\n48441\t1\n48443\t1\n48449\t1\n48451\t1\n48452\t1\n48472\t1\n48476\t1\n48483\t1\n48493\t1\n48496\t1\n48511\t1\n48513\t1\n48514\t1\n48515\t1\n48522\t1\n48523\t1\n48527\t1\n48540\t1\n48547\t1\n48556\t1\n48558\t1\n48560\t1\n48567\t1\n48577\t1\n48579\t1\n48586\t1\n48599\t1\n48602\t1\n48605\t1\n48608\t1\n48613\t1\n48623\t1\n48626\t1\n48628\t1\n48631\t1\n48640\t1\n48641\t1\n48642\t1\n48648\t1\n48652\t1\n48670\t1\n48676\t1\n48681\t1\n48689\t1\n48707\t1\n48712\t1\n48717\t1\n48724\t1\n48727\t1\n48728\t1\n48735\t1\n48742\t1\n48746\t1\n48748\t1\n48751\t1\n48752\t1\n48753\t1\n48758\t1\n48762\t1\n48764\t1\n48765\t1\n48766\t1\n48776\t1\n48786\t1\n48797\t1\n48804\t1\n48816\t1\n48821\t1\n48843\t1\n48846\t1\n48848\t1\n48853\t1\n48855\t1\n48859\t1\n48868\t1\n48873\t1\n48874\t1\n48884\t1\n48888\t1\n48897\t1\n48904\t1\n48911\t1\n48922\t1\n48924\t1\n48931\t1\n48939\t1\n48942\t1\n48949\t1\n48954\t1\n48960\t1\n48962\t1\n48966\t1\n48979\t1\n48988\t1\n48989\t1\n48991\t1\n48997\t1\n48998\t1\n49000\t1\n49011\t1\n49023\t1\n49029\t1\n49030\t1\n49039\t1\n49040\t1\n49045\t1\n49048\t1\n49052\t1\n49056\t1\n49057\t1\n49063\t1\n49064\t1\n49067\t1\n49070\t1\n49073\t1\n49080\t1\n49081\t1\n49090\t1\n49097\t1\n49102\t1\n49121\t1\n49128\t1\n49133\t1\n49139\t1\n49141\t1\n49148\t1\n49162\t1\n49164\t1\n49168\t1\n49169\t1\n49175\t1\n49178\t1\n49179\t1\n49184\t1\n49185\t1\n49186\t1\n49190\t1\n49199\t1\n49207\t1\n49209\t1\n49212\t1\n49213\t1\n49221\t1\n49227\t1\n49231\t1\n49232\t1\n49245\t1\n49249\t1\n49251\t1\n49264\t1\n49266\t1\n49271\t1\n49275\t1\n49279\t1\n49280\t1\n49291\t1\n49294\t1\n49305\t1\n49308\t1\n49309\t1\n49325\t1\n49327\t1\n49333\t1\n49335\t1\n49343\t1\n49355\t1\n49363\t1\n49368\t1\n49369\t1\n49376\t1\n49399\t1\n49406\t1\n49407\t1\n49413\t1\n49424\t1\n49440\t1\n49446\t1\n49447\t1\n49455\t1\n49465\t1\n49475\t1\n49476\t1\n49478\t1\n49481\t1\n49483\t1\n49484\t1\n49493\t1\n49494\t1\n49496\t1\n49503\t1\n49520\t1\n49539\t1\n49544\t1\n49547\t1\n49549\t1\n49553\t1\n49557\t1\n49561\t1\n49574\t1\n49581\t1\n49598\t1\n49600\t1\n49602\t1\n49607\t1\n49612\t1\n49616\t1\n49618\t1\n49624\t1\n49633\t1\n49638\t1\n49644\t1\n49646\t1\n49653\t1\n49674\t1\n49677\t1\n49707\t1\n49708\t1\n49710\t1\n49716\t1\n49722\t1\n49723\t1\n49734\t1\n49739\t1\n49743\t1\n49746\t1\n49749\t1\n49759\t1\n49762\t1\n49764\t1\n49768\t1\n49772\t1\n49778\t1\n49785\t1\n49786\t1\n49790\t1\n49798\t1\n49802\t1\n49818\t1\n49823\t1\n49834\t1\n49847\t1\n49851\t1\n49852\t1\n49854\t1\n49857\t1\n49861\t1\n49875\t1\n49881\t1\n49898\t1\n49904\t1\n49910\t1\n49917\t1\n49924\t1\n49927\t1\n49929\t1\n49933\t1\n49936\t1\n49939\t1\n49940\t1\n49946\t1\n49950\t1\n49962\t1\n49969\t1\n49970\t1\n49978\t1\n49981\t1\n49992\t1\n49995\t1\n50000\t1\n50006\t1\n50018\t1\n50023\t1\n50033\t1\n50048\t1\n50056\t1\n50059\t1\n50070\t1\n50085\t1\n50087\t1\n50091\t1\n50098\t1\n50104\t1\n50108\t1\n50109\t1\n50115\t1\n50126\t1\n50127\t1\n50139\t1\n50141\t1\n50152\t1\n50155\t1\n50156\t1\n50159\t1\n50163\t1\n50164\t1\n50169\t1\n50182\t1\n50194\t1\n50201\t1\n50203\t1\n50210\t1\n50217\t1\n50219\t1\n50225\t1\n50235\t1\n50236\t1\n50250\t1\n50259\t1\n50269\t1\n50270\t1\n50276\t1\n50283\t1\n50293\t1\n50294\t1\n50306\t1\n50313\t1\n50323\t1\n50345\t1\n50352\t1\n50356\t1\n50357\t1\n50368\t1\n50369\t1\n50370\t1\n50379\t1\n50397\t1\n50400\t1\n50404\t1\n50407\t1\n50429\t1\n50435\t1\n50460\t1\n50482\t1\n50483\t1\n50494\t1\n50500\t1\n50501\t1\n50509\t1\n50510\t1\n50514\t1\n50515\t1\n50516\t1\n50525\t1\n50529\t1\n50534\t1\n50544\t1\n50551\t1\n50553\t1\n50554\t1\n50556\t1\n50561\t1\n50562\t1\n50563\t1\n50569\t1\n50571\t1\n50576\t1\n50579\t1\n50612\t1\n50618\t1\n50622\t1\n50627\t1\n50639\t1\n50644\t1\n50647\t1\n50650\t1\n50654\t1\n50671\t1\n50679\t1\n50680\t1\n50682\t1\n50688\t1\n50691\t1\n50692\t1\n50693\t1\n50699\t1\n50700\t1\n50705\t1\n50706\t1\n50712\t1\n50715\t1\n50717\t1\n50720\t1\n50726\t1\n50732\t1\n50741\t1\n50760\t1\n50761\t1\n50767\t1\n50769\t1\n50777\t1\n50782\t1\n50785\t1\n50804\t1\n50809\t1\n50810\t1\n50823\t1\n50831\t1\n50832\t1\n50837\t1\n50841\t1\n50842\t1\n50849\t1\n50850\t1\n50851\t1\n50852\t1\n50866\t1\n50870\t1\n50871\t1\n50877\t1\n50882\t1\n50890\t1\n50897\t1\n50902\t1\n50904\t1\n50910\t1\n50911\t1\n50912\t1\n50920\t1\n50923\t1\n50926\t1\n50928\t1\n50932\t1\n50936\t1\n50943\t1\n50950\t1\n50951\t1\n50952\t1\n50969\t1\n50979\t1\n50982\t1\n50984\t1\n50990\t1\n50992\t1\n51003\t1\n51019\t1\n51034\t1\n51059\t1\n51064\t1\n51073\t1\n51100\t1\n51106\t1\n51109\t1\n51112\t1\n51116\t1\n51119\t1\n51128\t1\n51129\t1\n51140\t1\n51141\t1\n51143\t1\n51146\t1\n51158\t1\n51170\t1\n51173\t1\n51174\t1\n51176\t1\n51178\t1\n51188\t1\n51197\t1\n51198\t1\n51210\t1\n51226\t1\n51239\t1\n51245\t1\n51247\t1\n51253\t1\n51258\t1\n51260\t1\n51264\t1\n51265\t1\n51271\t1\n51276\t1\n51282\t1\n51287\t1\n51291\t1\n51300\t1\n51308\t1\n51313\t1\n51318\t1\n51320\t1\n51331\t1\n51338\t1\n51340\t1\n51341\t1\n51347\t1\n51352\t1\n51367\t1\n51378\t1\n51382\t1\n51384\t1\n51386\t1\n51390\t1\n51392\t1\n51394\t1\n51395\t1\n51396\t1\n51402\t1\n51403\t1\n51404\t1\n51412\t1\n51417\t1\n51422\t1\n51424\t1\n51428\t1\n51430\t1\n51442\t1\n51471\t1\n51477\t1\n51492\t1\n51506\t1\n51508\t1\n51521\t1\n51524\t1\n51525\t1\n51529\t1\n51531\t1\n51537\t1\n51539\t1\n51546\t1\n51550\t1\n51553\t1\n51560\t1\n51565\t1\n51567\t1\n51572\t1\n51582\t1\n51593\t1\n51600\t1\n51607\t1\n51618\t1\n51621\t1\n51625\t1\n51636\t1\n51649\t1\n51652\t1\n51654\t1\n51657\t1\n51662\t1\n51673\t1\n51688\t1\n51693\t1\n51694\t1\n51697\t1\n51701\t1\n51702\t1\n51712\t1\n51718\t1\n51721\t1\n51724\t1\n51729\t1\n51730\t1\n51748\t1\n51751\t1\n51757\t1\n51764\t1\n51773\t1\n51780\t1\n51782\t1\n51795\t1\n51804\t1\n51810\t1\n51812\t1\n51824\t1\n51825\t1\n51828\t1\n51829\t1\n51831\t1\n51839\t1\n51840\t1\n51850\t1\n51854\t1\n51858\t1\n51859\t1\n51860\t1\n51867\t1\n51882\t1\n51887\t1\n51888\t1\n51901\t1\n51905\t1\n51908\t1\n51921\t1\n51939\t1\n51950\t1\n51962\t1\n51972\t1\n51974\t1\n51975\t1\n51981\t1\n51987\t1\n52002\t1\n52004\t1\n52005\t1\n52007\t1\n52011\t1\n52012\t1\n52015\t1\n52016\t1\n52023\t1\n52026\t1\n52027\t1\n52041\t1\n52054\t1\n52055\t1\n52056\t1\n52070\t1\n52072\t1\n52078\t1\n52097\t1\n52098\t1\n52114\t1\n52122\t1\n52131\t1\n52145\t1\n52147\t1\n52149\t1\n52154\t1\n52159\t1\n52165\t1\n52167\t1\n52171\t1\n52173\t1\n52175\t1\n52176\t1\n52177\t1\n52191\t1\n52193\t1\n52202\t1\n52205\t1\n52207\t1\n52210\t1\n52211\t1\n52214\t1\n52220\t1\n52246\t1\n52248\t1\n52250\t1\n52260\t1\n52263\t1\n52264\t1\n52282\t1\n52284\t1\n52285\t1\n52289\t1\n52290\t1\n52303\t1\n52308\t1\n52309\t1\n52323\t1\n52325\t1\n52335\t1\n52338\t1\n52356\t1\n52358\t1\n52359\t1\n52368\t1\n52372\t1\n52395\t1\n52396\t1\n52403\t1\n52409\t1\n52410\t1\n52413\t1\n52416\t1\n52422\t1\n52427\t1\n52430\t1\n52438\t1\n52443\t1\n52446\t1\n52455\t1\n52461\t1\n52469\t1\n52471\t1\n52477\t1\n52480\t1\n52488\t1\n52496\t1\n52498\t1\n52509\t1\n52510\t1\n52511\t1\n52524\t1\n52535\t1\n52536\t1\n52544\t1\n52549\t1\n52551\t1\n52557\t1\n52560\t1\n52561\t1\n52562\t1\n52564\t1\n52568\t1\n52577\t1\n52581\t1\n52582\t1\n52583\t1\n52586\t1\n52587\t1\n52593\t1\n52594\t1\n52595\t1\n52597\t1\n52599\t1\n52618\t1\n52631\t1\n52634\t1\n52635\t1\n52637\t1\n52641\t1\n52647\t1\n52650\t1\n52651\t1\n52657\t1\n52661\t1\n52664\t1\n52668\t1\n52669\t1\n52678\t1\n52685\t1\n52688\t1\n52689\t1\n52692\t1\n52694\t1\n52702\t1\n52705\t1\n52707\t1\n52712\t1\n52713\t1\n52718\t1\n52732\t1\n52741\t1\n52747\t1\n52751\t1\n52752\t1\n52766\t1\n52778\t1\n52782\t1\n52793\t1\n52797\t1\n52799\t1\n52816\t1\n52820\t1\n52827\t1\n52828\t1\n52834\t1\n52839\t1\n52844\t1\n52847\t1\n52857\t1\n52864\t1\n52865\t1\n52870\t1\n52875\t1\n52901\t1\n52917\t1\n52918\t1\n52924\t1\n52940\t1\n52948\t1\n52957\t1\n52958\t1\n52959\t1\n52978\t1\n52979\t1\n53001\t1\n53005\t1\n53012\t1\n53024\t1\n53027\t1\n53029\t1\n53032\t1\n53041\t1\n53049\t1\n53057\t1\n53065\t1\n53075\t1\n53088\t1\n53097\t1\n53107\t1\n53118\t1\n53120\t1\n53122\t1\n53134\t1\n53138\t1\n53159\t1\n53165\t1\n53166\t1\n53176\t1\n53186\t1\n53190\t1\n53200\t1\n53205\t1\n53207\t1\n53216\t1\n53233\t1\n53239\t1\n53241\t1\n53251\t1\n53255\t1\n53270\t1\n53285\t1\n53294\t1\n53310\t1\n53313\t1\n53326\t1\n53328\t1\n53329\t1\n53339\t1\n53349\t1\n53362\t1\n53378\t1\n53382\t1\n53392\t1\n53393\t1\n53395\t1\n53398\t1\n53399\t1\n53408\t1\n53426\t1\n53427\t1\n53429\t1\n53430\t1\n53442\t1\n53444\t1\n53446\t1\n53448\t1\n53452\t1\n53453\t1\n53457\t1\n53463\t1\n53465\t1\n53477\t1\n53504\t1\n53516\t1\n53525\t1\n53533\t1\n53541\t1\n53553\t1\n53554\t1\n53557\t1\n53566\t1\n53569\t1\n53575\t1\n53577\t1\n53581\t1\n53588\t1\n53590\t1\n53598\t1\n53604\t1\n53615\t1\n53619\t1\n53624\t1\n53633\t1\n53635\t1\n53637\t1\n53650\t1\n53651\t1\n53658\t1\n53663\t1\n53667\t1\n53688\t1\n53690\t1\n53702\t1\n53703\t1\n53709\t1\n53746\t1\n53749\t1\n53758\t1\n53760\t1\n53769\t1\n53771\t1\n53790\t1\n53792\t1\n53801\t1\n53803\t1\n53815\t1\n53817\t1\n53824\t1\n53826\t1\n53835\t1\n53845\t1\n53846\t1\n53849\t1\n53853\t1\n53861\t1\n53863\t1\n53868\t1\n53882\t1\n53885\t1\n53890\t1\n53891\t1\n53900\t1\n53904\t1\n53913\t1\n53923\t1\n53928\t1\n53934\t1\n53936\t1\n53946\t1\n53960\t1\n53974\t1\n53976\t1\n53981\t1\n53982\t1\n53987\t1\n53999\t1\n54001\t1\n54026\t1\n54036\t1\n54044\t1\n54045\t1\n54058\t1\n54061\t1\n54077\t1\n54088\t1\n54091\t1\n54094\t1\n54095\t1\n54099\t1\n54103\t1\n54108\t1\n54110\t1\n54127\t1\n54144\t1\n54146\t1\n54150\t1\n54152\t1\n54165\t1\n54172\t1\n54175\t1\n54176\t1\n54192\t1\n54199\t1\n54214\t1\n54215\t1\n54216\t1\n54218\t1\n54223\t1\n54238\t1\n54244\t1\n54275\t1\n54292\t1\n54301\t1\n54315\t1\n54329\t1\n54331\t1\n54343\t1\n54350\t1\n54356\t1\n54357\t1\n54367\t1\n54370\t1\n54380\t1\n54389\t1\n54391\t1\n54395\t1\n54398\t1\n54412\t1\n54414\t1\n54416\t1\n54424\t1\n54429\t1\n54432\t1\n54437\t1\n54438\t1\n54460\t1\n54461\t1\n54469\t1\n54480\t1\n54482\t1\n54495\t1\n54501\t1\n54510\t1\n54511\t1\n54514\t1\n54517\t1\n54518\t1\n54519\t1\n54528\t1\n54529\t1\n54535\t1\n54537\t1\n54539\t1\n54548\t1\n54552\t1\n54555\t1\n54573\t1\n54575\t1\n54584\t1\n54593\t1\n54598\t1\n54625\t1\n54627\t1\n54634\t1\n54638\t1\n54640\t1\n54643\t1\n54647\t1\n54650\t1\n54652\t1\n54668\t1\n54674\t1\n54675\t1\n54692\t1\n54706\t1\n54712\t1\n54714\t1\n54724\t1\n54727\t1\n54728\t1\n54735\t1\n54740\t1\n54744\t1\n54749\t1\n54750\t1\n54752\t1\n54772\t1\n54776\t1\n54779\t1\n54808\t1\n54836\t1\n54845\t1\n54855\t1\n54857\t1\n54861\t1\n54868\t1\n54872\t1\n54873\t1\n54883\t1\n54888\t1\n54893\t1\n54902\t1\n54912\t1\n54919\t1\n54920\t1\n54944\t1\n54947\t1\n54948\t1\n54950\t1\n54957\t1\n54970\t1\n54976\t1\n54979\t1\n54984\t1\n54993\t1\n54997\t1\n54998\t1\n55006\t1\n55013\t1\n55019\t1\n55020\t1\n55023\t1\n55025\t1\n55029\t1\n55030\t1\n55040\t1\n55046\t1\n55055\t1\n55060\t1\n55063\t1\n55071\t1\n55086\t1\n55092\t1\n55100\t1\n55109\t1\n55110\t1\n55111\t1\n55115\t1\n55119\t1\n55125\t1\n55138\t1\n55139\t1\n55144\t1\n55146\t1\n55147\t1\n55159\t1\n55166\t1\n55191\t1\n55193\t1\n55198\t1\n55203\t1\n55204\t1\n55205\t1\n55207\t1\n55213\t1\n55218\t1\n55223\t1\n55227\t1\n55229\t1\n55230\t1\n55233\t1\n55240\t1\n55242\t1\n55246\t1\n55251\t1\n55285\t1\n55287\t1\n55297\t1\n55305\t1\n55316\t1\n55325\t1\n55333\t1\n55334\t1\n55335\t1\n55336\t1\n55337\t1\n55340\t1\n55348\t1\n55357\t1\n55361\t1\n55362\t1\n55363\t1\n55371\t1\n55378\t1\n55381\t1\n55383\t1\n55385\t1\n55386\t1\n55394\t1\n55395\t1\n55396\t1\n55400\t1\n55405\t1\n55413\t1\n55425\t1\n55438\t1\n55441\t1\n55454\t1\n55464\t1\n55483\t1\n55488\t1\n55494\t1\n55516\t1\n55519\t1\n55522\t1\n55523\t1\n55530\t1\n55551\t1\n55554\t1\n55558\t1\n55561\t1\n55566\t1\n55572\t1\n55575\t1\n55584\t1\n55586\t1\n55598\t1\n55616\t1\n55625\t1\n55629\t1\n55630\t1\n55631\t1\n55634\t1\n55635\t1\n55655\t1\n55659\t1\n55668\t1\n55672\t1\n55682\t1\n55689\t1\n55696\t1\n55698\t1\n55707\t1\n55709\t1\n55718\t1\n55720\t1\n55721\t1\n55727\t1\n55728\t1\n55744\t1\n55747\t1\n55748\t1\n55764\t1\n55766\t1\n55775\t1\n55778\t1\n55786\t1\n55802\t1\n55816\t1\n55823\t1\n55837\t1\n55851\t1\n55854\t1\n55859\t1\n55861\t1\n55865\t1\n55882\t1\n55887\t1\n55894\t1\n55903\t1\n55911\t1\n55912\t1\n55921\t1\n55931\t1\n55939\t1\n55941\t1\n55949\t1\n55959\t1\n55970\t1\n55971\t1\n55979\t1\n55992\t1\n56001\t1\n56004\t1\n56008\t1\n56027\t1\n56041\t1\n56042\t1\n56043\t1\n56044\t1\n56052\t1\n56053\t1\n56066\t1\n56082\t1\n56090\t1\n56094\t1\n56104\t1\n56110\t1\n56114\t1\n56132\t1\n56139\t1\n56149\t1\n56150\t1\n56173\t1\n56178\t1\n56182\t1\n56183\t1\n56192\t1\n56195\t1\n56200\t1\n56211\t1\n56217\t1\n56221\t1\n56230\t1\n56240\t1\n56243\t1\n56246\t1\n56256\t1\n56259\t1\n56264\t1\n56273\t1\n56275\t1\n56278\t1\n56283\t1\n56289\t1\n56292\t1\n56296\t1\n56300\t1\n56307\t1\n56308\t1\n56309\t1\n56318\t1\n56326\t1\n56331\t1\n56333\t1\n56337\t1\n56341\t1\n56344\t1\n56347\t1\n56352\t1\n56353\t1\n56366\t1\n56371\t1\n56372\t1\n56378\t1\n56384\t1\n56388\t1\n56393\t1\n56400\t1\n56408\t1\n56426\t1\n56431\t1\n56440\t1\n56444\t1\n56450\t1\n56459\t1\n56469\t1\n56475\t1\n56482\t1\n56500\t1\n56506\t1\n56507\t1\n56517\t1\n56522\t1\n56526\t1\n56527\t1\n56529\t1\n56530\t1\n56536\t1\n56539\t1\n56553\t1\n56560\t1\n56570\t1\n56572\t1\n56577\t1\n56583\t1\n56588\t1\n56591\t1\n56598\t1\n56601\t1\n56607\t1\n56610\t1\n56611\t1\n56612\t1\n56613\t1\n56621\t1\n56622\t1\n56637\t1\n56639\t1\n56645\t1\n56648\t1\n56651\t1\n56661\t1\n56682\t1\n56690\t1\n56709\t1\n56711\t1\n56713\t1\n56717\t1\n56721\t1\n56724\t1\n56729\t1\n56751\t1\n56752\t1\n56770\t1\n56786\t1\n56798\t1\n56810\t1\n56817\t1\n56823\t1\n56825\t1\n56830\t1\n56837\t1\n56856\t1\n56857\t1\n56864\t1\n56869\t1\n56876\t1\n56889\t1\n56891\t1\n56892\t1\n56904\t1\n56909\t1\n56911\t1\n56914\t1\n56915\t1\n56916\t1\n56919\t1\n56925\t1\n56935\t1\n56941\t1\n56943\t1\n56949\t1\n56954\t1\n56956\t1\n56957\t1\n56966\t1\n56985\t1\n56992\t1\n56998\t1\n57000\t1\n57018\t1\n57026\t1\n57038\t1\n57039\t1\n57042\t1\n57047\t1\n57054\t1\n57062\t1\n57063\t1\n57068\t1\n57077\t1\n57078\t1\n57084\t1\n57103\t1\n57108\t1\n57109\t1\n57110\t1\n57111\t1\n57113\t1\n57125\t1\n57129\t1\n57135\t1\n57137\t1\n57138\t1\n57139\t1\n57143\t1\n57145\t1\n57157\t1\n57159\t1\n57160\t1\n57165\t1\n57169\t1\n57174\t1\n57190\t1\n57193\t1\n57205\t1\n57208\t1\n57211\t1\n57222\t1\n57226\t1\n57231\t1\n57232\t1\n57239\t1\n57251\t1\n57253\t1\n57254\t1\n57263\t1\n57265\t1\n57273\t1\n57274\t1\n57278\t1\n57283\t1\n57284\t1\n57293\t1\n57295\t1\n57299\t1\n57303\t1\n57306\t1\n57310\t1\n57317\t1\n57322\t1\n57330\t1\n57335\t1\n57343\t1\n57347\t1\n57365\t1\n57371\t1\n57375\t1\n57384\t1\n57390\t1\n57392\t1\n57405\t1\n57409\t1\n57419\t1\n57428\t1\n57432\t1\n57433\t1\n57436\t1\n57442\t1\n57446\t1\n57448\t1\n57454\t1\n57456\t1\n57460\t1\n57465\t1\n57468\t1\n57489\t1\n57498\t1\n57500\t1\n57508\t1\n57513\t1\n57546\t1\n57548\t1\n57556\t1\n57559\t1\n57568\t1\n57571\t1\n57578\t1\n57589\t1\n57601\t1\n57610\t1\n57613\t1\n57615\t1\n57623\t1\n57630\t1\n57641\t1\n57646\t1\n57658\t1\n57667\t1\n57673\t1\n57685\t1\n57688\t1\n57696\t1\n57702\t1\n57703\t1\n57712\t1\n57716\t1\n57717\t1\n57722\t1\n57726\t1\n57772\t1\n57774\t1\n57775\t1\n57790\t1\n57822\t1\n57824\t1\n57827\t1\n57829\t1\n57835\t1\n57841\t1\n57849\t1\n57859\t1\n57862\t1\n57871\t1\n57872\t1\n57873\t1\n57878\t1\n57879\t1\n57881\t1\n57899\t1\n57911\t1\n57926\t1\n57933\t1\n57934\t1\n57946\t1\n57952\t1\n57957\t1\n57960\t1\n57967\t1\n57988\t1\n57991\t1\n57993\t1\n58016\t1\n58031\t1\n58037\t1\n58045\t1\n58048\t1\n58050\t1\n58057\t1\n58062\t1\n58066\t1\n58075\t1\n58078\t1\n58090\t1\n58094\t1\n58102\t1\n58105\t1\n58112\t1\n58131\t1\n58134\t1\n58137\t1\n58155\t1\n58163\t1\n58168\t1\n58169\t1\n58172\t1\n58195\t1\n58196\t1\n58198\t1\n58203\t1\n58206\t1\n58213\t1\n58224\t1\n58228\t1\n58235\t1\n58236\t1\n58239\t1\n58251\t1\n58263\t1\n58293\t1\n58298\t1\n58303\t1\n58313\t1\n58319\t1\n58325\t1\n58327\t1\n58360\t1\n58362\t1\n58363\t1\n58365\t1\n58394\t1\n58400\t1\n58404\t1\n58411\t1\n58412\t1\n58420\t1\n58427\t1\n58433\t1\n58438\t1\n58449\t1\n58459\t1\n58468\t1\n58471\t1\n58480\t1\n58481\t1\n58493\t1\n58494\t1\n58501\t1\n58508\t1\n58511\t1\n58513\t1\n58524\t1\n58532\t1\n58547\t1\n58555\t1\n58556\t1\n58569\t1\n58570\t1\n58573\t1\n58579\t1\n58591\t1\n58594\t1\n58596\t1\n58607\t1\n58624\t1\n58633\t1\n58634\t1\n58639\t1\n58651\t1\n58656\t1\n58657\t1\n58672\t1\n58675\t1\n58681\t1\n58683\t1\n58686\t1\n58695\t1\n58701\t1\n58711\t1\n58714\t1\n58721\t1\n58726\t1\n58751\t1\n58760\t1\n58763\t1\n58776\t1\n58786\t1\n58788\t1\n58790\t1\n58791\t1\n58795\t1\n58797\t1\n58820\t1\n58829\t1\n58867\t1\n58876\t1\n58889\t1\n58898\t1\n58917\t1\n58918\t1\n58922\t1\n58925\t1\n58927\t1\n58928\t1\n58929\t1\n58935\t1\n58941\t1\n58944\t1\n58950\t1\n58954\t1\n58960\t1\n58962\t1\n58971\t1\n58972\t1\n58976\t1\n58977\t1\n58984\t1\n58989\t1\n58993\t1\n59006\t1\n59012\t1\n59021\t1\n59024\t1\n59027\t1\n59031\t1\n59035\t1\n59036\t1\n59037\t1\n59038\t1\n59039\t1\n59047\t1\n59052\t1\n59054\t1\n59055\t1\n59058\t1\n59060\t1\n59067\t1\n59073\t1\n59087\t1\n59089\t1\n59092\t1\n59098\t1\n59103\t1\n59107\t1\n59108\t1\n59121\t1\n59123\t1\n59145\t1\n59159\t1\n59163\t1\n59168\t1\n59169\t1\n59175\t1\n59177\t1\n59180\t1\n59182\t1\n59185\t1\n59186\t1\n59187\t1\n59188\t1\n59189\t1\n59193\t1\n59194\t1\n59197\t1\n59199\t1\n59210\t1\n59216\t1\n59217\t1\n59238\t1\n59244\t1\n59260\t1\n59262\t1\n59271\t1\n59278\t1\n59281\t1\n59284\t1\n59286\t1\n59297\t1\n59319\t1\n59336\t1\n59339\t1\n59341\t1\n59343\t1\n59346\t1\n59353\t1\n59357\t1\n59359\t1\n59360\t1\n59363\t1\n59375\t1\n59378\t1\n59386\t1\n59389\t1\n59391\t1\n59396\t1\n59403\t1\n59405\t1\n59411\t1\n59412\t1\n59431\t1\n59437\t1\n59438\t1\n59441\t1\n59443\t1\n59456\t1\n59460\t1\n59473\t1\n59475\t1\n59483\t1\n59506\t1\n59510\t1\n59521\t1\n59526\t1\n59527\t1\n59559\t1\n59562\t1\n59573\t1\n59578\t1\n59579\t1\n59585\t1\n59601\t1\n59615\t1\n59616\t1\n59626\t1\n59629\t1\n59631\t1\n59639\t1\n59640\t1\n59645\t1\n59646\t1\n59663\t1\n59673\t1\n59683\t1\n59684\t1\n59687\t1\n59688\t1\n59689\t1\n59692\t1\n59697\t1\n59699\t1\n59716\t1\n59717\t1\n59726\t1\n59727\t1\n59730\t1\n59733\t1\n59734\t1\n59736\t1\n59745\t1\n59762\t1\n59765\t1\n59768\t1\n59771\t1\n59775\t1\n59784\t1\n59785\t1\n59787\t1\n59801\t1\n59808\t1\n59809\t1\n59822\t1\n59824\t1\n59826\t1\n59827\t1\n59836\t1\n59843\t1\n59845\t1\n59860\t1\n59864\t1\n59867\t1\n59868\t1\n59872\t1\n59875\t1\n59878\t1\n59881\t1\n59892\t1\n59893\t1\n59894\t1\n59910\t1\n59926\t1\n59930\t1\n59933\t1\n59936\t1\n59945\t1\n59948\t1\n59950\t1\n59952\t1\n59963\t1\n59964\t1\n59969\t1\n59975\t1\n59978\t1\n59979\t1\n59983\t1\n59986\t1\n59990\t1\n59991\t1\n60002\t1\n60031\t1\n60042\t1\n60048\t1\n60053\t1\n60056\t1\n60063\t1\n60073\t1\n60075\t1\n60077\t1\n60079\t1\n60081\t1\n60083\t1\n60088\t1\n60093\t1\n60096\t1\n60108\t1\n60121\t1\n60128\t1\n60133\t1\n60142\t1\n60145\t1\n60157\t1\n60158\t1\n60184\t1\n60195\t1\n60198\t1\n60203\t1\n60207\t1\n60213\t1\n60235\t1\n60239\t1\n60243\t1\n60244\t1\n60246\t1\n60247\t1\n60251\t1\n60254\t1\n60256\t1\n60257\t1\n60258\t1\n60267\t1\n60278\t1\n60284\t1\n60288\t1\n60294\t1\n60305\t1\n60317\t1\n60323\t1\n60324\t1\n60338\t1\n60347\t1\n60351\t1\n60360\t1\n60365\t1\n60391\t1\n60407\t1\n60409\t1\n60410\t1\n60417\t1\n60419\t1\n60424\t1\n60427\t1\n60436\t1\n60443\t1\n60447\t1\n60452\t1\n60459\t1\n60472\t1\n60478\t1\n60488\t1\n60489\t1\n60510\t1\n60511\t1\n60512\t1\n60520\t1\n60526\t1\n60531\t1\n60536\t1\n60539\t1\n60543\t1\n60555\t1\n60557\t1\n60575\t1\n60577\t1\n60578\t1\n60580\t1\n60581\t1\n60582\t1\n60588\t1\n60591\t1\n60594\t1\n60600\t1\n60604\t1\n60611\t1\n60615\t1\n60625\t1\n60628\t1\n60629\t1\n60630\t1\n60635\t1\n60651\t1\n60654\t1\n60666\t1\n60689\t1\n60698\t1\n60703\t1\n60708\t1\n60715\t1\n60722\t1\n60726\t1\n60737\t1\n60744\t1\n60750\t1\n60756\t1\n60757\t1\n60763\t1\n60767\t1\n60768\t1\n60769\t1\n60772\t1\n60785\t1\n60788\t1\n60792\t1\n60796\t1\n60806\t1\n60808\t1\n60809\t1\n60814\t1\n60821\t1\n60825\t1\n60829\t1\n60832\t1\n60847\t1\n60872\t1\n60888\t1\n60894\t1\n60895\t1\n60897\t1\n60914\t1\n60917\t1\n60919\t1\n60927\t1\n60957\t1\n60960\t1\n60964\t1\n60971\t1\n60974\t1\n60975\t1\n60976\t1\n60980\t1\n60982\t1\n60984\t1\n60994\t1\n61019\t1\n61040\t1\n61044\t1\n61049\t1\n61050\t1\n61053\t1\n61054\t1\n61055\t1\n61065\t1\n61080\t1\n61082\t1\n61091\t1\n61094\t1\n61110\t1\n61114\t1\n61116\t1\n61120\t1\n61122\t1\n61123\t1\n61132\t1\n61139\t1\n61144\t1\n61147\t1\n61150\t1\n61151\t1\n61166\t1\n61171\t1\n61172\t1\n61186\t1\n61188\t1\n61206\t1\n61209\t1\n61227\t1\n61240\t1\n61242\t1\n61273\t1\n61279\t1\n61283\t1\n61289\t1\n61303\t1\n61310\t1\n61311\t1\n61312\t1\n61322\t1\n61331\t1\n61336\t1\n61339\t1\n61340\t1\n61343\t1\n61364\t1\n61373\t1\n61374\t1\n61381\t1\n61387\t1\n61388\t1\n61390\t1\n61400\t1\n61406\t1\n61409\t1\n61411\t1\n61417\t1\n61442\t1\n61448\t1\n61457\t1\n61459\t1\n61461\t1\n61471\t1\n61474\t1\n61475\t1\n61478\t1\n61490\t1\n61492\t1\n61500\t1\n61508\t1\n61513\t1\n61538\t1\n61547\t1\n61550\t1\n61551\t1\n61554\t1\n61556\t1\n61557\t1\n61565\t1\n61569\t1\n61570\t1\n61578\t1\n61581\t1\n61587\t1\n61590\t1\n61619\t1\n61622\t1\n61626\t1\n61633\t1\n61637\t1\n61642\t1\n61647\t1\n61662\t1\n61664\t1\n61670\t1\n61674\t1\n61679\t1\n61682\t1\n61685\t1\n61695\t1\n61699\t1\n61704\t1\n61707\t1\n61709\t1\n61713\t1\n61716\t1\n61717\t1\n61718\t1\n61719\t1\n61721\t1\n61722\t1\n61727\t1\n61729\t1\n61734\t1\n61747\t1\n61751\t1\n61756\t1\n61763\t1\n61770\t1\n61780\t1\n61787\t1\n61796\t1\n61797\t1\n61798\t1\n61803\t1\n61806\t1\n61819\t1\n61826\t1\n61827\t1\n61833\t1\n61866\t1\n61872\t1\n61880\t1\n61884\t1\n61895\t1\n61903\t1\n61920\t1\n61923\t1\n61925\t1\n61931\t1\n61948\t1\n61951\t1\n61959\t1\n61963\t1\n61966\t1\n61967\t1\n61985\t1\n62002\t1\n62003\t1\n62004\t1\n62005\t1\n62033\t1\n62038\t1\n62039\t1\n62040\t1\n62047\t1\n62048\t1\n62052\t1\n62059\t1\n62061\t1\n62077\t1\n62084\t1\n62088\t1\n62096\t1\n62100\t1\n62103\t1\n62106\t1\n62108\t1\n62121\t1\n62125\t1\n62127\t1\n62138\t1\n62139\t1\n62140\t1\n62141\t1\n62142\t1\n62144\t1\n62147\t1\n62156\t1\n62164\t1\n62166\t1\n62177\t1\n62184\t1\n62191\t1\n62194\t1\n62202\t1\n62213\t1\n62216\t1\n62234\t1\n62235\t1\n62247\t1\n62254\t1\n62255\t1\n62256\t1\n62259\t1\n62262\t1\n62263\t1\n62268\t1\n62269\t1\n62272\t1\n62278\t1\n62289\t1\n62293\t1\n62299\t1\n62300\t1\n62303\t1\n62310\t1\n62319\t1\n62326\t1\n62344\t1\n62348\t1\n62353\t1\n62354\t1\n62358\t1\n62377\t1\n62378\t1\n62382\t1\n62383\t1\n62388\t1\n62391\t1\n62392\t1\n62397\t1\n62398\t1\n62400\t1\n62401\t1\n62403\t1\n62408\t1\n62418\t1\n62424\t1\n62431\t1\n62432\t1\n62435\t1\n62438\t1\n62440\t1\n62450\t1\n62452\t1\n62467\t1\n62471\t1\n62472\t1\n62473\t1\n62477\t1\n62478\t1\n62485\t1\n62491\t1\n62504\t1\n62507\t1\n62509\t1\n62513\t1\n62530\t1\n62538\t1\n62562\t1\n62572\t1\n62573\t1\n62574\t1\n62576\t1\n62589\t1\n62602\t1\n62603\t1\n62607\t1\n62609\t1\n62637\t1\n62642\t1\n62647\t1\n62648\t1\n62651\t1\n62657\t1\n62660\t1\n62671\t1\n62672\t1\n62675\t1\n62694\t1\n62701\t1\n62704\t1\n62709\t1\n62720\t1\n62731\t1\n62740\t1\n62748\t1\n62757\t1\n62761\t1\n62764\t1\n62772\t1\n62774\t1\n62776\t1\n62778\t1\n62780\t1\n62782\t1\n62783\t1\n62788\t1\n62792\t1\n62802\t1\n62806\t1\n62810\t1\n62811\t1\n62812\t1\n62823\t1\n62831\t1\n62836\t1\n62849\t1\n62851\t1\n62869\t1\n62873\t1\n62875\t1\n62876\t1\n62884\t1\n62893\t1\n62898\t1\n62901\t1\n62908\t1\n62913\t1\n62915\t1\n62921\t1\n62926\t1\n62939\t1\n62946\t1\n62948\t1\n62951\t1\n62956\t1\n62968\t1\n62977\t1\n62983\t1\n62992\t1\n62994\t1\n63001\t1\n63025\t1\n63033\t1\n63040\t1\n63045\t1\n63052\t1\n63053\t1\n63054\t1\n63055\t1\n63065\t1\n63066\t1\n63089\t1\n63094\t1\n63097\t1\n63112\t1\n63113\t1\n63119\t1\n63122\t1\n63123\t1\n63129\t1\n63133\t1\n63134\t1\n63138\t1\n63139\t1\n63145\t1\n63146\t1\n63147\t1\n63151\t1\n63157\t1\n63162\t1\n63183\t1\n63193\t1\n63196\t1\n63200\t1\n63205\t1\n63213\t1\n63216\t1\n63233\t1\n63239\t1\n63245\t1\n63249\t1\n63261\t1\n63262\t1\n63270\t1\n63274\t1\n63275\t1\n63279\t1\n63280\t1\n63282\t1\n63290\t1\n63311\t1\n63318\t1\n63328\t1\n63337\t1\n63351\t1\n63353\t1\n63362\t1\n63370\t1\n63373\t1\n63376\t1\n63386\t1\n63388\t1\n63392\t1\n63404\t1\n63412\t1\n63419\t1\n63421\t1\n63426\t1\n63427\t1\n63429\t1\n63437\t1\n63438\t1\n63439\t1\n63440\t1\n63442\t1\n63448\t1\n63455\t1\n63476\t1\n63480\t1\n63486\t1\n63489\t1\n63491\t1\n63508\t1\n63511\t1\n63514\t1\n63525\t1\n63535\t1\n63544\t1\n63551\t1\n63552\t1\n63560\t1\n63565\t1\n63568\t1\n63572\t1\n63579\t1\n63584\t1\n63586\t1\n63588\t1\n63589\t1\n63592\t1\n63606\t1\n63617\t1\n63619\t1\n63634\t1\n63639\t1\n63642\t1\n63646\t1\n63649\t1\n63653\t1\n63659\t1\n63662\t1\n63670\t1\n63671\t1\n63672\t1\n63678\t1\n63681\t1\n63689\t1\n63697\t1\n63709\t1\n63715\t1\n63718\t1\n63723\t1\n63739\t1\n63742\t1\n63743\t1\n63753\t1\n63769\t1\n63779\t1\n63785\t1\n63789\t1\n63802\t1\n63809\t1\n63820\t1\n63825\t1\n63850\t1\n63859\t1\n63863\t1\n63866\t1\n63873\t1\n63874\t1\n63880\t1\n63899\t1\n63900\t1\n63901\t1\n63903\t1\n63905\t1\n63906\t1\n63910\t1\n63925\t1\n63926\t1\n63927\t1\n63928\t1\n63935\t1\n63936\t1\n63939\t1\n63960\t1\n63962\t1\n63964\t1\n63970\t1\n63971\t1\n63976\t1\n63988\t1\n63993\t1\n64002\t1\n64016\t1\n64024\t1\n64029\t1\n64030\t1\n64033\t1\n64037\t1\n64053\t1\n64057\t1\n64061\t1\n64069\t1\n64086\t1\n64087\t1\n64091\t1\n64095\t1\n64103\t1\n64109\t1\n64114\t1\n64116\t1\n64117\t1\n64130\t1\n64138\t1\n64146\t1\n64157\t1\n64159\t1\n64175\t1\n64179\t1\n64185\t1\n64198\t1\n64203\t1\n64208\t1\n64209\t1\n64213\t1\n64222\t1\n64224\t1\n64225\t1\n64235\t1\n64238\t1\n64244\t1\n64257\t1\n64258\t1\n64264\t1\n64268\t1\n64269\t1\n64271\t1\n64279\t1\n64283\t1\n64284\t1\n64288\t1\n64290\t1\n64294\t1\n64296\t1\n64303\t1\n64308\t1\n64309\t1\n64314\t1\n64319\t1\n64321\t1\n64324\t1\n64325\t1\n64333\t1\n64348\t1\n64351\t1\n64353\t1\n64355\t1\n64357\t1\n64360\t1\n64361\t1\n64365\t1\n64366\t1\n64368\t1\n64373\t1\n64383\t1\n64390\t1\n64392\t1\n64393\t1\n64395\t1\n64401\t1\n64402\t1\n64413\t1\n64416\t1\n64424\t1\n64428\t1\n64431\t1\n64437\t1\n64445\t1\n64458\t1\n64460\t1\n64462\t1\n64466\t1\n64470\t1\n64472\t1\n64473\t1\n64490\t1\n64491\t1\n64494\t1\n64505\t1\n64509\t1\n64512\t1\n64527\t1\n64529\t1\n64530\t1\n64534\t1\n64538\t1\n64544\t1\n64549\t1\n64552\t1\n64559\t1\n64575\t1\n64583\t1\n64598\t1\n64610\t1\n64612\t1\n64620\t1\n64624\t1\n64637\t1\n64641\t1\n64643\t1\n64647\t1\n64651\t1\n64655\t1\n64660\t1\n64676\t1\n64678\t1\n64682\t1\n64695\t1\n64704\t1\n64717\t1\n64723\t1\n64725\t1\n64730\t1\n64735\t1\n64738\t1\n64740\t1\n64743\t1\n64746\t1\n64749\t1\n64753\t1\n64759\t1\n64761\t1\n64763\t1\n64769\t1\n64778\t1\n64783\t1\n64786\t1\n64791\t1\n64794\t1\n64796\t1\n64798\t1\n64800\t1\n64802\t1\n64807\t1\n64810\t1\n64819\t1\n64822\t1\n64828\t1\n64831\t1\n64834\t1\n64842\t1\n64846\t1\n64855\t1\n64861\t1\n64871\t1\n64876\t1\n64881\t1\n64884\t1\n64890\t1\n64896\t1\n64899\t1\n64900\t1\n64901\t1\n64907\t1\n64927\t1\n64932\t1\n64935\t1\n64941\t1\n64948\t1\n64960\t1\n64966\t1\n64967\t1\n64969\t1\n64973\t1\n64975\t1\n64976\t1\n64981\t1\n64988\t1\n64998\t1\n65000\t1\n65002\t1\n65006\t1\n65015\t1\n65018\t1\n65026\t1\n65027\t1\n65033\t1\n65042\t1\n65045\t1\n65046\t1\n65055\t1\n65056\t1\n65080\t1\n65081\t1\n65110\t1\n65118\t1\n65124\t1\n65134\t1\n65140\t1\n65147\t1\n65157\t1\n65165\t1\n65171\t1\n65179\t1\n65193\t1\n65203\t1\n65216\t1\n65217\t1\n65222\t1\n65240\t1\n65243\t1\n65247\t1\n65250\t1\n65261\t1\n65266\t1\n65273\t1\n65283\t1\n65288\t1\n65294\t1\n65297\t1\n65298\t1\n65299\t1\n65326\t1\n65327\t1\n65338\t1\n65355\t1\n65362\t1\n65369\t1\n65371\t1\n65386\t1\n65390\t1\n65413\t1\n65419\t1\n65424\t1\n65427\t1\n65430\t1\n65440\t1\n65445\t1\n65447\t1\n65449\t1\n65451\t1\n65461\t1\n65469\t1\n65470\t1\n65476\t1\n65479\t1\n65487\t1\n65491\t1\n65492\t1\n65493\t1\n65496\t1\n65505\t1\n65512\t1\n65519\t1\n65520\t1\n65534\t1\n65548\t1\n65550\t1\n65552\t1\n65559\t1\n65563\t1\n65565\t1\n65568\t1\n65574\t1\n65583\t1\n65586\t1\n65587\t1\n65593\t1\n65602\t1\n65604\t1\n65605\t1\n65609\t1\n65612\t1\n65620\t1\n65625\t1\n65641\t1\n65648\t1\n65650\t1\n65651\t1\n65652\t1\n65658\t1\n65661\t1\n65669\t1\n65679\t1\n65683\t1\n65695\t1\n65709\t1\n65727\t1\n65738\t1\n65740\t1\n65743\t1\n65745\t1\n65747\t1\n65770\t1\n65773\t1\n65782\t1\n65783\t1\n65784\t1\n65798\t1\n65803\t1\n65808\t1\n65811\t1\n65819\t1\n65826\t1\n65837\t1\n65839\t1\n65846\t1\n65847\t1\n65852\t1\n65857\t1\n65860\t1\n65866\t1\n65882\t1\n65887\t1\n65889\t1\n65894\t1\n65896\t1\n65898\t1\n65901\t1\n65907\t1\n65909\t1\n65913\t1\n65920\t1\n65930\t1\n65934\t1\n65935\t1\n65943\t1\n65944\t1\n65947\t1\n65951\t1\n65954\t1\n65955\t1\n65972\t1\n65986\t1\n65991\t1\n65992\t1\n65994\t1\n65997\t1\n66008\t1\n66012\t1\n66013\t1\n66016\t1\n66019\t1\n66020\t1\n66024\t1\n66041\t1\n66044\t1\n66048\t1\n66053\t1\n66058\t1\n66060\t1\n66062\t1\n66063\t1\n66073\t1\n66076\t1\n66078\t1\n66079\t1\n66082\t1\n66096\t1\n66097\t1\n66106\t1\n66107\t1\n66112\t1\n66118\t1\n66119\t1\n66120\t1\n66121\t1\n66126\t1\n66127\t1\n66138\t1\n66139\t1\n66152\t1\n66157\t1\n66166\t1\n66170\t1\n66175\t1\n66181\t1\n66194\t1\n66199\t1\n66202\t1\n66232\t1\n66236\t1\n66237\t1\n66241\t1\n66252\t1\n66258\t1\n66260\t1\n66268\t1\n66291\t1\n66294\t1\n66296\t1\n66301\t1\n66303\t1\n66322\t1\n66328\t1\n66334\t1\n66353\t1\n66360\t1\n66362\t1\n66371\t1\n66375\t1\n66378\t1\n66380\t1\n66382\t1\n66392\t1\n66393\t1\n66395\t1\n66403\t1\n66407\t1\n66417\t1\n66424\t1\n66436\t1\n66449\t1\n66450\t1\n66453\t1\n66463\t1\n66466\t1\n66467\t1\n66483\t1\n66485\t1\n66486\t1\n66490\t1\n66493\t1\n66499\t1\n66501\t1\n66505\t1\n66510\t1\n66514\t1\n66521\t1\n66526\t1\n66531\t1\n66533\t1\n66538\t1\n66539\t1\n66548\t1\n66555\t1\n66558\t1\n66559\t1\n66562\t1\n66567\t1\n66569\t1\n66570\t1\n66587\t1\n66604\t1\n66611\t1\n66629\t1\n66639\t1\n66648\t1\n66650\t1\n66657\t1\n66664\t1\n66671\t1\n66680\t1\n66682\t1\n66701\t1\n66706\t1\n66707\t1\n66720\t1\n66731\t1\n66733\t1\n66741\t1\n66750\t1\n66771\t1\n66774\t1\n66785\t1\n66786\t1\n66787\t1\n66792\t1\n66794\t1\n66797\t1\n66814\t1\n66816\t1\n66824\t1\n66825\t1\n66826\t1\n66828\t1\n66831\t1\n66833\t1\n66838\t1\n66844\t1\n66855\t1\n66861\t1\n66862\t1\n66872\t1\n66892\t1\n66895\t1\n66898\t1\n66905\t1\n66909\t1\n66920\t1\n66925\t1\n66927\t1\n66929\t1\n66936\t1\n66938\t1\n66950\t1\n66964\t1\n66971\t1\n66973\t1\n66978\t1\n66984\t1\n66995\t1\n66999\t1\n67000\t1\n67018\t1\n67028\t1\n67052\t1\n67059\t1\n67074\t1\n67077\t1\n67081\t1\n67088\t1\n67098\t1\n67115\t1\n67116\t1\n67131\t1\n67133\t1\n67138\t1\n67139\t1\n67149\t1\n67150\t1\n67151\t1\n67168\t1\n67180\t1\n67183\t1\n67187\t1\n67194\t1\n67196\t1\n67197\t1\n67204\t1\n67205\t1\n67207\t1\n67208\t1\n67224\t1\n67232\t1\n67240\t1\n67243\t1\n67256\t1\n67271\t1\n67274\t1\n67278\t1\n67288\t1\n67297\t1\n67306\t1\n67308\t1\n67312\t1\n67318\t1\n67340\t1\n67346\t1\n67361\t1\n67373\t1\n67374\t1\n67385\t1\n67400\t1\n67402\t1\n67404\t1\n67413\t1\n67417\t1\n67418\t1\n67426\t1\n67430\t1\n67437\t1\n67456\t1\n67472\t1\n67474\t1\n67488\t1\n67489\t1\n67490\t1\n67492\t1\n67495\t1\n67500\t1\n67511\t1\n67513\t1\n67520\t1\n67522\t1\n67527\t1\n67528\t1\n67533\t1\n67547\t1\n67555\t1\n67560\t1\n67569\t1\n67572\t1\n67577\t1\n67590\t1\n67591\t1\n67593\t1\n67602\t1\n67604\t1\n67607\t1\n67612\t1\n67619\t1\n67626\t1\n67634\t1\n67647\t1\n67649\t1\n67652\t1\n67656\t1\n67658\t1\n67671\t1\n67677\t1\n67678\t1\n67689\t1\n67699\t1\n67702\t1\n67707\t1\n67708\t1\n67721\t1\n67727\t1\n67728\t1\n67730\t1\n67731\t1\n67733\t1\n67740\t1\n67746\t1\n67758\t1\n67760\t1\n67777\t1\n67779\t1\n67803\t1\n67807\t1\n67813\t1\n67831\t1\n67839\t1\n67844\t1\n67850\t1\n67869\t1\n67877\t1\n67895\t1\n67918\t1\n67929\t1\n67932\t1\n67937\t1\n67946\t1\n67950\t1\n67961\t1\n67976\t1\n67979\t1\n67981\t1\n67988\t1\n67999\t1\n68008\t1\n68012\t1\n68014\t1\n68017\t1\n68021\t1\n68026\t1\n68027\t1\n68034\t1\n68048\t1\n68055\t1\n68058\t1\n68061\t1\n68065\t1\n68077\t1\n68093\t1\n68098\t1\n68102\t1\n68109\t1\n68110\t1\n68112\t1\n68124\t1\n68127\t1\n68132\t1\n68133\t1\n68141\t1\n68143\t1\n68160\t1\n68164\t1\n68165\t1\n68166\t1\n68179\t1\n68180\t1\n68184\t1\n68185\t1\n68187\t1\n68188\t1\n68194\t1\n68197\t1\n68198\t1\n68201\t1\n68210\t1\n68237\t1\n68242\t1\n68261\t1\n68267\t1\n68268\t1\n68272\t1\n68284\t1\n68300\t1\n68310\t1\n68314\t1\n68316\t1\n68319\t1\n68343\t1\n68347\t1\n68366\t1\n68371\t1\n68374\t1\n68375\t1\n68381\t1\n68382\t1\n68408\t1\n68417\t1\n68425\t1\n68433\t1\n68444\t1\n68446\t1\n68460\t1\n68463\t1\n68468\t1\n68474\t1\n68481\t1\n68487\t1\n68489\t1\n68494\t1\n68496\t1\n68500\t1\n68507\t1\n68511\t1\n68518\t1\n68519\t1\n68523\t1\n68547\t1\n68559\t1\n68565\t1\n68567\t1\n68573\t1\n68579\t1\n68594\t1\n68597\t1\n68603\t1\n68611\t1\n68612\t1\n68613\t1\n68624\t1\n68627\t1\n68631\t1\n68648\t1\n68662\t1\n68677\t1\n68678\t1\n68679\t1\n68681\t1\n68687\t1\n68693\t1\n68716\t1\n68735\t1\n68745\t1\n68746\t1\n68752\t1\n68773\t1\n68797\t1\n68801\t1\n68805\t1\n68820\t1\n68824\t1\n68828\t1\n68832\t1\n68836\t1\n68850\t1\n68855\t1\n68860\t1\n68871\t1\n68875\t1\n68882\t1\n68884\t1\n68886\t1\n68888\t1\n68900\t1\n68915\t1\n68928\t1\n68929\t1\n68932\t1\n68933\t1\n68947\t1\n68960\t1\n68965\t1\n68969\t1\n68977\t1\n68980\t1\n68983\t1\n68988\t1\n68995\t1\n68998\t1\n69002\t1\n69014\t1\n69022\t1\n69031\t1\n69032\t1\n69033\t1\n69036\t1\n69041\t1\n69045\t1\n69063\t1\n69077\t1\n69078\t1\n69079\t1\n69081\t1\n69083\t1\n69087\t1\n69098\t1\n69100\t1\n69102\t1\n69104\t1\n69107\t1\n69108\t1\n69119\t1\n69125\t1\n69132\t1\n69133\t1\n69134\t1\n69135\t1\n69136\t1\n69138\t1\n69143\t1\n69144\t1\n69147\t1\n69150\t1\n69151\t1\n69152\t1\n69156\t1\n69161\t1\n69168\t1\n69170\t1\n69171\t1\n69174\t1\n69177\t1\n69184\t1\n69186\t1\n69188\t1\n69190\t1\n69210\t1\n69216\t1\n69225\t1\n69226\t1\n69227\t1\n69237\t1\n69238\t1\n69241\t1\n69243\t1\n69245\t1\n69246\t1\n69249\t1\n69251\t1\n69254\t1\n69274\t1\n69289\t1\n69293\t1\n69294\t1\n69295\t1\n69297\t1\n69300\t1\n69305\t1\n69310\t1\n69312\t1\n69314\t1\n69316\t1\n69317\t1\n69325\t1\n69332\t1\n69337\t1\n69343\t1\n69357\t1\n69359\t1\n69362\t1\n69378\t1\n69387\t1\n69390\t1\n69397\t1\n69404\t1\n69409\t1\n69413\t1\n69414\t1\n69418\t1\n69432\t1\n69436\t1\n69440\t1\n69444\t1\n69453\t1\n69461\t1\n69465\t1\n69468\t1\n69471\t1\n69472\t1\n69474\t1\n69476\t1\n69482\t1\n69486\t1\n69487\t1\n69488\t1\n69496\t1\n69502\t1\n69509\t1\n69512\t1\n69515\t1\n69521\t1\n69532\t1\n69540\t1\n69541\t1\n69543\t1\n69549\t1\n69551\t1\n69557\t1\n69562\t1\n69565\t1\n69576\t1\n69577\t1\n69580\t1\n69581\t1\n69591\t1\n69592\t1\n69594\t1\n69596\t1\n69598\t1\n69601\t1\n69605\t1\n69621\t1\n69625\t1\n69626\t1\n69627\t1\n69630\t1\n69637\t1\n69640\t1\n69657\t1\n69658\t1\n69659\t1\n69660\t1\n69661\t1\n69668\t1\n69672\t1\n69680\t1\n69682\t1\n69684\t1\n69703\t1\n69710\t1\n69731\t1\n69734\t1\n69743\t1\n69744\t1\n69747\t1\n69748\t1\n69756\t1\n69758\t1\n69761\t1\n69765\t1\n69767\t1\n69768\t1\n69786\t1\n69788\t1\n69792\t1\n69797\t1\n69805\t1\n69811\t1\n69812\t1\n69814\t1\n69815\t1\n69818\t1\n69820\t1\n69821\t1\n69822\t1\n69824\t1\n69828\t1\n69829\t1\n69839\t1\n69840\t1\n69843\t1\n69848\t1\n69851\t1\n69866\t1\n69871\t1\n69872\t1\n69893\t1\n69896\t1\n69909\t1\n69910\t1\n69917\t1\n69920\t1\n69926\t1\n69929\t1\n69940\t1\n69951\t1\n69979\t1\n69984\t1\n69987\t1\n69991\t1\n69993\t1\n69996\t1\n70001\t1\n70002\t1\n70004\t1\n70006\t1\n70012\t1\n70018\t1\n70019\t1\n70029\t1\n70033\t1\n70054\t1\n70059\t1\n70061\t1\n70081\t1\n70106\t1\n70109\t1\n70112\t1\n70121\t1\n70122\t1\n70124\t1\n70125\t1\n70131\t1\n70135\t1\n70136\t1\n70144\t1\n70150\t1\n70151\t1\n70159\t1\n70162\t1\n70164\t1\n70165\t1\n70166\t1\n70185\t1\n70203\t1\n70204\t1\n70206\t1\n70214\t1\n70215\t1\n70219\t1\n70220\t1\n70227\t1\n70233\t1\n70242\t1\n70245\t1\n70249\t1\n70251\t1\n70263\t1\n70274\t1\n70281\t1\n70285\t1\n70286\t1\n70296\t1\n70300\t1\n70302\t1\n70304\t1\n70306\t1\n70307\t1\n70316\t1\n70321\t1\n70325\t1\n70328\t1\n70329\t1\n70361\t1\n70362\t1\n70369\t1\n70382\t1\n70384\t1\n70393\t1\n70414\t1\n70415\t1\n70418\t1\n70421\t1\n70424\t1\n70437\t1\n70441\t1\n70447\t1\n70449\t1\n70453\t1\n70456\t1\n70458\t1\n70473\t1\n70478\t1\n70479\t1\n70485\t1\n70491\t1\n70494\t1\n70495\t1\n70500\t1\n70510\t1\n70511\t1\n70513\t1\n70522\t1\n70535\t1\n70547\t1\n70559\t1\n70561\t1\n70564\t1\n70565\t1\n70581\t1\n70585\t1\n70598\t1\n70603\t1\n70605\t1\n70608\t1\n70616\t1\n70621\t1\n70623\t1\n70624\t1\n70626\t1\n70629\t1\n70636\t1\n70643\t1\n70650\t1\n70655\t1\n70658\t1\n70659\t1\n70662\t1\n70666\t1\n70676\t1\n70680\t1\n70687\t1\n70690\t1\n70704\t1\n70728\t1\n70736\t1\n70741\t1\n70742\t1\n70748\t1\n70754\t1\n70757\t1\n70761\t1\n70764\t1\n70769\t1\n70770\t1\n70775\t1\n70783\t1\n70784\t1\n70789\t1\n70790\t1\n70792\t1\n70795\t1\n70812\t1\n70813\t1\n70821\t1\n70832\t1\n70833\t1\n70838\t1\n70840\t1\n70845\t1\n70853\t1\n70860\t1\n70863\t1\n70866\t1\n70867\t1\n70870\t1\n70874\t1\n70878\t1\n70883\t1\n70887\t1\n70894\t1\n70906\t1\n70914\t1\n70950\t1\n70959\t1\n70962\t1\n70968\t1\n70976\t1\n70984\t1\n70985\t1\n70994\t1\n71001\t1\n71009\t1\n71012\t1\n71019\t1\n71025\t1\n71026\t1\n71042\t1\n71046\t1\n71057\t1\n71073\t1\n71080\t1\n71082\t1\n71084\t1\n71090\t1\n71094\t1\n71095\t1\n71105\t1\n71106\t1\n71114\t1\n71137\t1\n71140\t1\n71141\t1\n71147\t1\n71148\t1\n71153\t1\n71156\t1\n71177\t1\n71182\t1\n71184\t1\n71187\t1\n71188\t1\n71189\t1\n71191\t1\n71195\t1\n71204\t1\n71209\t1\n71227\t1\n71232\t1\n71234\t1\n71244\t1\n71248\t1\n71255\t1\n71267\t1\n71274\t1\n71277\t1\n71279\t1\n71293\t1\n71294\t1\n71295\t1\n71301\t1\n71316\t1\n71319\t1\n71332\t1\n71335\t1\n71336\t1\n71362\t1\n71365\t1\n71366\t1\n71370\t1\n71393\t1\n71397\t1\n71401\t1\n71403\t1\n71406\t1\n71415\t1\n71418\t1\n71439\t1\n71458\t1\n71466\t1\n71475\t1\n71477\t1\n71478\t1\n71481\t1\n71487\t1\n71490\t1\n71494\t1\n71495\t1\n71499\t1\n71521\t1\n71530\t1\n71535\t1\n71539\t1\n71545\t1\n71549\t1\n71560\t1\n71575\t1\n71587\t1\n71590\t1\n71594\t1\n71595\t1\n71599\t1\n71603\t1\n71610\t1\n71622\t1\n71623\t1\n71632\t1\n71636\t1\n71638\t1\n71640\t1\n71641\t1\n71647\t1\n71650\t1\n71668\t1\n71671\t1\n71683\t1\n71698\t1\n71700\t1\n71701\t1\n71708\t1\n71722\t1\n71727\t1\n71739\t1\n71742\t1\n71751\t1\n71790\t1\n71791\t1\n71792\t1\n71793\t1\n71795\t1\n71804\t1\n71808\t1\n71813\t1\n71814\t1\n71818\t1\n71822\t1\n71830\t1\n71840\t1\n71842\t1\n71860\t1\n71870\t1\n71872\t1\n71876\t1\n71877\t1\n71878\t1\n71885\t1\n71886\t1\n71890\t1\n71898\t1\n71899\t1\n71903\t1\n71917\t1\n71934\t1\n71940\t1\n71941\t1\n71951\t1\n71955\t1\n71958\t1\n71963\t1\n71974\t1\n71980\t1\n71982\t1\n71997\t1\n71998\t1\n72000\t1\n72001\t1\n72011\t1\n72013\t1\n72018\t1\n72020\t1\n72027\t1\n72037\t1\n72043\t1\n72060\t1\n72063\t1\n72073\t1\n72074\t1\n72079\t1\n72095\t1\n72104\t1\n72106\t1\n72108\t1\n72133\t1\n72145\t1\n72147\t1\n72153\t1\n72156\t1\n72161\t1\n72166\t1\n72167\t1\n72173\t1\n72174\t1\n72189\t1\n72190\t1\n72205\t1\n72207\t1\n72208\t1\n72209\t1\n72214\t1\n72223\t1\n72246\t1\n72247\t1\n72254\t1\n72259\t1\n72262\t1\n72269\t1\n72272\t1\n72274\t1\n72278\t1\n72293\t1\n72297\t1\n72302\t1\n72310\t1\n72314\t1\n72318\t1\n72330\t1\n72332\t1\n72333\t1\n72334\t1\n72335\t1\n72341\t1\n72344\t1\n72347\t1\n72352\t1\n72367\t1\n72371\t1\n72379\t1\n72381\t1\n72388\t1\n72391\t1\n72398\t1\n72400\t1\n72406\t1\n72408\t1\n72416\t1\n72417\t1\n72422\t1\n72428\t1\n72429\t1\n72435\t1\n72436\t1\n72448\t1\n72450\t1\n72458\t1\n72459\t1\n72462\t1\n72464\t1\n72466\t1\n72474\t1\n72478\t1\n72488\t1\n72499\t1\n72502\t1\n72503\t1\n72507\t1\n72509\t1\n72510\t1\n72521\t1\n72528\t1\n72529\t1\n72532\t1\n72533\t1\n72538\t1\n72550\t1\n72554\t1\n72567\t1\n72573\t1\n72585\t1\n72605\t1\n72613\t1\n72619\t1\n72620\t1\n72623\t1\n72629\t1\n72631\t1\n72634\t1\n72635\t1\n72645\t1\n72648\t1\n72649\t1\n72652\t1\n72658\t1\n72665\t1\n72678\t1\n72683\t1\n72684\t1\n72714\t1\n72715\t1\n72718\t1\n72719\t1\n72726\t1\n72742\t1\n72744\t1\n72746\t1\n72752\t1\n72755\t1\n72756\t1\n72759\t1\n72764\t1\n72765\t1\n72770\t1\n72771\t1\n72772\t1\n72773\t1\n72780\t1\n72796\t1\n72797\t1\n72810\t1\n72815\t1\n72816\t1\n72818\t1\n72821\t1\n72828\t1\n72831\t1\n72857\t1\n72874\t1\n72878\t1\n72879\t1\n72884\t1\n72886\t1\n72887\t1\n72894\t1\n72895\t1\n72899\t1\n72906\t1\n72908\t1\n72915\t1\n72922\t1\n72926\t1\n72928\t1\n72936\t1\n72939\t1\n72941\t1\n72942\t1\n72943\t1\n72944\t1\n72946\t1\n72957\t1\n72967\t1\n72969\t1\n72974\t1\n72975\t1\n72978\t1\n72988\t1\n72991\t1\n72998\t1\n72999\t1\n73000\t1\n73001\t1\n73006\t1\n73009\t1\n73011\t1\n73013\t1\n73019\t1\n73028\t1\n73032\t1\n73035\t1\n73039\t1\n73057\t1\n73058\t1\n73063\t1\n73064\t1\n73067\t1\n73072\t1\n73074\t1\n73081\t1\n73083\t1\n73091\t1\n73092\t1\n73096\t1\n73097\t1\n73102\t1\n73103\t1\n73107\t1\n73109\t1\n73110\t1\n73112\t1\n73118\t1\n73131\t1\n73147\t1\n73151\t1\n73152\t1\n73153\t1\n73156\t1\n73160\t1\n73174\t1\n73175\t1\n73185\t1\n73195\t1\n73197\t1\n73203\t1\n73232\t1\n73235\t1\n73239\t1\n73251\t1\n73255\t1\n73278\t1\n73285\t1\n73291\t1\n73302\t1\n73303\t1\n73314\t1\n73315\t1\n73321\t1\n73326\t1\n73330\t1\n73335\t1\n73336\t1\n73339\t1\n73341\t1\n73342\t1\n73344\t1\n73350\t1\n73351\t1\n73355\t1\n73357\t1\n73364\t1\n73367\t1\n73373\t1\n73374\t1\n73383\t1\n73399\t1\n73402\t1\n73405\t1\n73409\t1\n73415\t1\n73424\t1\n73428\t1\n73429\t1\n73432\t1\n73435\t1\n73438\t1\n73443\t1\n73452\t1\n73466\t1\n73469\t1\n73471\t1\n73472\t1\n73500\t1\n73502\t1\n73507\t1\n73510\t1\n73513\t1\n73514\t1\n73515\t1\n73516\t1\n73525\t1\n73536\t1\n73541\t1\n73542\t1\n73546\t1\n73551\t1\n73560\t1\n73565\t1\n73566\t1\n73571\t1\n73574\t1\n73575\t1\n73578\t1\n73594\t1\n73599\t1\n73605\t1\n73619\t1\n73621\t1\n73624\t1\n73648\t1\n73653\t1\n73655\t1\n73663\t1\n73672\t1\n73673\t1\n73681\t1\n73696\t1\n73703\t1\n73709\t1\n73717\t1\n73721\t1\n73727\t1\n73733\t1\n73739\t1\n73742\t1\n73746\t1\n73749\t1\n73756\t1\n73760\t1\n73765\t1\n73769\t1\n73772\t1\n73780\t1\n73783\t1\n73788\t1\n73790\t1\n73795\t1\n73797\t1\n73799\t1\n73817\t1\n73818\t1\n73827\t1\n73833\t1\n73835\t1\n73843\t1\n73852\t1\n73856\t1\n73857\t1\n73858\t1\n73867\t1\n73881\t1\n73882\t1\n73888\t1\n73889\t1\n73893\t1\n73901\t1\n73907\t1\n73913\t1\n73916\t1\n73919\t1\n73925\t1\n73937\t1\n73944\t1\n73946\t1\n73950\t1\n73985\t1\n73986\t1\n73993\t1\n74008\t1\n74010\t1\n74016\t1\n74019\t1\n74023\t1\n74024\t1\n74025\t1\n74027\t1\n74048\t1\n74054\t1\n74055\t1\n74056\t1\n74059\t1\n74061\t1\n74065\t1\n74067\t1\n74068\t1\n74069\t1\n74078\t1\n74081\t1\n74088\t1\n74091\t1\n74098\t1\n74105\t1\n74109\t1\n74110\t1\n74112\t1\n74117\t1\n74124\t1\n74128\t1\n74132\t1\n74133\t1\n74135\t1\n74137\t1\n74143\t1\n74147\t1\n74150\t1\n74163\t1\n74173\t1\n74179\t1\n74184\t1\n74190\t1\n74200\t1\n74201\t1\n74207\t1\n74210\t1\n74217\t1\n74226\t1\n74229\t1\n74236\t1\n74238\t1\n74249\t1\n74261\t1\n74269\t1\n74272\t1\n74273\t1\n74290\t1\n74306\t1\n74309\t1\n74310\t1\n74320\t1\n74321\t1\n74326\t1\n74327\t1\n74336\t1\n74344\t1\n74350\t1\n74355\t1\n74361\t1\n74362\t1\n74380\t1\n74402\t1\n74405\t1\n74408\t1\n74415\t1\n74423\t1\n74424\t1\n74426\t1\n74443\t1\n74451\t1\n74455\t1\n74466\t1\n74482\t1\n74486\t1\n74490\t1\n74501\t1\n74503\t1\n74511\t1\n74531\t1\n74532\t1\n74556\t1\n74557\t1\n74565\t1\n74567\t1\n74569\t1\n74571\t1\n74572\t1\n74574\t1\n74577\t1\n74583\t1\n74593\t1\n74598\t1\n74603\t1\n74611\t1\n74614\t1\n74617\t1\n74624\t1\n74626\t1\n74632\t1\n74640\t1\n74649\t1\n74653\t1\n74658\t1\n74661\t1\n74662\t1\n74667\t1\n74672\t1\n74675\t1\n74676\t1\n74690\t1\n74694\t1\n74695\t1\n74697\t1\n74720\t1\n74723\t1\n74730\t1\n74735\t1\n74738\t1\n74749\t1\n74752\t1\n74754\t1\n74762\t1\n74764\t1\n74767\t1\n74769\t1\n74777\t1\n74780\t1\n74810\t1\n74814\t1\n74823\t1\n74825\t1\n74826\t1\n74830\t1\n74832\t1\n74859\t1\n74864\t1\n74867\t1\n74879\t1\n74887\t1\n74891\t1\n74909\t1\n74919\t1\n74920\t1\n74922\t1\n74926\t1\n74932\t1\n74937\t1\n74941\t1\n74948\t1\n74955\t1\n74956\t1\n74970\t1\n74975\t1\n74990\t1\n74993\t1\n75000\t1\n75002\t1\n75004\t1\n75006\t1\n75008\t1\n75009\t1\n75011\t1\n75024\t1\n75042\t1\n75046\t1\n75054\t1\n75058\t1\n75060\t1\n75091\t1\n75092\t1\n75095\t1\n75103\t1\n75104\t1\n75113\t1\n75117\t1\n75119\t1\n75125\t1\n75135\t1\n75137\t1\n75140\t1\n75162\t1\n75163\t1\n75164\t1\n75167\t1\n75170\t1\n75178\t1\n75180\t1\n75189\t1\n75193\t1\n75204\t1\n75209\t1\n75215\t1\n75222\t1\n75235\t1\n75240\t1\n75248\t1\n75250\t1\n75260\t1\n75264\t1\n75265\t1\n75270\t1\n75277\t1\n75278\t1\n75282\t1\n75283\t1\n75284\t1\n75288\t1\n75304\t1\n75305\t1\n75313\t1\n75314\t1\n75316\t1\n75325\t1\n75326\t1\n75329\t1\n75346\t1\n75349\t1\n75351\t1\n75369\t1\n75389\t1\n75391\t1\n75396\t1\n75406\t1\n75407\t1\n75408\t1\n75416\t1\n75419\t1\n75422\t1\n75429\t1\n75434\t1\n75441\t1\n75445\t1\n75449\t1\n75463\t1\n75476\t1\n75477\t1\n75484\t1\n75493\t1\n75496\t1\n75498\t1\n75503\t1\n75514\t1\n75516\t1\n75521\t1\n75523\t1\n75524\t1\n75530\t1\n75532\t1\n75548\t1\n75550\t1\n75551\t1\n75567\t1\n75569\t1\n75577\t1\n75579\t1\n75580\t1\n75586\t1\n75589\t1\n75591\t1\n75606\t1\n75608\t1\n75613\t1\n75615\t1\n75619\t1\n75627\t1\n75630\t1\n75635\t1\n75637\t1\n75641\t1\n75648\t1\n75659\t1\n75663\t1\n75665\t1\n75674\t1\n75684\t1\n75695\t1\n75697\t1\n75699\t1\n75701\t1\n75711\t1\n75728\t1\n75729\t1\n75735\t1\n75736\t1\n75739\t1\n75742\t1\n75746\t1\n75764\t1\n75768\t1\n75773\t1\n75780\t1\n75785\t1\n75787\t1\n75793\t1\n75805\t1\n75808\t1\n75821\t1\n75828\t1\n75832\t1\n75835\t1\n75838\t1\n75841\t1\n75850\t1\n75865\t1\n75870\t1\n75879\t1\n75885\t1\n75890\t1\n75898\t1\n75904\t1\n75920\t1\n75928\t1\n75929\t1\n75935\t1\n75959\t1\n75961\t1\n75966\t1\n75988\t1\n75991\t1\n75998\t1\n76004\t1\n76011\t1\n76024\t1\n76029\t1\n76030\t1\n76031\t1\n76036\t1\n76041\t1\n76043\t1\n76045\t1\n76056\t1\n76058\t1\n76060\t1\n76071\t1\n76072\t1\n76077\t1\n76080\t1\n76083\t1\n76084\t1\n76085\t1\n76087\t1\n76097\t1\n76108\t1\n76110\t1\n76114\t1\n76117\t1\n76118\t1\n76119\t1\n76122\t1\n76140\t1\n76145\t1\n76166\t1\n76168\t1\n76178\t1\n76183\t1\n76186\t1\n76188\t1\n76196\t1\n76209\t1\n76227\t1\n76236\t1\n76244\t1\n76249\t1\n76258\t1\n76260\t1\n76274\t1\n76280\t1\n76281\t1\n76283\t1\n76294\t1\n76298\t1\n76308\t1\n76313\t1\n76315\t1\n76319\t1\n76329\t1\n76337\t1\n76345\t1\n76349\t1\n76350\t1\n76361\t1\n76367\t1\n76369\t1\n76371\t1\n76375\t1\n76378\t1\n76382\t1\n76411\t1\n76412\t1\n76420\t1\n76430\t1\n76432\t1\n76438\t1\n76441\t1\n76445\t1\n76450\t1\n76452\t1\n76458\t1\n76460\t1\n76461\t1\n76463\t1\n76467\t1\n76473\t1\n76474\t1\n76480\t1\n76483\t1\n76484\t1\n76486\t1\n76488\t1\n76491\t1\n76494\t1\n76505\t1\n76506\t1\n76510\t1\n76512\t1\n76516\t1\n76527\t1\n76528\t1\n76541\t1\n76552\t1\n76553\t1\n76554\t1\n76556\t1\n76557\t1\n76564\t1\n76567\t1\n76578\t1\n76586\t1\n76591\t1\n76606\t1\n76615\t1\n76617\t1\n76618\t1\n76625\t1\n76627\t1\n76633\t1\n76636\t1\n76643\t1\n76648\t1\n76652\t1\n76655\t1\n76657\t1\n76659\t1\n76660\t1\n76663\t1\n76664\t1\n76668\t1\n76670\t1\n76671\t1\n76679\t1\n76689\t1\n76696\t1\n76705\t1\n76706\t1\n76707\t1\n76712\t1\n76726\t1\n76728\t1\n76742\t1\n76743\t1\n76747\t1\n76751\t1\n76753\t1\n76756\t1\n76764\t1\n76770\t1\n76771\t1\n76778\t1\n76780\t1\n76786\t1\n76793\t1\n76795\t1\n76805\t1\n76807\t1\n76813\t1\n76814\t1\n76816\t1\n76819\t1\n76820\t1\n76824\t1\n76832\t1\n76842\t1\n76845\t1\n76847\t1\n76855\t1\n76860\t1\n76862\t1\n76864\t1\n76872\t1\n76873\t1\n76881\t1\n76894\t1\n76897\t1\n76902\t1\n76904\t1\n76908\t1\n76909\t1\n76912\t1\n76916\t1\n76921\t1\n76924\t1\n76926\t1\n76935\t1\n76937\t1\n76948\t1\n76949\t1\n76950\t1\n76955\t1\n76960\t1\n76965\t1\n76970\t1\n76974\t1\n76977\t1\n76979\t1\n76983\t1\n76986\t1\n77009\t1\n77045\t1\n77046\t1\n77047\t1\n77051\t1\n77065\t1\n77072\t1\n77074\t1\n77080\t1\n77084\t1\n77094\t1\n77101\t1\n77105\t1\n77109\t1\n77111\t1\n77112\t1\n77113\t1\n77115\t1\n77123\t1\n77137\t1\n77144\t1\n77148\t1\n77162\t1\n77168\t1\n77170\t1\n77174\t1\n77188\t1\n77191\t1\n77194\t1\n77195\t1\n77204\t1\n77208\t1\n77209\t1\n77216\t1\n77222\t1\n77224\t1\n77226\t1\n77237\t1\n77240\t1\n77251\t1\n77255\t1\n77266\t1\n77274\t1\n77275\t1\n77291\t1\n77305\t1\n77307\t1\n77313\t1\n77314\t1\n77316\t1\n77317\t1\n77332\t1\n77335\t1\n77345\t1\n77352\t1\n77366\t1\n77384\t1\n77385\t1\n77395\t1\n77397\t1\n77401\t1\n77405\t1\n77407\t1\n77419\t1\n77429\t1\n77432\t1\n77445\t1\n77446\t1\n77453\t1\n77459\t1\n77463\t1\n77469\t1\n77471\t1\n77477\t1\n77481\t1\n77487\t1\n77488\t1\n77499\t1\n77501\t1\n77504\t1\n77508\t1\n77512\t1\n77513\t1\n77526\t1\n77527\t1\n77531\t1\n77546\t1\n77555\t1\n77557\t1\n77561\t1\n77570\t1\n77576\t1\n77582\t1\n77590\t1\n77592\t1\n77598\t1\n77599\t1\n77602\t1\n77604\t1\n77605\t1\n77606\t1\n77608\t1\n77613\t1\n77614\t1\n77615\t1\n77625\t1\n77630\t1\n77636\t1\n77645\t1\n77654\t1\n77659\t1\n77663\t1\n77669\t1\n77675\t1\n77683\t1\n77685\t1\n77690\t1\n77698\t1\n77703\t1\n77707\t1\n77708\t1\n77713\t1\n77716\t1\n77718\t1\n77724\t1\n77725\t1\n77730\t1\n77741\t1\n77745\t1\n77748\t1\n77749\t1\n77762\t1\n77765\t1\n77770\t1\n77787\t1\n77793\t1\n77798\t1\n77803\t1\n77804\t1\n77805\t1\n77812\t1\n77815\t1\n77824\t1\n77829\t1\n77837\t1\n77840\t1\n77841\t1\n77847\t1\n77849\t1\n77858\t1\n77866\t1\n77869\t1\n77873\t1\n77899\t1\n77911\t1\n77925\t1\n77926\t1\n77932\t1\n77936\t1\n77937\t1\n77941\t1\n77947\t1\n77951\t1\n77958\t1\n77966\t1\n77974\t1\n77976\t1\n77985\t1\n77990\t1\n77996\t1\n78012\t1\n78017\t1\n78019\t1\n78026\t1\n78037\t1\n78041\t1\n78057\t1\n78068\t1\n78077\t1\n78078\t1\n78086\t1\n78087\t1\n78088\t1\n78094\t1\n78099\t1\n78108\t1\n78121\t1\n78126\t1\n78130\t1\n78138\t1\n78148\t1\n78151\t1\n78156\t1\n78164\t1\n78181\t1\n78183\t1\n78188\t1\n78189\t1\n78194\t1\n78199\t1\n78207\t1\n78209\t1\n78212\t1\n78219\t1\n78220\t1\n78230\t1\n78231\t1\n78232\t1\n78236\t1\n78238\t1\n78240\t1\n78244\t1\n78254\t1\n78259\t1\n78263\t1\n78271\t1\n78275\t1\n78285\t1\n78286\t1\n78295\t1\n78303\t1\n78304\t1\n78308\t1\n78315\t1\n78318\t1\n78322\t1\n78323\t1\n78324\t1\n78334\t1\n78356\t1\n78362\t1\n78364\t1\n78370\t1\n78377\t1\n78384\t1\n78389\t1\n78391\t1\n78423\t1\n78424\t1\n78430\t1\n78436\t1\n78445\t1\n78463\t1\n78464\t1\n78471\t1\n78488\t1\n78491\t1\n78494\t1\n78496\t1\n78506\t1\n78521\t1\n78551\t1\n78572\t1\n78581\t1\n78597\t1\n78600\t1\n78601\t1\n78606\t1\n78616\t1\n78619\t1\n78631\t1\n78633\t1\n78637\t1\n78638\t1\n78659\t1\n78663\t1\n78664\t1\n78669\t1\n78676\t1\n78678\t1\n78684\t1\n78689\t1\n78691\t1\n78695\t1\n78698\t1\n78699\t1\n78701\t1\n78705\t1\n78713\t1\n78718\t1\n78723\t1\n78729\t1\n78730\t1\n78733\t1\n78748\t1\n78754\t1\n78757\t1\n78762\t1\n78776\t1\n78779\t1\n78780\t1\n78784\t1\n78792\t1\n78796\t1\n78799\t1\n78802\t1\n78817\t1\n78819\t1\n78821\t1\n78826\t1\n78832\t1\n78841\t1\n78851\t1\n78859\t1\n78866\t1\n78871\t1\n78876\t1\n78880\t1\n78907\t1\n78924\t1\n78927\t1\n78929\t1\n78931\t1\n78933\t1\n78943\t1\n78945\t1\n78952\t1\n78968\t1\n78975\t1\n78984\t1\n78998\t1\n79005\t1\n79009\t1\n79012\t1\n79013\t1\n79015\t1\n79018\t1\n79020\t1\n79024\t1\n79029\t1\n79040\t1\n79043\t1\n79046\t1\n79056\t1\n79073\t1\n79074\t1\n79077\t1\n79085\t1\n79087\t1\n79094\t1\n79099\t1\n79100\t1\n79120\t1\n79121\t1\n79122\t1\n79124\t1\n79125\t1\n79126\t1\n79143\t1\n79150\t1\n79151\t1\n79162\t1\n79168\t1\n79169\t1\n79170\t1\n79173\t1\n79187\t1\n79195\t1\n79199\t1\n79227\t1\n79235\t1\n79241\t1\n79250\t1\n79252\t1\n79261\t1\n79273\t1\n79277\t1\n79278\t1\n79279\t1\n79289\t1\n79300\t1\n79318\t1\n79321\t1\n79325\t1\n79348\t1\n79350\t1\n79351\t1\n79358\t1\n79371\t1\n79378\t1\n79386\t1\n79392\t1\n79399\t1\n79407\t1\n79416\t1\n79417\t1\n79421\t1\n79422\t1\n79435\t1\n79439\t1\n79442\t1\n79449\t1\n79461\t1\n79464\t1\n79468\t1\n79469\t1\n79476\t1\n79480\t1\n79485\t1\n79491\t1\n79492\t1\n79502\t1\n79511\t1\n79520\t1\n79525\t1\n79527\t1\n79531\t1\n79549\t1\n79552\t1\n79567\t1\n79580\t1\n79588\t1\n79591\t1\n79592\t1\n79605\t1\n79613\t1\n79630\t1\n79633\t1\n79643\t1\n79648\t1\n79649\t1\n79653\t1\n79654\t1\n79657\t1\n79670\t1\n79676\t1\n79683\t1\n79688\t1\n79695\t1\n79696\t1\n79704\t1\n79710\t1\n79717\t1\n79720\t1\n79724\t1\n79729\t1\n79731\t1\n79740\t1\n79744\t1\n79758\t1\n79760\t1\n79779\t1\n79785\t1\n79786\t1\n79787\t1\n79794\t1\n79796\t1\n79803\t1\n79826\t1\n79842\t1\n79844\t1\n79848\t1\n79862\t1\n79865\t1\n79869\t1\n79872\t1\n79881\t1\n79887\t1\n79892\t1\n79910\t1\n79914\t1\n79919\t1\n79924\t1\n79927\t1\n79933\t1\n79940\t1\n79942\t1\n79946\t1\n79948\t1\n79951\t1\n79960\t1\n79967\t1\n79969\t1\n79975\t1\n79979\t1\n79980\t1\n79982\t1\n79985\t1\n79989\t1\n79990\t1\n79995\t1\n79998\t1\n80000\t1\n80006\t1\n80011\t1\n80025\t1\n80032\t1\n80040\t1\n80042\t1\n80045\t1\n80067\t1\n80087\t1\n80093\t1\n80103\t1\n80112\t1\n80114\t1\n80117\t1\n80126\t1\n80127\t1\n80150\t1\n80153\t1\n80155\t1\n80170\t1\n80176\t1\n80184\t1\n80185\t1\n80188\t1\n80189\t1\n80197\t1\n80231\t1\n80247\t1\n80249\t1\n80259\t1\n80262\t1\n80274\t1\n80296\t1\n80309\t1\n80310\t1\n80328\t1\n80330\t1\n80333\t1\n80334\t1\n80335\t1\n80339\t1\n80347\t1\n80353\t1\n80361\t1\n80375\t1\n80380\t1\n80386\t1\n80413\t1\n80420\t1\n80427\t1\n80449\t1\n80452\t1\n80454\t1\n80455\t1\n80456\t1\n80458\t1\n80475\t1\n80479\t1\n80489\t1\n80493\t1\n80498\t1\n80510\t1\n80516\t1\n80517\t1\n80521\t1\n80541\t1\n80555\t1\n80559\t1\n80560\t1\n80564\t1\n80573\t1\n80579\t1\n80607\t1\n80620\t1\n80626\t1\n80642\t1\n80651\t1\n80655\t1\n80662\t1\n80663\t1\n80678\t1\n80679\t1\n80680\t1\n80685\t1\n80690\t1\n80696\t1\n80699\t1\n80703\t1\n80704\t1\n80705\t1\n80710\t1\n80730\t1\n80742\t1\n80758\t1\n80765\t1\n80769\t1\n80771\t1\n80777\t1\n80783\t1\n80792\t1\n80793\t1\n80796\t1\n80800\t1\n80801\t1\n80802\t1\n80807\t1\n80808\t1\n80819\t1\n80820\t1\n80828\t1\n80830\t1\n80832\t1\n80835\t1\n80837\t1\n80841\t1\n80843\t1\n80850\t1\n80860\t1\n80883\t1\n80884\t1\n80887\t1\n80896\t1\n80900\t1\n80913\t1\n80925\t1\n80929\t1\n80931\t1\n80943\t1\n80946\t1\n80952\t1\n80955\t1\n80958\t1\n80967\t1\n80969\t1\n80977\t1\n80978\t1\n80986\t1\n80989\t1\n80990\t1\n80991\t1\n80992\t1\n80995\t1\n80998\t1\n81005\t1\n81010\t1\n81015\t1\n81033\t1\n81037\t1\n81039\t1\n81040\t1\n81044\t1\n81046\t1\n81047\t1\n81049\t1\n81056\t1\n81067\t1\n81085\t1\n81096\t1\n81099\t1\n81105\t1\n81111\t1\n81116\t1\n81117\t1\n81119\t1\n81122\t1\n81130\t1\n81131\t1\n81139\t1\n81157\t1\n81167\t1\n81179\t1\n81187\t1\n81188\t1\n81191\t1\n81193\t1\n81196\t1\n81202\t1\n81206\t1\n81216\t1\n81228\t1\n81231\t1\n81233\t1\n81243\t1\n81252\t1\n81269\t1\n81270\t1\n81271\t1\n81274\t1\n81280\t1\n81287\t1\n81295\t1\n81298\t1\n81309\t1\n81310\t1\n81311\t1\n81313\t1\n81315\t1\n81318\t1\n81327\t1\n81328\t1\n81334\t1\n81336\t1\n81346\t1\n81348\t1\n81349\t1\n81353\t1\n81361\t1\n81370\t1\n81378\t1\n81385\t1\n81390\t1\n81400\t1\n81401\t1\n81407\t1\n81412\t1\n81413\t1\n81415\t1\n81429\t1\n81431\t1\n81438\t1\n81453\t1\n81454\t1\n81462\t1\n81474\t1\n81481\t1\n81482\t1\n81495\t1\n81499\t1\n81500\t1\n81504\t1\n81505\t1\n81520\t1\n81524\t1\n81525\t1\n81528\t1\n81530\t1\n81533\t1\n81534\t1\n81536\t1\n81547\t1\n81549\t1\n81565\t1\n81569\t1\n81572\t1\n81578\t1\n81588\t1\n81590\t1\n81591\t1\n81592\t1\n81607\t1\n81618\t1\n81622\t1\n81626\t1\n81634\t1\n81643\t1\n81646\t1\n81652\t1\n81655\t1\n81668\t1\n81675\t1\n81680\t1\n81688\t1\n81695\t1\n81715\t1\n81720\t1\n81724\t1\n81740\t1\n81756\t1\n81759\t1\n81763\t1\n81774\t1\n81779\t1\n81782\t1\n81786\t1\n81792\t1\n81798\t1\n81805\t1\n81806\t1\n81809\t1\n81811\t1\n81815\t1\n81821\t1\n81824\t1\n81831\t1\n81832\t1\n81852\t1\n81866\t1\n81871\t1\n81873\t1\n81876\t1\n81890\t1\n81896\t1\n81906\t1\n81913\t1\n81914\t1\n81925\t1\n81926\t1\n81936\t1\n81945\t1\n81947\t1\n81954\t1\n81959\t1\n81961\t1\n81965\t1\n81966\t1\n81967\t1\n81969\t1\n81971\t1\n81972\t1\n81980\t1\n81981\t1\n81989\t1\n81990\t1\n81993\t1\n81994\t1\n82006\t1\n82029\t1\n82032\t1\n82037\t1\n82042\t1\n82046\t1\n82051\t1\n82055\t1\n82060\t1\n82061\t1\n82073\t1\n82076\t1\n82079\t1\n82081\t1\n82083\t1\n82085\t1\n82112\t1\n82123\t1\n82128\t1\n82142\t1\n82143\t1\n82146\t1\n82157\t1\n82163\t1\n82167\t1\n82177\t1\n82180\t1\n82184\t1\n82186\t1\n82190\t1\n82213\t1\n82215\t1\n82220\t1\n82222\t1\n82235\t1\n82236\t1\n82255\t1\n82259\t1\n82273\t1\n82279\t1\n82283\t1\n82294\t1\n82298\t1\n82307\t1\n82318\t1\n82319\t1\n82320\t1\n82346\t1\n82348\t1\n82363\t1\n82366\t1\n82381\t1\n82394\t1\n82398\t1\n82404\t1\n82410\t1\n82414\t1\n82416\t1\n82424\t1\n82425\t1\n82428\t1\n82447\t1\n82448\t1\n82468\t1\n82483\t1\n82494\t1\n82495\t1\n82496\t1\n82497\t1\n82501\t1\n82502\t1\n82511\t1\n82515\t1\n82523\t1\n82526\t1\n82551\t1\n82552\t1\n82566\t1\n82571\t1\n82573\t1\n82575\t1\n82576\t1\n82579\t1\n82580\t1\n82581\t1\n82585\t1\n82589\t1\n82590\t1\n82603\t1\n82604\t1\n82617\t1\n82620\t1\n82625\t1\n82632\t1\n82643\t1\n82649\t1\n82667\t1\n82675\t1\n82677\t1\n82686\t1\n82689\t1\n82692\t1\n82695\t1\n82696\t1\n82702\t1\n82706\t1\n82708\t1\n82712\t1\n82718\t1\n82724\t1\n82731\t1\n82735\t1\n82742\t1\n82745\t1\n82750\t1\n82757\t1\n82759\t1\n82762\t1\n82764\t1\n82773\t1\n82790\t1\n82793\t1\n82832\t1\n82841\t1\n82846\t1\n82859\t1\n82873\t1\n82878\t1\n82881\t1\n82891\t1\n82892\t1\n82897\t1\n82908\t1\n82911\t1\n82923\t1\n82937\t1\n82942\t1\n82948\t1\n82951\t1\n82957\t1\n82960\t1\n82965\t1\n82973\t1\n82976\t1\n82980\t1\n82983\t1\n82984\t1\n82985\t1\n82992\t1\n82998\t1\n83006\t1\n83008\t1\n83009\t1\n83022\t1\n83035\t1\n83036\t1\n83056\t1\n83062\t1\n83063\t1\n83064\t1\n83065\t1\n83075\t1\n83077\t1\n83078\t1\n83080\t1\n83083\t1\n83084\t1\n83100\t1\n83110\t1\n83113\t1\n83114\t1\n83122\t1\n83125\t1\n83133\t1\n83136\t1\n83145\t1\n83159\t1\n83172\t1\n83177\t1\n83181\t1\n83185\t1\n83188\t1\n83190\t1\n83202\t1\n83214\t1\n83217\t1\n83221\t1\n83223\t1\n83231\t1\n83233\t1\n83237\t1\n83238\t1\n83239\t1\n83249\t1\n83253\t1\n83268\t1\n83269\t1\n83273\t1\n83274\t1\n83278\t1\n83280\t1\n83284\t1\n83285\t1\n83294\t1\n83298\t1\n83299\t1\n83301\t1\n83307\t1\n83310\t1\n83331\t1\n83349\t1\n83352\t1\n83357\t1\n83360\t1\n83363\t1\n83365\t1\n83373\t1\n83374\t1\n83379\t1\n83382\t1\n83386\t1\n83390\t1\n83391\t1\n83394\t1\n83400\t1\n83411\t1\n83426\t1\n83435\t1\n83441\t1\n83455\t1\n83457\t1\n83459\t1\n83462\t1\n83463\t1\n83467\t1\n83497\t1\n83498\t1\n83512\t1\n83518\t1\n83522\t1\n83531\t1\n83533\t1\n83541\t1\n83544\t1\n83551\t1\n83556\t1\n83573\t1\n83580\t1\n83585\t1\n83593\t1\n83605\t1\n83606\t1\n83609\t1\n83616\t1\n83618\t1\n83628\t1\n83630\t1\n83638\t1\n83652\t1\n83654\t1\n83660\t1\n83670\t1\n83683\t1\n83687\t1\n83689\t1\n83690\t1\n83691\t1\n83699\t1\n83700\t1\n83701\t1\n83705\t1\n83708\t1\n83710\t1\n83711\t1\n83713\t1\n83723\t1\n83734\t1\n83735\t1\n83748\t1\n83753\t1\n83758\t1\n83773\t1\n83775\t1\n83781\t1\n83782\t1\n83786\t1\n83787\t1\n83790\t1\n83797\t1\n83799\t1\n83809\t1\n83810\t1\n83811\t1\n83814\t1\n83827\t1\n83828\t1\n83830\t1\n83841\t1\n83869\t1\n83871\t1\n83876\t1\n83880\t1\n83885\t1\n83888\t1\n83897\t1\n83907\t1\n83934\t1\n83939\t1\n83944\t1\n83945\t1\n83946\t1\n83948\t1\n83958\t1\n83959\t1\n83967\t1\n83968\t1\n83970\t1\n83988\t1\n84006\t1\n84011\t1\n84018\t1\n84038\t1\n84040\t1\n84045\t1\n84049\t1\n84050\t1\n84051\t1\n84057\t1\n84067\t1\n84079\t1\n84082\t1\n84085\t1\n84086\t1\n84094\t1\n84107\t1\n84113\t1\n84115\t1\n84123\t1\n84131\t1\n84146\t1\n84156\t1\n84165\t1\n84167\t1\n84176\t1\n84187\t1\n84191\t1\n84198\t1\n84200\t1\n84205\t1\n84207\t1\n84216\t1\n84218\t1\n84226\t1\n84231\t1\n84238\t1\n84248\t1\n84249\t1\n84251\t1\n84254\t1\n84268\t1\n84287\t1\n84288\t1\n84289\t1\n84294\t1\n84295\t1\n84298\t1\n84301\t1\n84318\t1\n84321\t1\n84325\t1\n84335\t1\n84338\t1\n84339\t1\n84347\t1\n84363\t1\n84367\t1\n84371\t1\n84376\t1\n84381\t1\n84399\t1\n84409\t1\n84422\t1\n84426\t1\n84433\t1\n84441\t1\n84445\t1\n84446\t1\n84453\t1\n84462\t1\n84466\t1\n84469\t1\n84476\t1\n84482\t1\n84489\t1\n84496\t1\n84501\t1\n84503\t1\n84508\t1\n84512\t1\n84534\t1\n84535\t1\n84542\t1\n84547\t1\n84552\t1\n84553\t1\n84555\t1\n84558\t1\n84562\t1\n84568\t1\n84574\t1\n84583\t1\n84584\t1\n84585\t1\n84597\t1\n84598\t1\n84600\t1\n84602\t1\n84609\t1\n84613\t1\n84614\t1\n84642\t1\n84653\t1\n84654\t1\n84660\t1\n84662\t1\n84675\t1\n84683\t1\n84684\t1\n84692\t1\n84696\t1\n84702\t1\n84707\t1\n84708\t1\n84709\t1\n84714\t1\n84718\t1\n84719\t1\n84722\t1\n84733\t1\n84745\t1\n84749\t1\n84755\t1\n84774\t1\n84782\t1\n84795\t1\n84802\t1\n84808\t1\n84814\t1\n84815\t1\n84819\t1\n84823\t1\n84825\t1\n84831\t1\n84836\t1\n84839\t1\n84844\t1\n84851\t1\n84855\t1\n84856\t1\n84857\t1\n84860\t1\n84868\t1\n84871\t1\n84875\t1\n84878\t1\n84885\t1\n84887\t1\n84895\t1\n84901\t1\n84904\t1\n84909\t1\n84914\t1\n84922\t1\n84926\t1\n84938\t1\n84944\t1\n84947\t1\n84948\t1\n84949\t1\n84951\t1\n84954\t1\n84959\t1\n84961\t1\n84971\t1\n84972\t1\n84973\t1\n84974\t1\n85015\t1\n85023\t1\n85036\t1\n85039\t1\n85042\t1\n85044\t1\n85062\t1\n85071\t1\n85091\t1\n85100\t1\n85111\t1\n85119\t1\n85122\t1\n85129\t1\n85132\t1\n85136\t1\n85142\t1\n85149\t1\n85151\t1\n85153\t1\n85155\t1\n85169\t1\n85174\t1\n85175\t1\n85177\t1\n85189\t1\n85196\t1\n85200\t1\n85207\t1\n85214\t1\n85223\t1\n85229\t1\n85236\t1\n85242\t1\n85246\t1\n85253\t1\n85260\t1\n85270\t1\n85275\t1\n85278\t1\n85280\t1\n85288\t1\n85293\t1\n85295\t1\n85296\t1\n85301\t1\n85335\t1\n85339\t1\n85342\t1\n85347\t1\n85361\t1\n85369\t1\n85374\t1\n85379\t1\n85384\t1\n85388\t1\n85389\t1\n85390\t1\n85395\t1\n85408\t1\n85411\t1\n85415\t1\n85418\t1\n85421\t1\n85444\t1\n85451\t1\n85454\t1\n85457\t1\n85458\t1\n85461\t1\n85474\t1\n85483\t1\n85491\t1\n85497\t1\n85499\t1\n85504\t1\n85526\t1\n85529\t1\n85540\t1\n85553\t1\n85554\t1\n85556\t1\n85571\t1\n85576\t1\n85578\t1\n85582\t1\n85593\t1\n85597\t1\n85602\t1\n85609\t1\n85611\t1\n85617\t1\n85620\t1\n85624\t1\n85627\t1\n85634\t1\n85636\t1\n85651\t1\n85659\t1\n85663\t1\n85668\t1\n85669\t1\n85687\t1\n85700\t1\n85703\t1\n85706\t1\n85708\t1\n85737\t1\n85738\t1\n85742\t1\n85745\t1\n85753\t1\n85754\t1\n85768\t1\n85770\t1\n85772\t1\n85776\t1\n85783\t1\n85793\t1\n85797\t1\n85798\t1\n85800\t1\n85812\t1\n85821\t1\n85822\t1\n85842\t1\n85843\t1\n85844\t1\n85850\t1\n85857\t1\n85858\t1\n85868\t1\n85877\t1\n85893\t1\n85896\t1\n85900\t1\n85908\t1\n85914\t1\n85919\t1\n85924\t1\n85928\t1\n85932\t1\n85933\t1\n85949\t1\n85957\t1\n85960\t1\n85965\t1\n85969\t1\n85973\t1\n85977\t1\n85978\t1\n85988\t1\n85991\t1\n85999\t1\n86004\t1\n86007\t1\n86019\t1\n86031\t1\n86035\t1\n86037\t1\n86038\t1\n86042\t1\n86047\t1\n86049\t1\n86051\t1\n86053\t1\n86056\t1\n86058\t1\n86069\t1\n86070\t1\n86072\t1\n86076\t1\n86083\t1\n86087\t1\n86089\t1\n86094\t1\n86111\t1\n86118\t1\n86122\t1\n86124\t1\n86125\t1\n86127\t1\n86149\t1\n86153\t1\n86156\t1\n86158\t1\n86179\t1\n86186\t1\n86187\t1\n86189\t1\n86209\t1\n86215\t1\n86219\t1\n86225\t1\n86226\t1\n86228\t1\n86229\t1\n86236\t1\n86243\t1\n86288\t1\n86294\t1\n86303\t1\n86304\t1\n86330\t1\n86335\t1\n86337\t1\n86353\t1\n86360\t1\n86369\t1\n86390\t1\n86391\t1\n86402\t1\n86420\t1\n86424\t1\n86426\t1\n86427\t1\n86434\t1\n86437\t1\n86439\t1\n86443\t1\n86451\t1\n86453\t1\n86456\t1\n86458\t1\n86459\t1\n86464\t1\n86466\t1\n86476\t1\n86477\t1\n86499\t1\n86500\t1\n86507\t1\n86509\t1\n86518\t1\n86522\t1\n86530\t1\n86531\t1\n86532\t1\n86537\t1\n86541\t1\n86544\t1\n86550\t1\n86552\t1\n86570\t1\n86573\t1\n86579\t1\n86580\t1\n86584\t1\n86586\t1\n86588\t1\n86601\t1\n86606\t1\n86607\t1\n86608\t1\n86609\t1\n86615\t1\n86620\t1\n86625\t1\n86635\t1\n86638\t1\n86639\t1\n86646\t1\n86647\t1\n86653\t1\n86656\t1\n86659\t1\n86665\t1\n86672\t1\n86673\t1\n86682\t1\n86695\t1\n86705\t1\n86707\t1\n86711\t1\n86719\t1\n86743\t1\n86745\t1\n86749\t1\n86753\t1\n86769\t1\n86774\t1\n86780\t1\n86784\t1\n86790\t1\n86791\t1\n86803\t1\n86808\t1\n86811\t1\n86841\t1\n86846\t1\n86849\t1\n86852\t1\n86853\t1\n86862\t1\n86865\t1\n86868\t1\n86882\t1\n86883\t1\n86888\t1\n86898\t1\n86904\t1\n86911\t1\n86917\t1\n86918\t1\n86922\t1\n86925\t1\n86939\t1\n86948\t1\n86949\t1\n86955\t1\n86964\t1\n86966\t1\n86980\t1\n87004\t1\n87013\t1\n87016\t1\n87020\t1\n87021\t1\n87022\t1\n87031\t1\n87035\t1\n87042\t1\n87043\t1\n87066\t1\n87068\t1\n87081\t1\n87084\t1\n87085\t1\n87087\t1\n87089\t1\n87093\t1\n87097\t1\n87100\t1\n87107\t1\n87109\t1\n87115\t1\n87116\t1\n87117\t1\n87118\t1\n87144\t1\n87148\t1\n87152\t1\n87161\t1\n87163\t1\n87165\t1\n87166\t1\n87174\t1\n87182\t1\n87184\t1\n87191\t1\n87204\t1\n87206\t1\n87207\t1\n87212\t1\n87218\t1\n87223\t1\n87234\t1\n87249\t1\n87266\t1\n87268\t1\n87272\t1\n87273\t1\n87276\t1\n87285\t1\n87308\t1\n87319\t1\n87326\t1\n87330\t1\n87335\t1\n87336\t1\n87339\t1\n87341\t1\n87346\t1\n87349\t1\n87354\t1\n87356\t1\n87359\t1\n87361\t1\n87371\t1\n87373\t1\n87379\t1\n87396\t1\n87398\t1\n87399\t1\n87406\t1\n87410\t1\n87411\t1\n87430\t1\n87439\t1\n87452\t1\n87453\t1\n87462\t1\n87477\t1\n87486\t1\n87490\t1\n87497\t1\n87504\t1\n87505\t1\n87518\t1\n87520\t1\n87521\t1\n87526\t1\n87551\t1\n87567\t1\n87568\t1\n87570\t1\n87580\t1\n87586\t1\n87590\t1\n87593\t1\n87602\t1\n87612\t1\n87619\t1\n87633\t1\n87637\t1\n87642\t1\n87651\t1\n87659\t1\n87663\t1\n87664\t1\n87668\t1\n87673\t1\n87674\t1\n87677\t1\n87679\t1\n87682\t1\n87687\t1\n87698\t1\n87701\t1\n87715\t1\n87723\t1\n87738\t1\n87744\t1\n87749\t1\n87755\t1\n87760\t1\n87779\t1\n87786\t1\n87787\t1\n87799\t1\n87800\t1\n87801\t1\n87802\t1\n87844\t1\n87851\t1\n87863\t1\n87866\t1\n87867\t1\n87869\t1\n87874\t1\n87879\t1\n87885\t1\n87895\t1\n87898\t1\n87902\t1\n87906\t1\n87908\t1\n87911\t1\n87915\t1\n87918\t1\n87921\t1\n87928\t1\n87931\t1\n87940\t1\n87945\t1\n87950\t1\n87959\t1\n87964\t1\n87969\t1\n87971\t1\n87978\t1\n87983\t1\n87985\t1\n87986\t1\n87989\t1\n87992\t1\n87999\t1\n88001\t1\n88011\t1\n88023\t1\n88028\t1\n88030\t1\n88059\t1\n88062\t1\n88065\t1\n88073\t1\n88075\t1\n88079\t1\n88090\t1\n88093\t1\n88103\t1\n88105\t1\n88113\t1\n88122\t1\n88137\t1\n88140\t1\n88157\t1\n88160\t1\n88165\t1\n88171\t1\n88176\t1\n88182\t1\n88192\t1\n88202\t1\n88210\t1\n88219\t1\n88221\t1\n88231\t1\n88238\t1\n88245\t1\n88259\t1\n88271\t1\n88281\t1\n88286\t1\n88287\t1\n88297\t1\n88308\t1\n88310\t1\n88337\t1\n88338\t1\n88346\t1\n88352\t1\n88359\t1\n88362\t1\n88369\t1\n88376\t1\n88380\t1\n88381\t1\n88391\t1\n88407\t1\n88415\t1\n88429\t1\n88433\t1\n88443\t1\n88446\t1\n88452\t1\n88454\t1\n88462\t1\n88469\t1\n88471\t1\n88475\t1\n88477\t1\n88495\t1\n88504\t1\n88521\t1\n88526\t1\n88535\t1\n88536\t1\n88543\t1\n88550\t1\n88551\t1\n88555\t1\n88557\t1\n88558\t1\n88560\t1\n88574\t1\n88585\t1\n88590\t1\n88593\t1\n88598\t1\n88605\t1\n88609\t1\n88619\t1\n88620\t1\n88622\t1\n88633\t1\n88645\t1\n88650\t1\n88652\t1\n88658\t1\n88662\t1\n88673\t1\n88688\t1\n88706\t1\n88723\t1\n88728\t1\n88729\t1\n88730\t1\n88732\t1\n88734\t1\n88737\t1\n88750\t1\n88766\t1\n88768\t1\n88774\t1\n88779\t1\n88782\t1\n88792\t1\n88801\t1\n88814\t1\n88816\t1\n88820\t1\n88822\t1\n88824\t1\n88834\t1\n88836\t1\n88837\t1\n88840\t1\n88841\t1\n88844\t1\n88867\t1\n88885\t1\n88886\t1\n88887\t1\n88888\t1\n88902\t1\n88910\t1\n88916\t1\n88925\t1\n88926\t1\n88932\t1\n88942\t1\n88948\t1\n88949\t1\n88964\t1\n88965\t1\n88969\t1\n88975\t1\n88976\t1\n88986\t1\n89001\t1\n89006\t1\n89014\t1\n89018\t1\n89022\t1\n89023\t1\n89032\t1\n89040\t1\n89047\t1\n89069\t1\n89076\t1\n89078\t1\n89088\t1\n89090\t1\n89093\t1\n89094\t1\n89108\t1\n89116\t1\n89117\t1\n89123\t1\n89124\t1\n89125\t1\n89132\t1\n89147\t1\n89149\t1\n89151\t1\n89154\t1\n89160\t1\n89184\t1\n89187\t1\n89188\t1\n89207\t1\n89217\t1\n89221\t1\n89223\t1\n89226\t1\n89227\t1\n89229\t1\n89231\t1\n89235\t1\n89241\t1\n89242\t1\n89250\t1\n89255\t1\n89259\t1\n89276\t1\n89282\t1\n89290\t1\n89293\t1\n89294\t1\n89297\t1\n89300\t1\n89307\t1\n89313\t1\n89316\t1\n89321\t1\n89331\t1\n89339\t1\n89343\t1\n89347\t1\n89364\t1\n89379\t1\n89385\t1\n89387\t1\n89396\t1\n89397\t1\n89400\t1\n89401\t1\n89410\t1\n89417\t1\n89444\t1\n89451\t1\n89452\t1\n89476\t1\n89479\t1\n89482\t1\n89486\t1\n89488\t1\n89490\t1\n89497\t1\n89498\t1\n89501\t1\n89506\t1\n89510\t1\n89521\t1\n89524\t1\n89527\t1\n89548\t1\n89551\t1\n89564\t1\n89569\t1\n89571\t1\n89574\t1\n89585\t1\n89589\t1\n89593\t1\n89598\t1\n89605\t1\n89617\t1\n89623\t1\n89630\t1\n89635\t1\n89639\t1\n89646\t1\n89663\t1\n89672\t1\n89676\t1\n89679\t1\n89695\t1\n89697\t1\n89712\t1\n89713\t1\n89714\t1\n89715\t1\n89716\t1\n89720\t1\n89724\t1\n89728\t1\n89747\t1\n89749\t1\n89757\t1\n89761\t1\n89762\t1\n89764\t1\n89775\t1\n89787\t1\n89793\t1\n89795\t1\n89806\t1\n89811\t1\n89818\t1\n89820\t1\n89821\t1\n89832\t1\n89835\t1\n89848\t1\n89852\t1\n89867\t1\n89868\t1\n89870\t1\n89873\t1\n89877\t1\n89878\t1\n89882\t1\n89891\t1\n89892\t1\n89894\t1\n89904\t1\n89923\t1\n89926\t1\n89929\t1\n89935\t1\n89942\t1\n89943\t1\n89944\t1\n89945\t1\n89950\t1\n89952\t1\n89957\t1\n89965\t1\n89969\t1\n89979\t1\n89982\t1\n89985\t1\n89996\t1\n90001\t1\n90006\t1\n90014\t1\n90016\t1\n90028\t1\n90035\t1\n90041\t1\n90046\t1\n90050\t1\n90067\t1\n90073\t1\n90084\t1\n90093\t1\n90096\t1\n90099\t1\n90101\t1\n90106\t1\n90111\t1\n90115\t1\n90119\t1\n90131\t1\n90137\t1\n90140\t1\n90142\t1\n90144\t1\n90146\t1\n90151\t1\n90152\t1\n90156\t1\n90157\t1\n90158\t1\n90163\t1\n90164\t1\n90167\t1\n90168\t1\n90171\t1\n90172\t1\n90179\t1\n90185\t1\n90188\t1\n90198\t1\n90199\t1\n90210\t1\n90221\t1\n90224\t1\n90229\t1\n90232\t1\n90239\t1\n90240\t1\n90243\t1\n90244\t1\n90250\t1\n90259\t1\n90260\t1\n90261\t1\n90264\t1\n90277\t1\n90278\t1\n90302\t1\n90321\t1\n90323\t1\n90326\t1\n90328\t1\n90333\t1\n90337\t1\n90339\t1\n90342\t1\n90346\t1\n90348\t1\n90351\t1\n90361\t1\n90369\t1\n90379\t1\n90393\t1\n90395\t1\n90396\t1\n90398\t1\n90401\t1\n90402\t1\n90411\t1\n90413\t1\n90427\t1\n90432\t1\n90434\t1\n90437\t1\n90448\t1\n90466\t1\n90469\t1\n90482\t1\n90486\t1\n90488\t1\n90489\t1\n90490\t1\n90496\t1\n90502\t1\n90511\t1\n90514\t1\n90518\t1\n90531\t1\n90533\t1\n90536\t1\n90539\t1\n90557\t1\n90571\t1\n90582\t1\n90592\t1\n90595\t1\n90598\t1\n90605\t1\n90607\t1\n90608\t1\n90615\t1\n90623\t1\n90624\t1\n90633\t1\n90636\t1\n90641\t1\n90643\t1\n90654\t1\n90655\t1\n90657\t1\n90666\t1\n90674\t1\n90677\t1\n90686\t1\n90708\t1\n90725\t1\n90726\t1\n90729\t1\n90732\t1\n90744\t1\n90755\t1\n90756\t1\n90757\t1\n90763\t1\n90768\t1\n90777\t1\n90786\t1\n90789\t1\n90793\t1\n90796\t1\n90802\t1\n90803\t1\n90806\t1\n90813\t1\n90823\t1\n90831\t1\n90844\t1\n90845\t1\n90846\t1\n90847\t1\n90852\t1\n90858\t1\n90860\t1\n90865\t1\n90880\t1\n90891\t1\n90895\t1\n90896\t1\n90899\t1\n90906\t1\n90907\t1\n90908\t1\n90914\t1\n90915\t1\n90917\t1\n90924\t1\n90927\t1\n90952\t1\n90962\t1\n90976\t1\n90988\t1\n90989\t1\n90991\t1\n91000\t1\n91006\t1\n91012\t1\n91015\t1\n91024\t1\n91043\t1\n91047\t1\n91076\t1\n91095\t1\n91102\t1\n91111\t1\n91116\t1\n91122\t1\n91132\t1\n91141\t1\n91144\t1\n91151\t1\n91157\t1\n91158\t1\n91160\t1\n91166\t1\n91171\t1\n91172\t1\n91176\t1\n91177\t1\n91185\t1\n91190\t1\n91194\t1\n91202\t1\n91203\t1\n91208\t1\n91217\t1\n91227\t1\n91228\t1\n91240\t1\n91243\t1\n91250\t1\n91265\t1\n91267\t1\n91271\t1\n91276\t1\n91281\t1\n91285\t1\n91290\t1\n91291\t1\n91295\t1\n91297\t1\n91298\t1\n91302\t1\n91307\t1\n91321\t1\n91325\t1\n91327\t1\n91328\t1\n91341\t1\n91350\t1\n91357\t1\n91358\t1\n91361\t1\n91370\t1\n91371\t1\n91378\t1\n91391\t1\n91393\t1\n91402\t1\n91409\t1\n91414\t1\n91421\t1\n91431\t1\n91435\t1\n91437\t1\n91442\t1\n91453\t1\n91462\t1\n91476\t1\n91488\t1\n91491\t1\n91497\t1\n91499\t1\n91506\t1\n91507\t1\n91515\t1\n91521\t1\n91527\t1\n91543\t1\n91558\t1\n91565\t1\n91578\t1\n91586\t1\n91595\t1\n91600\t1\n91604\t1\n91615\t1\n91623\t1\n91627\t1\n91637\t1\n91653\t1\n91654\t1\n91655\t1\n91656\t1\n91666\t1\n91673\t1\n91677\t1\n91682\t1\n91689\t1\n91690\t1\n91693\t1\n91699\t1\n91723\t1\n91734\t1\n91740\t1\n91743\t1\n91755\t1\n91758\t1\n91760\t1\n91763\t1\n91771\t1\n91772\t1\n91774\t1\n91776\t1\n91777\t1\n91781\t1\n91782\t1\n91784\t1\n91789\t1\n91795\t1\n91797\t1\n91799\t1\n91804\t1\n91806\t1\n91812\t1\n91824\t1\n91828\t1\n91833\t1\n91848\t1\n91852\t1\n91858\t1\n91861\t1\n91866\t1\n91867\t1\n91869\t1\n91874\t1\n91889\t1\n91890\t1\n91897\t1\n91899\t1\n91920\t1\n91932\t1\n91935\t1\n91944\t1\n91958\t1\n91959\t1\n91977\t1\n91978\t1\n91984\t1\n91986\t1\n91995\t1\n92001\t1\n92002\t1\n92015\t1\n92025\t1\n92031\t1\n92035\t1\n92051\t1\n92056\t1\n92057\t1\n92066\t1\n92076\t1\n92095\t1\n92098\t1\n92099\t1\n92103\t1\n92108\t1\n92114\t1\n92124\t1\n92125\t1\n92126\t1\n92127\t1\n92134\t1\n92139\t1\n92145\t1\n92148\t1\n92150\t1\n92153\t1\n92154\t1\n92155\t1\n92158\t1\n92161\t1\n92163\t1\n92173\t1\n92177\t1\n92184\t1\n92190\t1\n92191\t1\n92197\t1\n92198\t1\n92202\t1\n92216\t1\n92235\t1\n92240\t1\n92249\t1\n92256\t1\n92257\t1\n92259\t1\n92261\t1\n92283\t1\n92288\t1\n92299\t1\n92301\t1\n92306\t1\n92313\t1\n92315\t1\n92317\t1\n92330\t1\n92335\t1\n92347\t1\n92348\t1\n92349\t1\n92382\t1\n92390\t1\n92398\t1\n92399\t1\n92400\t1\n92401\t1\n92402\t1\n92404\t1\n92411\t1\n92415\t1\n92423\t1\n92437\t1\n92438\t1\n92444\t1\n92447\t1\n92448\t1\n92449\t1\n92470\t1\n92477\t1\n92478\t1\n92480\t1\n92483\t1\n92488\t1\n92491\t1\n92498\t1\n92502\t1\n92517\t1\n92518\t1\n92520\t1\n92523\t1\n92533\t1\n92545\t1\n92549\t1\n92555\t1\n92565\t1\n92568\t1\n92591\t1\n92592\t1\n92593\t1\n92599\t1\n92603\t1\n92605\t1\n92606\t1\n92608\t1\n92611\t1\n92616\t1\n92623\t1\n92633\t1\n92634\t1\n92638\t1\n92653\t1\n92654\t1\n92659\t1\n92664\t1\n92666\t1\n92669\t1\n92687\t1\n92694\t1\n92697\t1\n92703\t1\n92709\t1\n92711\t1\n92712\t1\n92713\t1\n92719\t1\n92725\t1\n92734\t1\n92736\t1\n92737\t1\n92738\t1\n92754\t1\n92755\t1\n92765\t1\n92766\t1\n92781\t1\n92783\t1\n92791\t1\n92792\t1\n92798\t1\n92803\t1\n92806\t1\n92815\t1\n92818\t1\n92819\t1\n92823\t1\n92826\t1\n92841\t1\n92842\t1\n92845\t1\n92876\t1\n92877\t1\n92882\t1\n92886\t1\n92889\t1\n92890\t1\n92891\t1\n92907\t1\n92916\t1\n92917\t1\n92919\t1\n92926\t1\n92929\t1\n92930\t1\n92938\t1\n92945\t1\n92957\t1\n92958\t1\n92960\t1\n92965\t1\n92977\t1\n92996\t1\n92998\t1\n92999\t1\n93024\t1\n93025\t1\n93028\t1\n93047\t1\n93052\t1\n93059\t1\n93066\t1\n93069\t1\n93083\t1\n93085\t1\n93092\t1\n93093\t1\n93097\t1\n93103\t1\n93106\t1\n93118\t1\n93123\t1\n93140\t1\n93143\t1\n93147\t1\n93157\t1\n93162\t1\n93165\t1\n93182\t1\n93191\t1\n93198\t1\n93203\t1\n93207\t1\n93208\t1\n93213\t1\n93220\t1\n93226\t1\n93229\t1\n93230\t1\n93231\t1\n93251\t1\n93261\t1\n93270\t1\n93271\t1\n93280\t1\n93281\t1\n93289\t1\n93295\t1\n93296\t1\n93301\t1\n93306\t1\n93307\t1\n93311\t1\n93318\t1\n93321\t1\n93326\t1\n93332\t1\n93341\t1\n93343\t1\n93348\t1\n93355\t1\n93357\t1\n93370\t1\n93374\t1\n93377\t1\n93379\t1\n93387\t1\n93398\t1\n93403\t1\n93404\t1\n93408\t1\n93410\t1\n93419\t1\n93424\t1\n93425\t1\n93426\t1\n93429\t1\n93442\t1\n93458\t1\n93466\t1\n93471\t1\n93478\t1\n93480\t1\n93487\t1\n93488\t1\n93505\t1\n93506\t1\n93509\t1\n93511\t1\n93518\t1\n93524\t1\n93528\t1\n93533\t1\n93538\t1\n93543\t1\n93553\t1\n93559\t1\n93570\t1\n93577\t1\n93582\t1\n93591\t1\n93593\t1\n93612\t1\n93615\t1\n93616\t1\n93617\t1\n93627\t1\n93631\t1\n93636\t1\n93646\t1\n93650\t1\n93660\t1\n93661\t1\n93662\t1\n93678\t1\n93684\t1\n93686\t1\n93694\t1\n93704\t1\n93705\t1\n93707\t1\n93715\t1\n93721\t1\n93723\t1\n93729\t1\n93735\t1\n93737\t1\n93741\t1\n93749\t1\n93750\t1\n93753\t1\n93759\t1\n93769\t1\n93773\t1\n93774\t1\n93781\t1\n93783\t1\n93785\t1\n93798\t1\n93807\t1\n93820\t1\n93824\t1\n93826\t1\n93827\t1\n93834\t1\n93837\t1\n93851\t1\n93854\t1\n93858\t1\n93859\t1\n93861\t1\n93864\t1\n93866\t1\n93870\t1\n93872\t1\n93873\t1\n93874\t1\n93876\t1\n93879\t1\n93883\t1\n93896\t1\n93905\t1\n93911\t1\n93919\t1\n93938\t1\n93944\t1\n93949\t1\n93950\t1\n93951\t1\n93952\t1\n93965\t1\n93968\t1\n93981\t1\n93982\t1\n93984\t1\n93987\t1\n93997\t1\n94001\t1\n94003\t1\n94007\t1\n94010\t1\n94012\t1\n94015\t1\n94016\t1\n94019\t1\n94034\t1\n94037\t1\n94043\t1\n94046\t1\n94051\t1\n94054\t1\n94065\t1\n94066\t1\n94078\t1\n94079\t1\n94082\t1\n94083\t1\n94086\t1\n94093\t1\n94094\t1\n94097\t1\n94099\t1\n94109\t1\n94118\t1\n94120\t1\n94121\t1\n94126\t1\n94129\t1\n94144\t1\n94149\t1\n94156\t1\n94168\t1\n94170\t1\n94175\t1\n94176\t1\n94178\t1\n94189\t1\n94191\t1\n94196\t1\n94201\t1\n94209\t1\n94213\t1\n94226\t1\n94239\t1\n94244\t1\n94248\t1\n94250\t1\n94256\t1\n94261\t1\n94265\t1\n94273\t1\n94285\t1\n94286\t1\n94292\t1\n94303\t1\n94318\t1\n94348\t1\n94354\t1\n94362\t1\n94370\t1\n94373\t1\n94376\t1\n94380\t1\n94393\t1\n94400\t1\n94404\t1\n94427\t1\n94439\t1\n94446\t1\n94468\t1\n94470\t1\n94476\t1\n94481\t1\n94486\t1\n94488\t1\n94489\t1\n94490\t1\n94493\t1\n94502\t1\n94508\t1\n94515\t1\n94522\t1\n94524\t1\n94527\t1\n94532\t1\n94537\t1\n94538\t1\n94539\t1\n94544\t1\n94556\t1\n94566\t1\n94571\t1\n94572\t1\n94575\t1\n94580\t1\n94584\t1\n94586\t1\n94587\t1\n94592\t1\n94626\t1\n94628\t1\n94631\t1\n94637\t1\n94643\t1\n94645\t1\n94654\t1\n94670\t1\n94682\t1\n94702\t1\n94718\t1\n94724\t1\n94728\t1\n94743\t1\n94744\t1\n94751\t1\n94755\t1\n94767\t1\n94775\t1\n94781\t1\n94790\t1\n94795\t1\n94800\t1\n94821\t1\n94823\t1\n94844\t1\n94847\t1\n94848\t1\n94852\t1\n94859\t1\n94861\t1\n94864\t1\n94865\t1\n94877\t1\n94882\t1\n94885\t1\n94890\t1\n94892\t1\n94894\t1\n94921\t1\n94925\t1\n94933\t1\n94936\t1\n94944\t1\n94950\t1\n94957\t1\n94966\t1\n94967\t1\n94971\t1\n94974\t1\n94975\t1\n94979\t1\n94986\t1\n94989\t1\n94998\t1\n95000\t1\n95011\t1\n95013\t1\n95020\t1\n95026\t1\n95034\t1\n95036\t1\n95052\t1\n95059\t1\n95071\t1\n95072\t1\n95073\t1\n95074\t1\n95077\t1\n95085\t1\n95095\t1\n95099\t1\n95103\t1\n95108\t1\n95109\t1\n95110\t1\n95127\t1\n95130\t1\n95131\t1\n95142\t1\n95149\t1\n95154\t1\n95165\t1\n95167\t1\n95169\t1\n95170\t1\n95174\t1\n95180\t1\n95193\t1\n95194\t1\n95197\t1\n95217\t1\n95225\t1\n95233\t1\n95235\t1\n95236\t1\n95243\t1\n95246\t1\n95257\t1\n95259\t1\n95260\t1\n95264\t1\n95265\t1\n95267\t1\n95271\t1\n95275\t1\n95301\t1\n95307\t1\n95308\t1\n95313\t1\n95318\t1\n95338\t1\n95347\t1\n95351\t1\n95352\t1\n95360\t1\n95365\t1\n95367\t1\n95373\t1\n95383\t1\n95385\t1\n95397\t1\n95402\t1\n95404\t1\n95409\t1\n95422\t1\n95427\t1\n95438\t1\n95442\t1\n95446\t1\n95461\t1\n95462\t1\n95488\t1\n95492\t1\n95495\t1\n95503\t1\n95504\t1\n95506\t1\n95516\t1\n95518\t1\n95520\t1\n95525\t1\n95528\t1\n95535\t1\n95537\t1\n95548\t1\n95551\t1\n95552\t1\n95555\t1\n95560\t1\n95564\t1\n95568\t1\n95580\t1\n95582\t1\n95593\t1\n95596\t1\n95606\t1\n95608\t1\n95614\t1\n95621\t1\n95622\t1\n95629\t1\n95653\t1\n95662\t1\n95675\t1\n95693\t1\n95699\t1\n95705\t1\n95707\t1\n95710\t1\n95719\t1\n95726\t1\n95732\t1\n95738\t1\n95750\t1\n95761\t1\n95766\t1\n95789\t1\n95796\t1\n95797\t1\n95800\t1\n95815\t1\n95825\t1\n95828\t1\n95830\t1\n95846\t1\n95852\t1\n95854\t1\n95858\t1\n95864\t1\n95872\t1\n95876\t1\n95877\t1\n95891\t1\n95892\t1\n95895\t1\n95896\t1\n95900\t1\n95902\t1\n95909\t1\n95911\t1\n95915\t1\n95916\t1\n95924\t1\n95926\t1\n95928\t1\n95941\t1\n95943\t1\n95944\t1\n95945\t1\n95956\t1\n95957\t1\n95958\t1\n95968\t1\n95974\t1\n95984\t1\n95990\t1\n95992\t1\n96001\t1\n96003\t1\n96010\t1\n96014\t1\n96016\t1\n96017\t1\n96028\t1\n96040\t1\n96041\t1\n96052\t1\n96059\t1\n96060\t1\n96063\t1\n96064\t1\n96082\t1\n96083\t1\n96092\t1\n96104\t1\n96107\t1\n96113\t1\n96117\t1\n96122\t1\n96131\t1\n96135\t1\n96148\t1\n96149\t1\n96152\t1\n96154\t1\n96166\t1\n96174\t1\n96184\t1\n96190\t1\n96198\t1\n96205\t1\n96209\t1\n96215\t1\n96216\t1\n96217\t1\n96227\t1\n96228\t1\n96232\t1\n96248\t1\n96251\t1\n96257\t1\n96268\t1\n96272\t1\n96278\t1\n96291\t1\n96293\t1\n96297\t1\n96301\t1\n96304\t1\n96306\t1\n96321\t1\n96326\t1\n96329\t1\n96333\t1\n96348\t1\n96349\t1\n96350\t1\n96359\t1\n96361\t1\n96363\t1\n96371\t1\n96373\t1\n96379\t1\n96386\t1\n96389\t1\n96406\t1\n96409\t1\n96415\t1\n96417\t1\n96418\t1\n96419\t1\n96423\t1\n96442\t1\n96458\t1\n96470\t1\n96475\t1\n96476\t1\n96498\t1\n96508\t1\n96509\t1\n96515\t1\n96522\t1\n96528\t1\n96529\t1\n96534\t1\n96539\t1\n96540\t1\n96541\t1\n96549\t1\n96550\t1\n96554\t1\n96558\t1\n96559\t1\n96569\t1\n96575\t1\n96576\t1\n96585\t1\n96586\t1\n96587\t1\n96593\t1\n96598\t1\n96599\t1\n96600\t1\n96607\t1\n96608\t1\n96611\t1\n96615\t1\n96616\t1\n96623\t1\n96624\t1\n96625\t1\n96631\t1\n96660\t1\n96662\t1\n96672\t1\n96674\t1\n96678\t1\n96681\t1\n96682\t1\n96706\t1\n96716\t1\n96724\t1\n96728\t1\n96733\t1\n96736\t1\n96744\t1\n96754\t1\n96760\t1\n96768\t1\n96771\t1\n96780\t1\n96787\t1\n96791\t1\n96793\t1\n96800\t1\n96805\t1\n96806\t1\n96815\t1\n96820\t1\n96821\t1\n96829\t1\n96833\t1\n96837\t1\n96840\t1\n96843\t1\n96871\t1\n96876\t1\n96878\t1\n96882\t1\n96885\t1\n96893\t1\n96894\t1\n96901\t1\n96902\t1\n96926\t1\n96936\t1\n96939\t1\n96946\t1\n96948\t1\n96950\t1\n96952\t1\n96958\t1\n96985\t1\n96990\t1\n96993\t1\n96996\t1\n96997\t1\n97009\t1\n97017\t1\n97029\t1\n97030\t1\n97034\t1\n97040\t1\n97043\t1\n97050\t1\n97063\t1\n97069\t1\n97079\t1\n97082\t1\n97090\t1\n97097\t1\n97102\t1\n97103\t1\n97121\t1\n97127\t1\n97130\t1\n97137\t1\n97139\t1\n97141\t1\n97149\t1\n97154\t1\n97157\t1\n97158\t1\n97173\t1\n97187\t1\n97188\t1\n97191\t1\n97194\t1\n97201\t1\n97208\t1\n97212\t1\n97218\t1\n97225\t1\n97227\t1\n97230\t1\n97250\t1\n97252\t1\n97253\t1\n97262\t1\n97270\t1\n97272\t1\n97275\t1\n97282\t1\n97292\t1\n97310\t1\n97313\t1\n97323\t1\n97328\t1\n97339\t1\n97340\t1\n97360\t1\n97370\t1\n97373\t1\n97376\t1\n97379\t1\n97387\t1\n97405\t1\n97423\t1\n97425\t1\n97432\t1\n97442\t1\n97444\t1\n97447\t1\n97458\t1\n97462\t1\n97465\t1\n97470\t1\n97473\t1\n97480\t1\n97493\t1\n97496\t1\n97504\t1\n97506\t1\n97513\t1\n97514\t1\n97524\t1\n97531\t1\n97538\t1\n97551\t1\n97553\t1\n97556\t1\n97560\t1\n97565\t1\n97574\t1\n97583\t1\n97595\t1\n97596\t1\n97602\t1\n97606\t1\n97616\t1\n97619\t1\n97622\t1\n97627\t1\n97656\t1\n97659\t1\n97663\t1\n97665\t1\n97666\t1\n97672\t1\n97684\t1\n97693\t1\n97696\t1\n97700\t1\n97705\t1\n97708\t1\n97723\t1\n97739\t1\n97749\t1\n97750\t1\n97752\t1\n97755\t1\n97762\t1\n97769\t1\n97773\t1\n97775\t1\n97776\t1\n97780\t1\n97781\t1\n97789\t1\n97790\t1\n97820\t1\n97825\t1\n97827\t1\n97839\t1\n97847\t1\n97849\t1\n97851\t1\n97858\t1\n97873\t1\n97875\t1\n97885\t1\n97888\t1\n97892\t1\n97893\t1\n97898\t1\n97900\t1\n97908\t1\n97921\t1\n97922\t1\n97923\t1\n97928\t1\n97933\t1\n97936\t1\n97949\t1\n97951\t1\n97961\t1\n97983\t1\n97984\t1\n97987\t1\n97995\t1\n98000\t1\n98007\t1\n98015\t1\n98018\t1\n98041\t1\n98044\t1\n98045\t1\n98047\t1\n98051\t1\n98052\t1\n98053\t1\n98054\t1\n98081\t1\n98089\t1\n98097\t1\n98099\t1\n98107\t1\n98112\t1\n98115\t1\n98133\t1\n98134\t1\n98143\t1\n98146\t1\n98150\t1\n98156\t1\n98158\t1\n98161\t1\n98164\t1\n98177\t1\n98180\t1\n98181\t1\n98182\t1\n98183\t1\n98188\t1\n98195\t1\n98200\t1\n98206\t1\n98210\t1\n98213\t1\n98225\t1\n98229\t1\n98237\t1\n98239\t1\n98244\t1\n98246\t1\n98247\t1\n98250\t1\n98251\t1\n98257\t1\n98261\t1\n98266\t1\n98269\t1\n98275\t1\n98288\t1\n98298\t1\n98307\t1\n98309\t1\n98320\t1\n98325\t1\n98336\t1\n98352\t1\n98354\t1\n98355\t1\n98356\t1\n98360\t1\n98369\t1\n98373\t1\n98377\t1\n98381\t1\n98383\t1\n98400\t1\n98416\t1\n98418\t1\n98421\t1\n98434\t1\n98441\t1\n98444\t1\n98454\t1\n98459\t1\n98465\t1\n98468\t1\n98477\t1\n98503\t1\n98505\t1\n98513\t1\n98516\t1\n98526\t1\n98527\t1\n98529\t1\n98539\t1\n98543\t1\n98545\t1\n98558\t1\n98560\t1\n98565\t1\n98567\t1\n98572\t1\n98573\t1\n98578\t1\n98581\t1\n98583\t1\n98588\t1\n98595\t1\n98612\t1\n98627\t1\n98641\t1\n98648\t1\n98654\t1\n98657\t1\n98665\t1\n98670\t1\n98676\t1\n98686\t1\n98693\t1\n98702\t1\n98707\t1\n98714\t1\n98715\t1\n98719\t1\n98725\t1\n98737\t1\n98739\t1\n98741\t1\n98743\t1\n98750\t1\n98753\t1\n98760\t1\n98764\t1\n98769\t1\n98777\t1\n98808\t1\n98811\t1\n98827\t1\n98832\t1\n98833\t1\n98837\t1\n98847\t1\n98859\t1\n98860\t1\n98861\t1\n98862\t1\n98863\t1\n98871\t1\n98874\t1\n98875\t1\n98882\t1\n98884\t1\n98885\t1\n98890\t1\n98900\t1\n98913\t1\n98918\t1\n98920\t1\n98923\t1\n98931\t1\n98935\t1\n98947\t1\n98956\t1\n98959\t1\n98960\t1\n98961\t1\n98962\t1\n98963\t1\n98977\t1\n98983\t1\n98989\t1\n11\t2\n15\t2\n21\t2\n31\t2\n37\t2\n46\t2\n63\t2\n67\t2\n75\t2\n77\t2\n84\t2\n99\t2\n105\t2\n115\t2\n121\t2\n125\t2\n148\t2\n149\t2\n152\t2\n165\t2\n166\t2\n177\t2\n183\t2\n186\t2\n194\t2\n197\t2\n214\t2\n224\t2\n228\t2\n239\t2\n255\t2\n259\t2\n262\t2\n264\t2\n272\t2\n273\t2\n274\t2\n276\t2\n289\t2\n297\t2\n298\t2\n299\t2\n303\t2\n304\t2\n309\t2\n313\t2\n317\t2\n330\t2\n333\t2\n352\t2\n353\t2\n357\t2\n363\t2\n372\t2\n373\t2\n382\t2\n386\t2\n392\t2\n394\t2\n396\t2\n405\t2\n416\t2\n418\t2\n421\t2\n428\t2\n429\t2\n430\t2\n434\t2\n440\t2\n447\t2\n448\t2\n450\t2\n458\t2\n477\t2\n480\t2\n490\t2\n491\t2\n502\t2\n504\t2\n508\t2\n526\t2\n541\t2\n553\t2\n555\t2\n560\t2\n569\t2\n570\t2\n572\t2\n586\t2\n596\t2\n611\t2\n613\t2\n620\t2\n625\t2\n631\t2\n634\t2\n640\t2\n653\t2\n668\t2\n673\t2\n684\t2\n686\t2\n699\t2\n703\t2\n709\t2\n712\t2\n718\t2\n719\t2\n722\t2\n724\t2\n731\t2\n733\t2\n738\t2\n743\t2\n756\t2\n767\t2\n770\t2\n775\t2\n778\t2\n779\t2\n786\t2\n792\t2\n796\t2\n804\t2\n813\t2\n818\t2\n819\t2\n824\t2\n826\t2\n830\t2\n835\t2\n836\t2\n843\t2\n848\t2\n850\t2\n853\t2\n854\t2\n869\t2\n871\t2\n875\t2\n878\t2\n891\t2\n894\t2\n895\t2\n900\t2\n901\t2\n914\t2\n915\t2\n918\t2\n921\t2\n922\t2\n923\t2\n936\t2\n938\t2\n940\t2\n941\t2\n943\t2\n944\t2\n965\t2\n966\t2\n979\t2\n987\t2\n990\t2\n1004\t2\n1006\t2\n1007\t2\n1008\t2\n1016\t2\n1022\t2\n1030\t2\n1033\t2\n1037\t2\n1038\t2\n1044\t2\n1063\t2\n1087\t2\n1092\t2\n1097\t2\n1109\t2\n1121\t2\n1140\t2\n1152\t2\n1164\t2\n1175\t2\n1181\t2\n1182\t2\n1196\t2\n1202\t2\n1204\t2\n1212\t2\n1214\t2\n1233\t2\n1239\t2\n1240\t2\n1241\t2\n1246\t2\n1253\t2\n1262\t2\n1275\t2\n1281\t2\n1283\t2\n1295\t2\n1296\t2\n1307\t2\n1308\t2\n1317\t2\n1320\t2\n1327\t2\n1334\t2\n1340\t2\n1356\t2\n1360\t2\n1362\t2\n1367\t2\n1371\t2\n1372\t2\n1400\t2\n1401\t2\n1408\t2\n1415\t2\n1418\t2\n1421\t2\n1427\t2\n1428\t2\n1433\t2\n1437\t2\n1440\t2\n1442\t2\n1446\t2\n1459\t2\n1460\t2\n1461\t2\n1463\t2\n1465\t2\n1471\t2\n1481\t2\n1485\t2\n1521\t2\n1526\t2\n1548\t2\n1549\t2\n1556\t2\n1558\t2\n1559\t2\n1561\t2\n1566\t2\n1567\t2\n1570\t2\n1587\t2\n1588\t2\n1606\t2\n1610\t2\n1611\t2\n1619\t2\n1628\t2\n1630\t2\n1634\t2\n1636\t2\n1639\t2\n1643\t2\n1653\t2\n1664\t2\n1675\t2\n1679\t2\n1695\t2\n1698\t2\n1704\t2\n1716\t2\n1724\t2\n1740\t2\n1751\t2\n1762\t2\n1763\t2\n1785\t2\n1792\t2\n1801\t2\n1809\t2\n1813\t2\n1820\t2\n1821\t2\n1823\t2\n1831\t2\n1834\t2\n1837\t2\n1847\t2\n1849\t2\n1858\t2\n1899\t2\n1909\t2\n1919\t2\n1923\t2\n1929\t2\n1944\t2\n1949\t2\n1964\t2\n1965\t2\n1986\t2\n2006\t2\n2013\t2\n2023\t2\n2031\t2\n2035\t2\n2044\t2\n2045\t2\n2048\t2\n2049\t2\n2059\t2\n2060\t2\n2062\t2\n2069\t2\n2077\t2\n2079\t2\n2086\t2\n2096\t2\n2097\t2\n2098\t2\n2104\t2\n2108\t2\n2113\t2\n2115\t2\n2116\t2\n2117\t2\n2122\t2\n2138\t2\n2156\t2\n2160\t2\n2166\t2\n2182\t2\n2183\t2\n2187\t2\n2193\t2\n2208\t2\n2210\t2\n2215\t2\n2216\t2\n2217\t2\n2228\t2\n2229\t2\n2230\t2\n2236\t2\n2243\t2\n2252\t2\n2253\t2\n2256\t2\n2263\t2\n2266\t2\n2270\t2\n2271\t2\n2283\t2\n2285\t2\n2288\t2\n2295\t2\n2296\t2\n2299\t2\n2301\t2\n2314\t2\n2320\t2\n2324\t2\n2326\t2\n2327\t2\n2328\t2\n2332\t2\n2342\t2\n2356\t2\n2360\t2\n2367\t2\n2371\t2\n2376\t2\n2379\t2\n2381\t2\n2390\t2\n2395\t2\n2407\t2\n2408\t2\n2410\t2\n2415\t2\n2419\t2\n2424\t2\n2430\t2\n2431\t2\n2438\t2\n2439\t2\n2447\t2\n2449\t2\n2467\t2\n2472\t2\n2484\t2\n2486\t2\n2496\t2\n2497\t2\n2506\t2\n2508\t2\n2509\t2\n2512\t2\n2516\t2\n2518\t2\n2532\t2\n2535\t2\n2551\t2\n2555\t2\n2561\t2\n2568\t2\n2573\t2\n2578\t2\n2579\t2\n2580\t2\n2585\t2\n2587\t2\n2600\t2\n2608\t2\n2615\t2\n2619\t2\n2628\t2\n2635\t2\n2638\t2\n2649\t2\n2656\t2\n2660\t2\n2667\t2\n2675\t2\n2681\t2\n2684\t2\n2687\t2\n2696\t2\n2699\t2\n2720\t2\n2721\t2\n2722\t2\n2739\t2\n2750\t2\n2758\t2\n2759\t2\n2761\t2\n2794\t2\n2799\t2\n2806\t2\n2808\t2\n2820\t2\n2821\t2\n2830\t2\n2840\t2\n2842\t2\n2845\t2\n2852\t2\n2859\t2\n2861\t2\n2862\t2\n2868\t2\n2882\t2\n2885\t2\n2889\t2\n2891\t2\n2934\t2\n2937\t2\n2942\t2\n2950\t2\n2963\t2\n2972\t2\n2975\t2\n2977\t2\n2994\t2\n2999\t2\n3009\t2\n3013\t2\n3014\t2\n3015\t2\n3018\t2\n3019\t2\n3023\t2\n3029\t2\n3035\t2\n3043\t2\n3047\t2\n3049\t2\n3055\t2\n3060\t2\n3062\t2\n3064\t2\n3080\t2\n3084\t2\n3090\t2\n3091\t2\n3116\t2\n3124\t2\n3136\t2\n3137\t2\n3139\t2\n3143\t2\n3154\t2\n3174\t2\n3180\t2\n3182\t2\n3184\t2\n3210\t2\n3222\t2\n3225\t2\n3226\t2\n3228\t2\n3261\t2\n3263\t2\n3272\t2\n3280\t2\n3281\t2\n3284\t2\n3293\t2\n3300\t2\n3301\t2\n3302\t2\n3304\t2\n3312\t2\n3320\t2\n3322\t2\n3325\t2\n3331\t2\n3340\t2\n3344\t2\n3352\t2\n3355\t2\n3359\t2\n3370\t2\n3378\t2\n3379\t2\n3386\t2\n3392\t2\n3396\t2\n3401\t2\n3406\t2\n3435\t2\n3448\t2\n3460\t2\n3463\t2\n3466\t2\n3474\t2\n3480\t2\n3491\t2\n3494\t2\n3495\t2\n3498\t2\n3504\t2\n3522\t2\n3531\t2\n3533\t2\n3540\t2\n3548\t2\n3552\t2\n3554\t2\n3556\t2\n3565\t2\n3585\t2\n3588\t2\n3593\t2\n3598\t2\n3602\t2\n3606\t2\n3619\t2\n3629\t2\n3634\t2\n3642\t2\n3649\t2\n3654\t2\n3658\t2\n3661\t2\n3662\t2\n3663\t2\n3674\t2\n3678\t2\n3697\t2\n3702\t2\n3712\t2\n3722\t2\n3727\t2\n3729\t2\n3732\t2\n3738\t2\n3745\t2\n3747\t2\n3758\t2\n3772\t2\n3776\t2\n3783\t2\n3788\t2\n3791\t2\n3798\t2\n3804\t2\n3806\t2\n3813\t2\n3818\t2\n3825\t2\n3829\t2\n3835\t2\n3850\t2\n3853\t2\n3871\t2\n3874\t2\n3875\t2\n3885\t2\n3888\t2\n3893\t2\n3896\t2\n3900\t2\n3904\t2\n3909\t2\n3910\t2\n3911\t2\n3916\t2\n3917\t2\n3919\t2\n3922\t2\n3931\t2\n3934\t2\n3936\t2\n3946\t2\n3975\t2\n3980\t2\n3989\t2\n3990\t2\n3991\t2\n3995\t2\n3996\t2\n3998\t2\n4018\t2\n4021\t2\n4024\t2\n4032\t2\n4035\t2\n4038\t2\n4040\t2\n4044\t2\n4047\t2\n4053\t2\n4055\t2\n4056\t2\n4070\t2\n4072\t2\n4075\t2\n4079\t2\n4081\t2\n4084\t2\n4093\t2\n4107\t2\n4109\t2\n4110\t2\n4112\t2\n4122\t2\n4125\t2\n4127\t2\n4143\t2\n4146\t2\n4186\t2\n4189\t2\n4204\t2\n4207\t2\n4229\t2\n4233\t2\n4238\t2\n4239\t2\n4240\t2\n4242\t2\n4248\t2\n4257\t2\n4259\t2\n4261\t2\n4263\t2\n4267\t2\n4268\t2\n4276\t2\n4285\t2\n4286\t2\n4290\t2\n4294\t2\n4295\t2\n4298\t2\n4303\t2\n4309\t2\n4329\t2\n4332\t2\n4334\t2\n4337\t2\n4338\t2\n4348\t2\n4354\t2\n4360\t2\n4365\t2\n4366\t2\n4370\t2\n4373\t2\n4386\t2\n4393\t2\n4400\t2\n4401\t2\n4419\t2\n4420\t2\n4421\t2\n4431\t2\n4435\t2\n4438\t2\n4439\t2\n4443\t2\n4447\t2\n4450\t2\n4457\t2\n4458\t2\n4460\t2\n4461\t2\n4465\t2\n4478\t2\n4480\t2\n4483\t2\n4494\t2\n4499\t2\n4500\t2\n4509\t2\n4529\t2\n4540\t2\n4551\t2\n4558\t2\n4570\t2\n4585\t2\n4606\t2\n4607\t2\n4609\t2\n4618\t2\n4621\t2\n4625\t2\n4626\t2\n4628\t2\n4636\t2\n4638\t2\n4646\t2\n4648\t2\n4649\t2\n4650\t2\n4653\t2\n4654\t2\n4658\t2\n4664\t2\n4669\t2\n4686\t2\n4691\t2\n4702\t2\n4706\t2\n4708\t2\n4744\t2\n4753\t2\n4762\t2\n4766\t2\n4771\t2\n4773\t2\n4775\t2\n4785\t2\n4789\t2\n4790\t2\n4795\t2\n4798\t2\n4800\t2\n4803\t2\n4807\t2\n4813\t2\n4819\t2\n4821\t2\n4828\t2\n4835\t2\n4836\t2\n4841\t2\n4848\t2\n4854\t2\n4857\t2\n4863\t2\n4864\t2\n4872\t2\n4873\t2\n4879\t2\n4886\t2\n4897\t2\n4898\t2\n4929\t2\n4930\t2\n4937\t2\n4938\t2\n4942\t2\n4950\t2\n4952\t2\n4955\t2\n4956\t2\n4967\t2\n4983\t2\n4992\t2\n4993\t2\n5007\t2\n5008\t2\n5009\t2\n5011\t2\n5014\t2\n5017\t2\n5018\t2\n5028\t2\n5035\t2\n5036\t2\n5045\t2\n5049\t2\n5050\t2\n5052\t2\n5058\t2\n5067\t2\n5073\t2\n5080\t2\n5088\t2\n5093\t2\n5095\t2\n5096\t2\n5103\t2\n5104\t2\n5105\t2\n5107\t2\n5111\t2\n5127\t2\n5138\t2\n5139\t2\n5140\t2\n5144\t2\n5151\t2\n5153\t2\n5160\t2\n5161\t2\n5167\t2\n5175\t2\n5187\t2\n5191\t2\n5199\t2\n5220\t2\n5221\t2\n5224\t2\n5234\t2\n5250\t2\n5257\t2\n5259\t2\n5260\t2\n5265\t2\n5278\t2\n5287\t2\n5289\t2\n5293\t2\n5313\t2\n5332\t2\n5334\t2\n5336\t2\n5339\t2\n5348\t2\n5356\t2\n5359\t2\n5368\t2\n5376\t2\n5378\t2\n5393\t2\n5394\t2\n5403\t2\n5406\t2\n5411\t2\n5433\t2\n5447\t2\n5448\t2\n5449\t2\n5460\t2\n5478\t2\n5484\t2\n5491\t2\n5497\t2\n5499\t2\n5502\t2\n5503\t2\n5504\t2\n5512\t2\n5519\t2\n5521\t2\n5545\t2\n5548\t2\n5554\t2\n5556\t2\n5572\t2\n5573\t2\n5590\t2\n5591\t2\n5593\t2\n5602\t2\n5604\t2\n5605\t2\n5610\t2\n5612\t2\n5625\t2\n5636\t2\n5643\t2\n5647\t2\n5658\t2\n5660\t2\n5670\t2\n5672\t2\n5675\t2\n5676\t2\n5688\t2\n5690\t2\n5693\t2\n5705\t2\n5706\t2\n5708\t2\n5711\t2\n5726\t2\n5734\t2\n5748\t2\n5752\t2\n5756\t2\n5757\t2\n5762\t2\n5768\t2\n5782\t2\n5788\t2\n5797\t2\n5801\t2\n5802\t2\n5804\t2\n5815\t2\n5816\t2\n5819\t2\n5822\t2\n5828\t2\n5834\t2\n5837\t2\n5839\t2\n5841\t2\n5860\t2\n5877\t2\n5894\t2\n5903\t2\n5910\t2\n5927\t2\n5931\t2\n5934\t2\n5936\t2\n5940\t2\n5941\t2\n5956\t2\n5957\t2\n5961\t2\n5969\t2\n5981\t2\n5984\t2\n6003\t2\n6005\t2\n6006\t2\n6008\t2\n6011\t2\n6018\t2\n6020\t2\n6022\t2\n6027\t2\n6035\t2\n6039\t2\n6045\t2\n6054\t2\n6058\t2\n6060\t2\n6063\t2\n6079\t2\n6085\t2\n6089\t2\n6091\t2\n6096\t2\n6098\t2\n6100\t2\n6125\t2\n6139\t2\n6145\t2\n6147\t2\n6154\t2\n6158\t2\n6161\t2\n6163\t2\n6168\t2\n6174\t2\n6190\t2\n6192\t2\n6194\t2\n6195\t2\n6197\t2\n6198\t2\n6203\t2\n6208\t2\n6212\t2\n6214\t2\n6223\t2\n6224\t2\n6230\t2\n6237\t2\n6243\t2\n6263\t2\n6266\t2\n6276\t2\n6290\t2\n6291\t2\n6292\t2\n6298\t2\n6300\t2\n6301\t2\n6304\t2\n6308\t2\n6309\t2\n6315\t2\n6322\t2\n6323\t2\n6332\t2\n6334\t2\n6338\t2\n6360\t2\n6362\t2\n6370\t2\n6378\t2\n6382\t2\n6383\t2\n6384\t2\n6389\t2\n6394\t2\n6396\t2\n6397\t2\n6403\t2\n6406\t2\n6408\t2\n6409\t2\n6414\t2\n6418\t2\n6419\t2\n6434\t2\n6439\t2\n6440\t2\n6442\t2\n6443\t2\n6449\t2\n6454\t2\n6457\t2\n6462\t2\n6469\t2\n6471\t2\n6481\t2\n6484\t2\n6486\t2\n6502\t2\n6507\t2\n6509\t2\n6536\t2\n6549\t2\n6550\t2\n6553\t2\n6556\t2\n6563\t2\n6575\t2\n6579\t2\n6580\t2\n6582\t2\n6585\t2\n6589\t2\n6598\t2\n6599\t2\n6613\t2\n6615\t2\n6620\t2\n6625\t2\n6627\t2\n6628\t2\n6629\t2\n6634\t2\n6640\t2\n6650\t2\n6656\t2\n6659\t2\n6661\t2\n6666\t2\n6678\t2\n6681\t2\n6688\t2\n6700\t2\n6705\t2\n6721\t2\n6732\t2\n6737\t2\n6754\t2\n6771\t2\n6776\t2\n6778\t2\n6782\t2\n6785\t2\n6790\t2\n6793\t2\n6809\t2\n6812\t2\n6834\t2\n6836\t2\n6841\t2\n6847\t2\n6852\t2\n6853\t2\n6854\t2\n6855\t2\n6857\t2\n6863\t2\n6871\t2\n6878\t2\n6886\t2\n6895\t2\n6903\t2\n6908\t2\n6911\t2\n6925\t2\n6933\t2\n6937\t2\n6938\t2\n6944\t2\n6949\t2\n6951\t2\n6955\t2\n6956\t2\n6966\t2\n6967\t2\n6976\t2\n6980\t2\n6984\t2\n6987\t2\n7001\t2\n7002\t2\n7003\t2\n7005\t2\n7008\t2\n7025\t2\n7032\t2\n7039\t2\n7048\t2\n7054\t2\n7056\t2\n7059\t2\n7061\t2\n7066\t2\n7069\t2\n7070\t2\n7072\t2\n7073\t2\n7088\t2\n7091\t2\n7092\t2\n7094\t2\n7095\t2\n7102\t2\n7107\t2\n7117\t2\n7121\t2\n7124\t2\n7128\t2\n7137\t2\n7144\t2\n7145\t2\n7150\t2\n7152\t2\n7170\t2\n7179\t2\n7193\t2\n7194\t2\n7196\t2\n7207\t2\n7210\t2\n7211\t2\n7212\t2\n7215\t2\n7219\t2\n7232\t2\n7235\t2\n7238\t2\n7242\t2\n7248\t2\n7277\t2\n7281\t2\n7283\t2\n7291\t2\n7293\t2\n7294\t2\n7295\t2\n7296\t2\n7306\t2\n7308\t2\n7314\t2\n7317\t2\n7322\t2\n7324\t2\n7327\t2\n7342\t2\n7343\t2\n7347\t2\n7361\t2\n7366\t2\n7370\t2\n7380\t2\n7394\t2\n7396\t2\n7406\t2\n7407\t2\n7409\t2\n7413\t2\n7422\t2\n7432\t2\n7436\t2\n7443\t2\n7444\t2\n7446\t2\n7449\t2\n7470\t2\n7472\t2\n7486\t2\n7496\t2\n7499\t2\n7501\t2\n7506\t2\n7520\t2\n7527\t2\n7542\t2\n7547\t2\n7548\t2\n7550\t2\n7556\t2\n7572\t2\n7582\t2\n7586\t2\n7588\t2\n7593\t2\n7597\t2\n7598\t2\n7600\t2\n7603\t2\n7605\t2\n7609\t2\n7611\t2\n7612\t2\n7620\t2\n7632\t2\n7637\t2\n7646\t2\n7678\t2\n7681\t2\n7688\t2\n7689\t2\n7690\t2\n7708\t2\n7714\t2\n7716\t2\n7717\t2\n7722\t2\n7724\t2\n7730\t2\n7740\t2\n7748\t2\n7760\t2\n7762\t2\n7763\t2\n7767\t2\n7779\t2\n7785\t2\n7789\t2\n7797\t2\n7803\t2\n7807\t2\n7813\t2\n7827\t2\n7841\t2\n7849\t2\n7862\t2\n7873\t2\n7875\t2\n7878\t2\n7885\t2\n7888\t2\n7889\t2\n7900\t2\n7906\t2\n7912\t2\n7913\t2\n7914\t2\n7926\t2\n7938\t2\n7953\t2\n7956\t2\n7965\t2\n7967\t2\n7969\t2\n7971\t2\n7977\t2\n7980\t2\n7984\t2\n7985\t2\n7991\t2\n7993\t2\n8004\t2\n8008\t2\n8016\t2\n8017\t2\n8024\t2\n8033\t2\n8035\t2\n8036\t2\n8046\t2\n8051\t2\n8056\t2\n8057\t2\n8058\t2\n8059\t2\n8064\t2\n8068\t2\n8070\t2\n8071\t2\n8072\t2\n8077\t2\n8080\t2\n8081\t2\n8083\t2\n8086\t2\n8089\t2\n8099\t2\n8107\t2\n8116\t2\n8123\t2\n8125\t2\n8141\t2\n8153\t2\n8165\t2\n8169\t2\n8183\t2\n8185\t2\n8186\t2\n8195\t2\n8203\t2\n8210\t2\n8217\t2\n8220\t2\n8221\t2\n8223\t2\n8226\t2\n8234\t2\n8235\t2\n8246\t2\n8251\t2\n8254\t2\n8257\t2\n8269\t2\n8271\t2\n8280\t2\n8284\t2\n8318\t2\n8324\t2\n8329\t2\n8345\t2\n8346\t2\n8353\t2\n8359\t2\n8366\t2\n8371\t2\n8377\t2\n8382\t2\n8383\t2\n8385\t2\n8398\t2\n8399\t2\n8402\t2\n8410\t2\n8442\t2\n8443\t2\n8446\t2\n8452\t2\n8453\t2\n8473\t2\n8476\t2\n8478\t2\n8479\t2\n8480\t2\n8488\t2\n8492\t2\n8496\t2\n8498\t2\n8502\t2\n8503\t2\n8513\t2\n8553\t2\n8557\t2\n8560\t2\n8564\t2\n8576\t2\n8581\t2\n8602\t2\n8605\t2\n8607\t2\n8608\t2\n8615\t2\n8617\t2\n8622\t2\n8630\t2\n8641\t2\n8643\t2\n8647\t2\n8649\t2\n8655\t2\n8674\t2\n8680\t2\n8695\t2\n8698\t2\n8704\t2\n8716\t2\n8740\t2\n8746\t2\n8748\t2\n8754\t2\n8772\t2\n8774\t2\n8790\t2\n8803\t2\n8817\t2\n8820\t2\n8821\t2\n8831\t2\n8840\t2\n8858\t2\n8866\t2\n8867\t2\n8872\t2\n8888\t2\n8895\t2\n8899\t2\n8904\t2\n8907\t2\n8913\t2\n8917\t2\n8925\t2\n8936\t2\n8940\t2\n8944\t2\n8946\t2\n8949\t2\n8954\t2\n8962\t2\n8967\t2\n8971\t2\n8981\t2\n8984\t2\n8993\t2\n8994\t2\n9000\t2\n9001\t2\n9005\t2\n9007\t2\n9008\t2\n9018\t2\n9025\t2\n9029\t2\n9046\t2\n9047\t2\n9051\t2\n9053\t2\n9072\t2\n9074\t2\n9076\t2\n9083\t2\n9091\t2\n9098\t2\n9099\t2\n9104\t2\n9119\t2\n9120\t2\n9122\t2\n9124\t2\n9125\t2\n9132\t2\n9133\t2\n9146\t2\n9149\t2\n9151\t2\n9153\t2\n9156\t2\n9157\t2\n9158\t2\n9161\t2\n9166\t2\n9172\t2\n9176\t2\n9179\t2\n9190\t2\n9197\t2\n9210\t2\n9216\t2\n9217\t2\n9218\t2\n9228\t2\n9230\t2\n9231\t2\n9235\t2\n9236\t2\n9238\t2\n9242\t2\n9245\t2\n9254\t2\n9256\t2\n9260\t2\n9261\t2\n9266\t2\n9269\t2\n9274\t2\n9282\t2\n9287\t2\n9295\t2\n9300\t2\n9308\t2\n9318\t2\n9321\t2\n9325\t2\n9328\t2\n9333\t2\n9335\t2\n9343\t2\n9346\t2\n9347\t2\n9354\t2\n9365\t2\n9368\t2\n9369\t2\n9371\t2\n9384\t2\n9390\t2\n9396\t2\n9398\t2\n9401\t2\n9402\t2\n9406\t2\n9409\t2\n9411\t2\n9414\t2\n9421\t2\n9428\t2\n9430\t2\n9432\t2\n9437\t2\n9442\t2\n9463\t2\n9470\t2\n9475\t2\n9477\t2\n9483\t2\n9492\t2\n9495\t2\n9497\t2\n9499\t2\n9506\t2\n9523\t2\n9531\t2\n9536\t2\n9552\t2\n9553\t2\n9558\t2\n9560\t2\n9561\t2\n9566\t2\n9570\t2\n9572\t2\n9574\t2\n9581\t2\n9586\t2\n9588\t2\n9596\t2\n9598\t2\n9600\t2\n9602\t2\n9611\t2\n9613\t2\n9619\t2\n9620\t2\n9622\t2\n9628\t2\n9639\t2\n9648\t2\n9654\t2\n9656\t2\n9661\t2\n9668\t2\n9669\t2\n9670\t2\n9671\t2\n9677\t2\n9681\t2\n9684\t2\n9690\t2\n9705\t2\n9717\t2\n9729\t2\n9732\t2\n9733\t2\n9737\t2\n9740\t2\n9744\t2\n9749\t2\n9750\t2\n9751\t2\n9761\t2\n9763\t2\n9765\t2\n9767\t2\n9773\t2\n9776\t2\n9784\t2\n9794\t2\n9798\t2\n9802\t2\n9806\t2\n9817\t2\n9819\t2\n9822\t2\n9823\t2\n9825\t2\n9829\t2\n9843\t2\n9847\t2\n9853\t2\n9855\t2\n9863\t2\n9865\t2\n9866\t2\n9869\t2\n9872\t2\n9875\t2\n9877\t2\n9881\t2\n9891\t2\n9902\t2\n9916\t2\n9920\t2\n9922\t2\n9937\t2\n9939\t2\n9942\t2\n9945\t2\n9952\t2\n9960\t2\n9965\t2\n9970\t2\n9980\t2\n9983\t2\n9986\t2\n9993\t2\n10001\t2\n10002\t2\n10004\t2\n10016\t2\n10017\t2\n10022\t2\n10026\t2\n10033\t2\n10036\t2\n10041\t2\n10047\t2\n10056\t2\n10062\t2\n10067\t2\n10094\t2\n10135\t2\n10139\t2\n10145\t2\n10150\t2\n10153\t2\n10165\t2\n10166\t2\n10172\t2\n10175\t2\n10177\t2\n10182\t2\n10184\t2\n10193\t2\n10194\t2\n10196\t2\n10210\t2\n10219\t2\n10226\t2\n10232\t2\n10239\t2\n10245\t2\n10255\t2\n10258\t2\n10261\t2\n10262\t2\n10264\t2\n10268\t2\n10270\t2\n10272\t2\n10273\t2\n10279\t2\n10288\t2\n10302\t2\n10303\t2\n10313\t2\n10325\t2\n10326\t2\n10330\t2\n10346\t2\n10359\t2\n10364\t2\n10366\t2\n10373\t2\n10379\t2\n10383\t2\n10388\t2\n10395\t2\n10400\t2\n10403\t2\n10412\t2\n10417\t2\n10419\t2\n10431\t2\n10438\t2\n10439\t2\n10446\t2\n10447\t2\n10448\t2\n10451\t2\n10458\t2\n10473\t2\n10475\t2\n10481\t2\n10483\t2\n10487\t2\n10507\t2\n10510\t2\n10520\t2\n10522\t2\n10523\t2\n10525\t2\n10527\t2\n10545\t2\n10549\t2\n10551\t2\n10563\t2\n10570\t2\n10574\t2\n10579\t2\n10584\t2\n10592\t2\n10597\t2\n10602\t2\n10606\t2\n10610\t2\n10613\t2\n10616\t2\n10622\t2\n10623\t2\n10624\t2\n10629\t2\n10632\t2\n10634\t2\n10637\t2\n10639\t2\n10641\t2\n10642\t2\n10645\t2\n10647\t2\n10648\t2\n10649\t2\n10674\t2\n10688\t2\n10700\t2\n10705\t2\n10706\t2\n10708\t2\n10712\t2\n10724\t2\n10743\t2\n10745\t2\n10750\t2\n10751\t2\n10756\t2\n10761\t2\n10763\t2\n10774\t2\n10777\t2\n10780\t2\n10785\t2\n10790\t2\n10793\t2\n10800\t2\n10821\t2\n10826\t2\n10828\t2\n10830\t2\n10833\t2\n10841\t2\n10844\t2\n10846\t2\n10851\t2\n10857\t2\n10859\t2\n10867\t2\n10888\t2\n10890\t2\n10899\t2\n10902\t2\n10904\t2\n10907\t2\n10912\t2\n10919\t2\n10923\t2\n10924\t2\n10927\t2\n10936\t2\n10937\t2\n10943\t2\n10946\t2\n10952\t2\n10959\t2\n10961\t2\n10964\t2\n10968\t2\n10969\t2\n10974\t2\n10975\t2\n10985\t2\n10989\t2\n10993\t2\n10995\t2\n10996\t2\n10997\t2\n11006\t2\n11008\t2\n11018\t2\n11027\t2\n11037\t2\n11039\t2\n11040\t2\n11041\t2\n11043\t2\n11049\t2\n11086\t2\n11087\t2\n11089\t2\n11102\t2\n11106\t2\n11110\t2\n11111\t2\n11113\t2\n11118\t2\n11122\t2\n11128\t2\n11130\t2\n11132\t2\n11135\t2\n11150\t2\n11151\t2\n11157\t2\n11161\t2\n11164\t2\n11171\t2\n11175\t2\n11184\t2\n11188\t2\n11189\t2\n11202\t2\n11205\t2\n11218\t2\n11220\t2\n11244\t2\n11252\t2\n11254\t2\n11264\t2\n11273\t2\n11276\t2\n11284\t2\n11289\t2\n11291\t2\n11292\t2\n11323\t2\n11326\t2\n11329\t2\n11345\t2\n11356\t2\n11357\t2\n11369\t2\n11370\t2\n11372\t2\n11388\t2\n11403\t2\n11409\t2\n11411\t2\n11415\t2\n11416\t2\n11419\t2\n11420\t2\n11427\t2\n11431\t2\n11434\t2\n11438\t2\n11442\t2\n11443\t2\n11445\t2\n11447\t2\n11448\t2\n11449\t2\n11465\t2\n11469\t2\n11470\t2\n11477\t2\n11481\t2\n11498\t2\n11500\t2\n11502\t2\n11503\t2\n11504\t2\n11521\t2\n11522\t2\n11525\t2\n11526\t2\n11533\t2\n11535\t2\n11546\t2\n11551\t2\n11556\t2\n11562\t2\n11567\t2\n11568\t2\n11572\t2\n11574\t2\n11605\t2\n11609\t2\n11621\t2\n11625\t2\n11626\t2\n11630\t2\n11635\t2\n11640\t2\n11643\t2\n11647\t2\n11649\t2\n11660\t2\n11664\t2\n11670\t2\n11677\t2\n11701\t2\n11711\t2\n11713\t2\n11724\t2\n11726\t2\n11734\t2\n11735\t2\n11747\t2\n11749\t2\n11753\t2\n11760\t2\n11762\t2\n11766\t2\n11783\t2\n11787\t2\n11794\t2\n11797\t2\n11798\t2\n11799\t2\n11800\t2\n11807\t2\n11809\t2\n11810\t2\n11815\t2\n11821\t2\n11822\t2\n11824\t2\n11828\t2\n11835\t2\n11849\t2\n11850\t2\n11857\t2\n11859\t2\n11866\t2\n11867\t2\n11869\t2\n11870\t2\n11876\t2\n11879\t2\n11901\t2\n11904\t2\n11905\t2\n11909\t2\n11946\t2\n11949\t2\n11964\t2\n11967\t2\n11968\t2\n11972\t2\n11978\t2\n11984\t2\n11987\t2\n11998\t2\n12005\t2\n12011\t2\n12012\t2\n12017\t2\n12021\t2\n12022\t2\n12026\t2\n12041\t2\n12046\t2\n12058\t2\n12059\t2\n12063\t2\n12067\t2\n12078\t2\n12084\t2\n12088\t2\n12091\t2\n12103\t2\n12104\t2\n12105\t2\n12113\t2\n12124\t2\n12127\t2\n12130\t2\n12139\t2\n12150\t2\n12154\t2\n12162\t2\n12169\t2\n12174\t2\n12179\t2\n12194\t2\n12201\t2\n12217\t2\n12225\t2\n12230\t2\n12231\t2\n12234\t2\n12243\t2\n12250\t2\n12254\t2\n12268\t2\n12271\t2\n12275\t2\n12276\t2\n12282\t2\n12283\t2\n12290\t2\n12292\t2\n12293\t2\n12303\t2\n12312\t2\n12328\t2\n12330\t2\n12333\t2\n12353\t2\n12367\t2\n12368\t2\n12369\t2\n12373\t2\n12386\t2\n12405\t2\n12411\t2\n12418\t2\n12421\t2\n12426\t2\n12445\t2\n12447\t2\n12449\t2\n12451\t2\n12452\t2\n12459\t2\n12470\t2\n12474\t2\n12478\t2\n12479\t2\n12481\t2\n12496\t2\n12499\t2\n12510\t2\n12517\t2\n12518\t2\n12526\t2\n12547\t2\n12549\t2\n12555\t2\n12570\t2\n12574\t2\n12577\t2\n12588\t2\n12589\t2\n12590\t2\n12593\t2\n12598\t2\n12603\t2\n12604\t2\n12607\t2\n12613\t2\n12617\t2\n12619\t2\n12627\t2\n12633\t2\n12642\t2\n12653\t2\n12658\t2\n12659\t2\n12662\t2\n12669\t2\n12670\t2\n12678\t2\n12701\t2\n12703\t2\n12706\t2\n12709\t2\n12710\t2\n12712\t2\n12715\t2\n12719\t2\n12720\t2\n12722\t2\n12727\t2\n12729\t2\n12732\t2\n12737\t2\n12741\t2\n12751\t2\n12759\t2\n12776\t2\n12781\t2\n12792\t2\n12799\t2\n12802\t2\n12808\t2\n12814\t2\n12823\t2\n12833\t2\n12838\t2\n12854\t2\n12856\t2\n12861\t2\n12865\t2\n12868\t2\n12871\t2\n12878\t2\n12884\t2\n12922\t2\n12927\t2\n12929\t2\n12938\t2\n12944\t2\n12951\t2\n12952\t2\n12954\t2\n12962\t2\n12976\t2\n12980\t2\n12987\t2\n12995\t2\n13004\t2\n13006\t2\n13009\t2\n13012\t2\n13016\t2\n13021\t2\n13025\t2\n13028\t2\n13031\t2\n13036\t2\n13048\t2\n13055\t2\n13059\t2\n13061\t2\n13065\t2\n13067\t2\n13072\t2\n13074\t2\n13075\t2\n13078\t2\n13084\t2\n13091\t2\n13097\t2\n13098\t2\n13101\t2\n13105\t2\n13111\t2\n13114\t2\n13130\t2\n13134\t2\n13164\t2\n13176\t2\n13185\t2\n13189\t2\n13192\t2\n13197\t2\n13200\t2\n13205\t2\n13211\t2\n13213\t2\n13214\t2\n13215\t2\n13223\t2\n13225\t2\n13226\t2\n13230\t2\n13235\t2\n13243\t2\n13245\t2\n13254\t2\n13259\t2\n13279\t2\n13285\t2\n13286\t2\n13289\t2\n13290\t2\n13291\t2\n13304\t2\n13307\t2\n13311\t2\n13313\t2\n13315\t2\n13328\t2\n13343\t2\n13346\t2\n13353\t2\n13365\t2\n13371\t2\n13376\t2\n13378\t2\n13381\t2\n13393\t2\n13394\t2\n13409\t2\n13423\t2\n13424\t2\n13428\t2\n13431\t2\n13437\t2\n13438\t2\n13452\t2\n13457\t2\n13459\t2\n13460\t2\n13462\t2\n13467\t2\n13482\t2\n13484\t2\n13491\t2\n13493\t2\n13494\t2\n13497\t2\n13498\t2\n13502\t2\n13504\t2\n13517\t2\n13520\t2\n13527\t2\n13528\t2\n13529\t2\n13532\t2\n13539\t2\n13540\t2\n13543\t2\n13544\t2\n13565\t2\n13576\t2\n13577\t2\n13578\t2\n13580\t2\n13602\t2\n13610\t2\n13626\t2\n13639\t2\n13646\t2\n13648\t2\n13663\t2\n13679\t2\n13681\t2\n13684\t2\n13685\t2\n13699\t2\n13700\t2\n13703\t2\n13709\t2\n13711\t2\n13712\t2\n13715\t2\n13721\t2\n13724\t2\n13729\t2\n13730\t2\n13733\t2\n13734\t2\n13738\t2\n13742\t2\n13746\t2\n13747\t2\n13763\t2\n13771\t2\n13783\t2\n13784\t2\n13787\t2\n13791\t2\n13794\t2\n13809\t2\n13815\t2\n13816\t2\n13828\t2\n13844\t2\n13848\t2\n13852\t2\n13857\t2\n13858\t2\n13863\t2\n13865\t2\n13867\t2\n13868\t2\n13870\t2\n13871\t2\n13877\t2\n13878\t2\n13885\t2\n13887\t2\n13890\t2\n13892\t2\n13893\t2\n13901\t2\n13905\t2\n13914\t2\n13921\t2\n13928\t2\n13938\t2\n13940\t2\n13957\t2\n13964\t2\n13969\t2\n13971\t2\n13979\t2\n13981\t2\n13982\t2\n13986\t2\n13990\t2\n14001\t2\n14002\t2\n14008\t2\n14010\t2\n14017\t2\n14021\t2\n14025\t2\n14035\t2\n14037\t2\n14066\t2\n14076\t2\n14082\t2\n14085\t2\n14087\t2\n14089\t2\n14109\t2\n14134\t2\n14149\t2\n14150\t2\n14151\t2\n14153\t2\n14155\t2\n14163\t2\n14167\t2\n14169\t2\n14176\t2\n14177\t2\n14180\t2\n14202\t2\n14203\t2\n14216\t2\n14218\t2\n14235\t2\n14237\t2\n14244\t2\n14250\t2\n14254\t2\n14256\t2\n14259\t2\n14264\t2\n14265\t2\n14278\t2\n14284\t2\n14289\t2\n14293\t2\n14299\t2\n14304\t2\n14311\t2\n14314\t2\n14327\t2\n14333\t2\n14343\t2\n14348\t2\n14371\t2\n14383\t2\n14399\t2\n14410\t2\n14424\t2\n14429\t2\n14438\t2\n14449\t2\n14466\t2\n14468\t2\n14471\t2\n14475\t2\n14476\t2\n14477\t2\n14480\t2\n14494\t2\n14502\t2\n14509\t2\n14511\t2\n14513\t2\n14515\t2\n14523\t2\n14524\t2\n14535\t2\n14537\t2\n14546\t2\n14548\t2\n14559\t2\n14563\t2\n14564\t2\n14567\t2\n14575\t2\n14586\t2\n14592\t2\n14600\t2\n14605\t2\n14606\t2\n14608\t2\n14619\t2\n14625\t2\n14626\t2\n14640\t2\n14645\t2\n14647\t2\n14648\t2\n14654\t2\n14656\t2\n14665\t2\n14672\t2\n14673\t2\n14675\t2\n14680\t2\n14682\t2\n14683\t2\n14690\t2\n14692\t2\n14694\t2\n14700\t2\n14702\t2\n14704\t2\n14710\t2\n14711\t2\n14716\t2\n14720\t2\n14729\t2\n14739\t2\n14742\t2\n14753\t2\n14754\t2\n14759\t2\n14766\t2\n14768\t2\n14769\t2\n14785\t2\n14795\t2\n14801\t2\n14803\t2\n14804\t2\n14806\t2\n14815\t2\n14819\t2\n14823\t2\n14825\t2\n14833\t2\n14839\t2\n14851\t2\n14856\t2\n14857\t2\n14865\t2\n14871\t2\n14882\t2\n14894\t2\n14895\t2\n14896\t2\n14897\t2\n14903\t2\n14905\t2\n14915\t2\n14941\t2\n14943\t2\n14945\t2\n14958\t2\n14962\t2\n14965\t2\n14970\t2\n14975\t2\n14986\t2\n14991\t2\n15002\t2\n15003\t2\n15006\t2\n15023\t2\n15032\t2\n15035\t2\n15042\t2\n15050\t2\n15069\t2\n15077\t2\n15079\t2\n15082\t2\n15088\t2\n15095\t2\n15096\t2\n15105\t2\n15124\t2\n15125\t2\n15127\t2\n15130\t2\n15142\t2\n15147\t2\n15170\t2\n15173\t2\n15178\t2\n15181\t2\n15183\t2\n15185\t2\n15198\t2\n15208\t2\n15212\t2\n15218\t2\n15226\t2\n15227\t2\n15236\t2\n15245\t2\n15247\t2\n15254\t2\n15256\t2\n15257\t2\n15262\t2\n15263\t2\n15264\t2\n15267\t2\n15271\t2\n15272\t2\n15278\t2\n15283\t2\n15284\t2\n15295\t2\n15296\t2\n15298\t2\n15299\t2\n15300\t2\n15305\t2\n15309\t2\n15313\t2\n15334\t2\n15351\t2\n15353\t2\n15357\t2\n15360\t2\n15361\t2\n15362\t2\n15365\t2\n15368\t2\n15370\t2\n15373\t2\n15376\t2\n15380\t2\n15384\t2\n15396\t2\n15410\t2\n15414\t2\n15416\t2\n15425\t2\n15429\t2\n15432\t2\n15435\t2\n15436\t2\n15445\t2\n15448\t2\n15450\t2\n15459\t2\n15460\t2\n15465\t2\n15467\t2\n15483\t2\n15488\t2\n15503\t2\n15509\t2\n15514\t2\n15523\t2\n15527\t2\n15528\t2\n15529\t2\n15532\t2\n15536\t2\n15539\t2\n15545\t2\n15548\t2\n15550\t2\n15552\t2\n15557\t2\n15564\t2\n15569\t2\n15576\t2\n15578\t2\n15581\t2\n15582\t2\n15600\t2\n15616\t2\n15618\t2\n15626\t2\n15641\t2\n15650\t2\n15657\t2\n15670\t2\n15677\t2\n15680\t2\n15684\t2\n15694\t2\n15695\t2\n15709\t2\n15713\t2\n15717\t2\n15718\t2\n15729\t2\n15739\t2\n15741\t2\n15751\t2\n15756\t2\n15760\t2\n15767\t2\n15768\t2\n15769\t2\n15774\t2\n15783\t2\n15791\t2\n15792\t2\n15801\t2\n15807\t2\n15814\t2\n15822\t2\n15829\t2\n15832\t2\n15834\t2\n15841\t2\n15850\t2\n15851\t2\n15858\t2\n15861\t2\n15863\t2\n15870\t2\n15873\t2\n15881\t2\n15886\t2\n15889\t2\n15893\t2\n15911\t2\n15916\t2\n15921\t2\n15924\t2\n15930\t2\n15932\t2\n15936\t2\n15941\t2\n15955\t2\n15956\t2\n15962\t2\n15973\t2\n15981\t2\n15985\t2\n15991\t2\n15993\t2\n15999\t2\n16002\t2\n16006\t2\n16007\t2\n16011\t2\n16017\t2\n16027\t2\n16033\t2\n16036\t2\n16037\t2\n16042\t2\n16045\t2\n16046\t2\n16048\t2\n16054\t2\n16065\t2\n16074\t2\n16075\t2\n16086\t2\n16088\t2\n16089\t2\n16090\t2\n16093\t2\n16094\t2\n16097\t2\n16100\t2\n16103\t2\n16105\t2\n16109\t2\n16110\t2\n16112\t2\n16113\t2\n16118\t2\n16124\t2\n16127\t2\n16137\t2\n16140\t2\n16143\t2\n16146\t2\n16147\t2\n16150\t2\n16151\t2\n16153\t2\n16162\t2\n16165\t2\n16176\t2\n16177\t2\n16184\t2\n16187\t2\n16190\t2\n16194\t2\n16197\t2\n16201\t2\n16207\t2\n16209\t2\n16210\t2\n16217\t2\n16219\t2\n16221\t2\n16222\t2\n16223\t2\n16225\t2\n16226\t2\n16236\t2\n16245\t2\n16246\t2\n16250\t2\n16254\t2\n16273\t2\n16285\t2\n16298\t2\n16313\t2\n16317\t2\n16331\t2\n16332\t2\n16336\t2\n16344\t2\n16355\t2\n16365\t2\n16371\t2\n16375\t2\n16399\t2\n16400\t2\n16401\t2\n16411\t2\n16415\t2\n16420\t2\n16423\t2\n16426\t2\n16431\t2\n16435\t2\n16440\t2\n16454\t2\n16455\t2\n16464\t2\n16478\t2\n16489\t2\n16497\t2\n16506\t2\n16513\t2\n16515\t2\n16517\t2\n16519\t2\n16523\t2\n16525\t2\n16538\t2\n16539\t2\n16550\t2\n16557\t2\n16558\t2\n16559\t2\n16562\t2\n16564\t2\n16565\t2\n16578\t2\n16592\t2\n16600\t2\n16608\t2\n16636\t2\n16637\t2\n16639\t2\n16644\t2\n16645\t2\n16648\t2\n16650\t2\n16664\t2\n16678\t2\n16679\t2\n16682\t2\n16684\t2\n16689\t2\n16691\t2\n16696\t2\n16699\t2\n16702\t2\n16708\t2\n16719\t2\n16731\t2\n16737\t2\n16741\t2\n16753\t2\n16754\t2\n16765\t2\n16766\t2\n16778\t2\n16781\t2\n16782\t2\n16783\t2\n16813\t2\n16814\t2\n16815\t2\n16820\t2\n16822\t2\n16834\t2\n16842\t2\n16855\t2\n16857\t2\n16862\t2\n16873\t2\n16876\t2\n16882\t2\n16887\t2\n16888\t2\n16890\t2\n16894\t2\n16897\t2\n16904\t2\n16908\t2\n16911\t2\n16915\t2\n16916\t2\n16923\t2\n16932\t2\n16941\t2\n16947\t2\n16948\t2\n16954\t2\n16955\t2\n16956\t2\n16959\t2\n16962\t2\n16968\t2\n16978\t2\n16988\t2\n16994\t2\n16995\t2\n16997\t2\n17007\t2\n17011\t2\n17012\t2\n17014\t2\n17020\t2\n17040\t2\n17059\t2\n17064\t2\n17067\t2\n17069\t2\n17072\t2\n17078\t2\n17081\t2\n17082\t2\n17084\t2\n17090\t2\n17099\t2\n17119\t2\n17121\t2\n17125\t2\n17135\t2\n17136\t2\n17144\t2\n17148\t2\n17158\t2\n17162\t2\n17172\t2\n17182\t2\n17186\t2\n17188\t2\n17190\t2\n17203\t2\n17213\t2\n17217\t2\n17218\t2\n17219\t2\n17225\t2\n17228\t2\n17237\t2\n17243\t2\n17257\t2\n17258\t2\n17259\t2\n17264\t2\n17265\t2\n17266\t2\n17270\t2\n17272\t2\n17277\t2\n17296\t2\n17297\t2\n17302\t2\n17307\t2\n17308\t2\n17312\t2\n17321\t2\n17328\t2\n17329\t2\n17330\t2\n17336\t2\n17348\t2\n17357\t2\n17358\t2\n17362\t2\n17366\t2\n17368\t2\n17376\t2\n17381\t2\n17386\t2\n17388\t2\n17393\t2\n17396\t2\n17397\t2\n17398\t2\n17403\t2\n17406\t2\n17407\t2\n17410\t2\n17414\t2\n17415\t2\n17421\t2\n17429\t2\n17436\t2\n17441\t2\n17443\t2\n17449\t2\n17471\t2\n17472\t2\n17478\t2\n17480\t2\n17487\t2\n17490\t2\n17494\t2\n17503\t2\n17515\t2\n17516\t2\n17525\t2\n17526\t2\n17531\t2\n17534\t2\n17538\t2\n17543\t2\n17548\t2\n17549\t2\n17553\t2\n17563\t2\n17570\t2\n17583\t2\n17587\t2\n17589\t2\n17592\t2\n17594\t2\n17598\t2\n17600\t2\n17609\t2\n17611\t2\n17612\t2\n17613\t2\n17626\t2\n17633\t2\n17652\t2\n17653\t2\n17659\t2\n17667\t2\n17679\t2\n17680\t2\n17681\t2\n17685\t2\n17689\t2\n17692\t2\n17693\t2\n17698\t2\n17703\t2\n17712\t2\n17738\t2\n17742\t2\n17747\t2\n17748\t2\n17762\t2\n17764\t2\n17770\t2\n17771\t2\n17776\t2\n17777\t2\n17800\t2\n17803\t2\n17815\t2\n17819\t2\n17834\t2\n17842\t2\n17846\t2\n17853\t2\n17861\t2\n17866\t2\n17870\t2\n17874\t2\n17879\t2\n17884\t2\n17885\t2\n17886\t2\n17890\t2\n17891\t2\n17899\t2\n17904\t2\n17908\t2\n17911\t2\n17914\t2\n17926\t2\n17931\t2\n17941\t2\n17959\t2\n17964\t2\n17970\t2\n17972\t2\n17981\t2\n17983\t2\n17997\t2\n18001\t2\n18008\t2\n18012\t2\n18015\t2\n18016\t2\n18037\t2\n18045\t2\n18058\t2\n18059\t2\n18067\t2\n18073\t2\n18079\t2\n18082\t2\n18090\t2\n18099\t2\n18107\t2\n18112\t2\n18122\t2\n18124\t2\n18136\t2\n18146\t2\n18157\t2\n18163\t2\n18166\t2\n18167\t2\n18171\t2\n18189\t2\n18209\t2\n18219\t2\n18225\t2\n18230\t2\n18233\t2\n18234\t2\n18237\t2\n18240\t2\n18252\t2\n18260\t2\n18267\t2\n18275\t2\n18280\t2\n18281\t2\n18299\t2\n18310\t2\n18321\t2\n18338\t2\n18350\t2\n18361\t2\n18369\t2\n18371\t2\n18378\t2\n18380\t2\n18381\t2\n18382\t2\n18386\t2\n18397\t2\n18413\t2\n18417\t2\n18421\t2\n18425\t2\n18426\t2\n18429\t2\n18448\t2\n18451\t2\n18455\t2\n18458\t2\n18459\t2\n18466\t2\n18479\t2\n18509\t2\n18513\t2\n18522\t2\n18529\t2\n18537\t2\n18555\t2\n18572\t2\n18577\t2\n18580\t2\n18586\t2\n18600\t2\n18604\t2\n18606\t2\n18610\t2\n18617\t2\n18619\t2\n18621\t2\n18628\t2\n18650\t2\n18651\t2\n18655\t2\n18664\t2\n18666\t2\n18685\t2\n18691\t2\n18692\t2\n18693\t2\n18697\t2\n18706\t2\n18709\t2\n18724\t2\n18730\t2\n18732\t2\n18733\t2\n18734\t2\n18745\t2\n18749\t2\n18752\t2\n18755\t2\n18759\t2\n18761\t2\n18762\t2\n18769\t2\n18781\t2\n18792\t2\n18793\t2\n18796\t2\n18809\t2\n18844\t2\n18852\t2\n18858\t2\n18862\t2\n18868\t2\n18873\t2\n18878\t2\n18881\t2\n18882\t2\n18883\t2\n18884\t2\n18886\t2\n18887\t2\n18890\t2\n18892\t2\n18897\t2\n18898\t2\n18904\t2\n18908\t2\n18926\t2\n18933\t2\n18939\t2\n18949\t2\n18956\t2\n18970\t2\n18984\t2\n18985\t2\n18997\t2\n18999\t2\n19000\t2\n19011\t2\n19029\t2\n19050\t2\n19051\t2\n19060\t2\n19063\t2\n19072\t2\n19073\t2\n19087\t2\n19092\t2\n19098\t2\n19102\t2\n19113\t2\n19116\t2\n19117\t2\n19120\t2\n19121\t2\n19122\t2\n19132\t2\n19140\t2\n19142\t2\n19143\t2\n19150\t2\n19186\t2\n19187\t2\n19202\t2\n19203\t2\n19209\t2\n19217\t2\n19219\t2\n19225\t2\n19230\t2\n19242\t2\n19246\t2\n19250\t2\n19259\t2\n19260\t2\n19275\t2\n19278\t2\n19280\t2\n19283\t2\n19284\t2\n19297\t2\n19302\t2\n19307\t2\n19314\t2\n19316\t2\n19321\t2\n19327\t2\n19334\t2\n19341\t2\n19342\t2\n19351\t2\n19352\t2\n19361\t2\n19363\t2\n19366\t2\n19372\t2\n19378\t2\n19393\t2\n19396\t2\n19401\t2\n19411\t2\n19415\t2\n19421\t2\n19440\t2\n19447\t2\n19453\t2\n19458\t2\n19462\t2\n19464\t2\n19465\t2\n19466\t2\n19474\t2\n19475\t2\n19479\t2\n19491\t2\n19493\t2\n19496\t2\n19503\t2\n19505\t2\n19514\t2\n19522\t2\n19534\t2\n19537\t2\n19540\t2\n19547\t2\n19548\t2\n19556\t2\n19561\t2\n19564\t2\n19567\t2\n19580\t2\n19591\t2\n19620\t2\n19627\t2\n19633\t2\n19637\t2\n19639\t2\n19648\t2\n19657\t2\n19665\t2\n19669\t2\n19672\t2\n19691\t2\n19699\t2\n19717\t2\n19722\t2\n19729\t2\n19733\t2\n19740\t2\n19741\t2\n19744\t2\n19749\t2\n19756\t2\n19774\t2\n19777\t2\n19786\t2\n19788\t2\n19793\t2\n19794\t2\n19800\t2\n19827\t2\n19831\t2\n19832\t2\n19834\t2\n19847\t2\n19849\t2\n19850\t2\n19851\t2\n19856\t2\n19861\t2\n19863\t2\n19877\t2\n19884\t2\n19891\t2\n19896\t2\n19901\t2\n19905\t2\n19911\t2\n19919\t2\n19944\t2\n19948\t2\n19949\t2\n19951\t2\n19959\t2\n19968\t2\n19978\t2\n19982\t2\n19985\t2\n19993\t2\n19998\t2\n20002\t2\n20007\t2\n20008\t2\n20012\t2\n20014\t2\n20017\t2\n20018\t2\n20026\t2\n20033\t2\n20041\t2\n20042\t2\n20045\t2\n20052\t2\n20056\t2\n20059\t2\n20068\t2\n20077\t2\n20078\t2\n20080\t2\n20087\t2\n20088\t2\n20091\t2\n20094\t2\n20108\t2\n20120\t2\n20135\t2\n20151\t2\n20168\t2\n20177\t2\n20181\t2\n20183\t2\n20184\t2\n20185\t2\n20187\t2\n20190\t2\n20194\t2\n20209\t2\n20221\t2\n20226\t2\n20236\t2\n20241\t2\n20244\t2\n20247\t2\n20248\t2\n20253\t2\n20255\t2\n20273\t2\n20280\t2\n20288\t2\n20301\t2\n20303\t2\n20304\t2\n20316\t2\n20321\t2\n20333\t2\n20334\t2\n20335\t2\n20338\t2\n20346\t2\n20348\t2\n20353\t2\n20358\t2\n20366\t2\n20368\t2\n20399\t2\n20402\t2\n20405\t2\n20408\t2\n20410\t2\n20414\t2\n20415\t2\n20423\t2\n20429\t2\n20435\t2\n20442\t2\n20448\t2\n20450\t2\n20453\t2\n20461\t2\n20463\t2\n20480\t2\n20481\t2\n20488\t2\n20492\t2\n20497\t2\n20511\t2\n20519\t2\n20520\t2\n20521\t2\n20534\t2\n20537\t2\n20540\t2\n20541\t2\n20547\t2\n20554\t2\n20570\t2\n20575\t2\n20578\t2\n20579\t2\n20610\t2\n20616\t2\n20624\t2\n20632\t2\n20634\t2\n20641\t2\n20651\t2\n20660\t2\n20661\t2\n20664\t2\n20674\t2\n20678\t2\n20681\t2\n20684\t2\n20687\t2\n20692\t2\n20695\t2\n20704\t2\n20707\t2\n20718\t2\n20722\t2\n20726\t2\n20730\t2\n20737\t2\n20745\t2\n20751\t2\n20755\t2\n20764\t2\n20767\t2\n20773\t2\n20777\t2\n20783\t2\n20787\t2\n20791\t2\n20803\t2\n20806\t2\n20826\t2\n20832\t2\n20838\t2\n20841\t2\n20845\t2\n20846\t2\n20848\t2\n20875\t2\n20877\t2\n20883\t2\n20885\t2\n20888\t2\n20894\t2\n20895\t2\n20896\t2\n20917\t2\n20919\t2\n20929\t2\n20934\t2\n20937\t2\n20941\t2\n20945\t2\n20955\t2\n20957\t2\n20964\t2\n20968\t2\n20970\t2\n20975\t2\n20981\t2\n20990\t2\n21025\t2\n21029\t2\n21035\t2\n21049\t2\n21060\t2\n21071\t2\n21075\t2\n21077\t2\n21082\t2\n21086\t2\n21095\t2\n21098\t2\n21105\t2\n21108\t2\n21112\t2\n21125\t2\n21134\t2\n21142\t2\n21148\t2\n21156\t2\n21164\t2\n21169\t2\n21191\t2\n21194\t2\n21212\t2\n21213\t2\n21225\t2\n21234\t2\n21238\t2\n21252\t2\n21256\t2\n21261\t2\n21270\t2\n21275\t2\n21280\t2\n21286\t2\n21294\t2\n21296\t2\n21297\t2\n21299\t2\n21302\t2\n21304\t2\n21305\t2\n21313\t2\n21314\t2\n21320\t2\n21322\t2\n21328\t2\n21334\t2\n21337\t2\n21348\t2\n21352\t2\n21353\t2\n21354\t2\n21355\t2\n21369\t2\n21377\t2\n21388\t2\n21392\t2\n21398\t2\n21401\t2\n21405\t2\n21408\t2\n21412\t2\n21414\t2\n21415\t2\n21424\t2\n21426\t2\n21428\t2\n21429\t2\n21430\t2\n21435\t2\n21443\t2\n21455\t2\n21458\t2\n21467\t2\n21468\t2\n21474\t2\n21481\t2\n21482\t2\n21500\t2\n21514\t2\n21520\t2\n21523\t2\n21538\t2\n21540\t2\n21541\t2\n21543\t2\n21544\t2\n21546\t2\n21552\t2\n21555\t2\n21566\t2\n21571\t2\n21574\t2\n21577\t2\n21582\t2\n21587\t2\n21594\t2\n21604\t2\n21620\t2\n21621\t2\n21643\t2\n21651\t2\n21657\t2\n21659\t2\n21660\t2\n21663\t2\n21677\t2\n21679\t2\n21698\t2\n21699\t2\n21716\t2\n21733\t2\n21742\t2\n21751\t2\n21756\t2\n21761\t2\n21768\t2\n21770\t2\n21771\t2\n21772\t2\n21782\t2\n21795\t2\n21800\t2\n21801\t2\n21807\t2\n21808\t2\n21810\t2\n21811\t2\n21823\t2\n21828\t2\n21830\t2\n21840\t2\n21843\t2\n21849\t2\n21850\t2\n21852\t2\n21853\t2\n21856\t2\n21862\t2\n21864\t2\n21868\t2\n21871\t2\n21872\t2\n21876\t2\n21883\t2\n21884\t2\n21885\t2\n21895\t2\n21901\t2\n21902\t2\n21908\t2\n21918\t2\n21921\t2\n21926\t2\n21933\t2\n21934\t2\n21939\t2\n21956\t2\n21974\t2\n21981\t2\n21982\t2\n21995\t2\n22000\t2\n22002\t2\n22009\t2\n22011\t2\n22017\t2\n22026\t2\n22041\t2\n22043\t2\n22052\t2\n22054\t2\n22056\t2\n22058\t2\n22071\t2\n22077\t2\n22103\t2\n22113\t2\n22115\t2\n22116\t2\n22121\t2\n22128\t2\n22143\t2\n22149\t2\n22152\t2\n22155\t2\n22168\t2\n22169\t2\n22171\t2\n22179\t2\n22183\t2\n22188\t2\n22189\t2\n22197\t2\n22199\t2\n22205\t2\n22210\t2\n22220\t2\n22226\t2\n22246\t2\n22254\t2\n22261\t2\n22304\t2\n22306\t2\n22309\t2\n22313\t2\n22315\t2\n22322\t2\n22328\t2\n22330\t2\n22341\t2\n22343\t2\n22347\t2\n22348\t2\n22351\t2\n22356\t2\n22361\t2\n22362\t2\n22364\t2\n22366\t2\n22369\t2\n22372\t2\n22375\t2\n22381\t2\n22383\t2\n22395\t2\n22396\t2\n22404\t2\n22411\t2\n22416\t2\n22422\t2\n22424\t2\n22432\t2\n22439\t2\n22440\t2\n22446\t2\n22450\t2\n22475\t2\n22477\t2\n22482\t2\n22483\t2\n22484\t2\n22489\t2\n22506\t2\n22511\t2\n22514\t2\n22517\t2\n22522\t2\n22524\t2\n22532\t2\n22547\t2\n22550\t2\n22558\t2\n22580\t2\n22581\t2\n22588\t2\n22603\t2\n22609\t2\n22610\t2\n22614\t2\n22618\t2\n22621\t2\n22622\t2\n22623\t2\n22627\t2\n22630\t2\n22637\t2\n22638\t2\n22641\t2\n22645\t2\n22648\t2\n22651\t2\n22658\t2\n22687\t2\n22699\t2\n22704\t2\n22710\t2\n22724\t2\n22730\t2\n22738\t2\n22750\t2\n22778\t2\n22779\t2\n22780\t2\n22785\t2\n22790\t2\n22797\t2\n22799\t2\n22822\t2\n22826\t2\n22828\t2\n22858\t2\n22867\t2\n22879\t2\n22889\t2\n22892\t2\n22896\t2\n22898\t2\n22907\t2\n22911\t2\n22916\t2\n22917\t2\n22919\t2\n22923\t2\n22926\t2\n22927\t2\n22935\t2\n22940\t2\n22949\t2\n22957\t2\n22963\t2\n22964\t2\n22965\t2\n22967\t2\n22971\t2\n22972\t2\n22975\t2\n22979\t2\n22997\t2\n23002\t2\n23015\t2\n23023\t2\n23032\t2\n23039\t2\n23043\t2\n23047\t2\n23055\t2\n23058\t2\n23068\t2\n23074\t2\n23075\t2\n23085\t2\n23092\t2\n23103\t2\n23117\t2\n23130\t2\n23131\t2\n23133\t2\n23141\t2\n23142\t2\n23149\t2\n23153\t2\n23160\t2\n23171\t2\n23174\t2\n23181\t2\n23191\t2\n23198\t2\n23202\t2\n23206\t2\n23211\t2\n23213\t2\n23216\t2\n23225\t2\n23238\t2\n23249\t2\n23252\t2\n23258\t2\n23262\t2\n23267\t2\n23268\t2\n23270\t2\n23275\t2\n23283\t2\n23287\t2\n23288\t2\n23291\t2\n23293\t2\n23295\t2\n23296\t2\n23303\t2\n23304\t2\n23306\t2\n23315\t2\n23318\t2\n23319\t2\n23321\t2\n23334\t2\n23336\t2\n23337\t2\n23338\t2\n23343\t2\n23358\t2\n23366\t2\n23386\t2\n23394\t2\n23398\t2\n23401\t2\n23403\t2\n23405\t2\n23408\t2\n23412\t2\n23413\t2\n23426\t2\n23428\t2\n23429\t2\n23443\t2\n23452\t2\n23453\t2\n23464\t2\n23467\t2\n23473\t2\n23483\t2\n23486\t2\n23487\t2\n23492\t2\n23495\t2\n23499\t2\n23507\t2\n23514\t2\n23516\t2\n23517\t2\n23521\t2\n23532\t2\n23545\t2\n23546\t2\n23548\t2\n23553\t2\n23555\t2\n23558\t2\n23583\t2\n23590\t2\n23595\t2\n23603\t2\n23604\t2\n23609\t2\n23611\t2\n23616\t2\n23617\t2\n23618\t2\n23628\t2\n23630\t2\n23631\t2\n23636\t2\n23643\t2\n23644\t2\n23650\t2\n23656\t2\n23663\t2\n23676\t2\n23678\t2\n23686\t2\n23688\t2\n23690\t2\n23698\t2\n23700\t2\n23708\t2\n23711\t2\n23716\t2\n23721\t2\n23724\t2\n23731\t2\n23754\t2\n23760\t2\n23763\t2\n23767\t2\n23784\t2\n23795\t2\n23797\t2\n23803\t2\n23816\t2\n23823\t2\n23824\t2\n23830\t2\n23833\t2\n23844\t2\n23876\t2\n23883\t2\n23886\t2\n23890\t2\n23899\t2\n23908\t2\n23920\t2\n23937\t2\n23940\t2\n23960\t2\n23969\t2\n23978\t2\n23979\t2\n23985\t2\n23989\t2\n23993\t2\n24003\t2\n24005\t2\n24008\t2\n24014\t2\n24017\t2\n24019\t2\n24038\t2\n24039\t2\n24042\t2\n24043\t2\n24048\t2\n24057\t2\n24060\t2\n24061\t2\n24071\t2\n24081\t2\n24082\t2\n24084\t2\n24108\t2\n24109\t2\n24110\t2\n24113\t2\n24114\t2\n24119\t2\n24122\t2\n24124\t2\n24125\t2\n24131\t2\n24154\t2\n24156\t2\n24160\t2\n24167\t2\n24169\t2\n24173\t2\n24177\t2\n24180\t2\n24181\t2\n24185\t2\n24188\t2\n24192\t2\n24197\t2\n24205\t2\n24208\t2\n24218\t2\n24245\t2\n24251\t2\n24253\t2\n24259\t2\n24260\t2\n24268\t2\n24270\t2\n24278\t2\n24279\t2\n24287\t2\n24292\t2\n24293\t2\n24295\t2\n24297\t2\n24303\t2\n24327\t2\n24333\t2\n24335\t2\n24352\t2\n24356\t2\n24365\t2\n24369\t2\n24372\t2\n24373\t2\n24380\t2\n24386\t2\n24388\t2\n24390\t2\n24392\t2\n24393\t2\n24396\t2\n24405\t2\n24408\t2\n24412\t2\n24422\t2\n24435\t2\n24436\t2\n24454\t2\n24458\t2\n24464\t2\n24469\t2\n24474\t2\n24476\t2\n24479\t2\n24489\t2\n24499\t2\n24507\t2\n24511\t2\n24512\t2\n24517\t2\n24522\t2\n24527\t2\n24532\t2\n24534\t2\n24540\t2\n24542\t2\n24548\t2\n24557\t2\n24571\t2\n24573\t2\n24579\t2\n24581\t2\n24584\t2\n24587\t2\n24588\t2\n24590\t2\n24594\t2\n24595\t2\n24598\t2\n24603\t2\n24607\t2\n24615\t2\n24629\t2\n24637\t2\n24644\t2\n24656\t2\n24663\t2\n24671\t2\n24677\t2\n24680\t2\n24683\t2\n24684\t2\n24689\t2\n24697\t2\n24702\t2\n24707\t2\n24712\t2\n24721\t2\n24725\t2\n24729\t2\n24730\t2\n24735\t2\n24759\t2\n24763\t2\n24764\t2\n24767\t2\n24774\t2\n24775\t2\n24777\t2\n24780\t2\n24784\t2\n24796\t2\n24802\t2\n24818\t2\n24821\t2\n24841\t2\n24843\t2\n24847\t2\n24848\t2\n24856\t2\n24876\t2\n24883\t2\n24886\t2\n24915\t2\n24923\t2\n24928\t2\n24929\t2\n24930\t2\n24932\t2\n24957\t2\n24960\t2\n24965\t2\n24977\t2\n24979\t2\n24985\t2\n24995\t2\n24998\t2\n25000\t2\n25004\t2\n25005\t2\n25011\t2\n25019\t2\n25020\t2\n25026\t2\n25040\t2\n25045\t2\n25048\t2\n25052\t2\n25055\t2\n25059\t2\n25060\t2\n25072\t2\n25079\t2\n25084\t2\n25090\t2\n25092\t2\n25093\t2\n25097\t2\n25116\t2\n25123\t2\n25132\t2\n25172\t2\n25183\t2\n25196\t2\n25198\t2\n25203\t2\n25210\t2\n25219\t2\n25227\t2\n25235\t2\n25237\t2\n25240\t2\n25261\t2\n25272\t2\n25277\t2\n25283\t2\n25285\t2\n25287\t2\n25292\t2\n25295\t2\n25298\t2\n25304\t2\n25314\t2\n25315\t2\n25322\t2\n25325\t2\n25332\t2\n25347\t2\n25353\t2\n25356\t2\n25358\t2\n25360\t2\n25361\t2\n25371\t2\n25390\t2\n25391\t2\n25399\t2\n25400\t2\n25417\t2\n25418\t2\n25419\t2\n25424\t2\n25431\t2\n25438\t2\n25443\t2\n25447\t2\n25449\t2\n25455\t2\n25459\t2\n25465\t2\n25469\t2\n25470\t2\n25471\t2\n25474\t2\n25485\t2\n25490\t2\n25507\t2\n25517\t2\n25519\t2\n25524\t2\n25540\t2\n25541\t2\n25545\t2\n25550\t2\n25554\t2\n25559\t2\n25561\t2\n25563\t2\n25573\t2\n25574\t2\n25587\t2\n25588\t2\n25591\t2\n25592\t2\n25605\t2\n25606\t2\n25607\t2\n25609\t2\n25617\t2\n25626\t2\n25634\t2\n25635\t2\n25645\t2\n25647\t2\n25649\t2\n25660\t2\n25663\t2\n25664\t2\n25665\t2\n25684\t2\n25694\t2\n25695\t2\n25696\t2\n25709\t2\n25723\t2\n25731\t2\n25737\t2\n25738\t2\n25742\t2\n25745\t2\n25746\t2\n25747\t2\n25753\t2\n25758\t2\n25764\t2\n25767\t2\n25773\t2\n25774\t2\n25783\t2\n25788\t2\n25790\t2\n25798\t2\n25804\t2\n25813\t2\n25817\t2\n25822\t2\n25828\t2\n25829\t2\n25839\t2\n25845\t2\n25855\t2\n25860\t2\n25866\t2\n25871\t2\n25874\t2\n25883\t2\n25884\t2\n25895\t2\n25906\t2\n25922\t2\n25935\t2\n25942\t2\n25948\t2\n25953\t2\n25954\t2\n25955\t2\n25958\t2\n25961\t2\n25964\t2\n25965\t2\n25975\t2\n25990\t2\n25997\t2\n26000\t2\n26004\t2\n26006\t2\n26016\t2\n26018\t2\n26019\t2\n26026\t2\n26036\t2\n26039\t2\n26044\t2\n26045\t2\n26054\t2\n26056\t2\n26058\t2\n26059\t2\n26064\t2\n26068\t2\n26073\t2\n26081\t2\n26084\t2\n26088\t2\n26090\t2\n26093\t2\n26094\t2\n26098\t2\n26100\t2\n26101\t2\n26104\t2\n26105\t2\n26109\t2\n26123\t2\n26138\t2\n26147\t2\n26150\t2\n26152\t2\n26155\t2\n26161\t2\n26163\t2\n26166\t2\n26167\t2\n26171\t2\n26174\t2\n26179\t2\n26187\t2\n26192\t2\n26194\t2\n26201\t2\n26203\t2\n26206\t2\n26213\t2\n26217\t2\n26219\t2\n26223\t2\n26228\t2\n26229\t2\n26231\t2\n26239\t2\n26241\t2\n26251\t2\n26254\t2\n26256\t2\n26257\t2\n26258\t2\n26267\t2\n26270\t2\n26279\t2\n26297\t2\n26315\t2\n26318\t2\n26339\t2\n26345\t2\n26352\t2\n26360\t2\n26362\t2\n26363\t2\n26371\t2\n26372\t2\n26377\t2\n26378\t2\n26379\t2\n26381\t2\n26389\t2\n26398\t2\n26399\t2\n26400\t2\n26402\t2\n26403\t2\n26405\t2\n26406\t2\n26407\t2\n26409\t2\n26419\t2\n26420\t2\n26422\t2\n26426\t2\n26430\t2\n26434\t2\n26439\t2\n26441\t2\n26443\t2\n26452\t2\n26456\t2\n26459\t2\n26462\t2\n26467\t2\n26474\t2\n26480\t2\n26486\t2\n26487\t2\n26493\t2\n26497\t2\n26505\t2\n26518\t2\n26538\t2\n26546\t2\n26555\t2\n26561\t2\n26564\t2\n26565\t2\n26587\t2\n26589\t2\n26592\t2\n26594\t2\n26599\t2\n26601\t2\n26608\t2\n26613\t2\n26615\t2\n26639\t2\n26645\t2\n26651\t2\n26652\t2\n26659\t2\n26662\t2\n26671\t2\n26675\t2\n26676\t2\n26679\t2\n26686\t2\n26688\t2\n26698\t2\n26705\t2\n26713\t2\n26718\t2\n26722\t2\n26735\t2\n26738\t2\n26748\t2\n26750\t2\n26751\t2\n26759\t2\n26763\t2\n26772\t2\n26774\t2\n26775\t2\n26778\t2\n26788\t2\n26805\t2\n26814\t2\n26818\t2\n26819\t2\n26822\t2\n26824\t2\n26827\t2\n26829\t2\n26854\t2\n26857\t2\n26859\t2\n26860\t2\n26864\t2\n26868\t2\n26869\t2\n26873\t2\n26880\t2\n26883\t2\n26889\t2\n26892\t2\n26896\t2\n26897\t2\n26900\t2\n26902\t2\n26903\t2\n26914\t2\n26921\t2\n26934\t2\n26937\t2\n26940\t2\n26942\t2\n26946\t2\n26947\t2\n26957\t2\n26964\t2\n26975\t2\n26978\t2\n26980\t2\n26991\t2\n26995\t2\n26999\t2\n27002\t2\n27003\t2\n27004\t2\n27005\t2\n27021\t2\n27026\t2\n27040\t2\n27045\t2\n27047\t2\n27056\t2\n27057\t2\n27061\t2\n27064\t2\n27070\t2\n27076\t2\n27077\t2\n27106\t2\n27108\t2\n27109\t2\n27112\t2\n27116\t2\n27128\t2\n27129\t2\n27164\t2\n27169\t2\n27171\t2\n27175\t2\n27183\t2\n27189\t2\n27192\t2\n27200\t2\n27202\t2\n27223\t2\n27228\t2\n27242\t2\n27249\t2\n27251\t2\n27252\t2\n27254\t2\n27265\t2\n27276\t2\n27297\t2\n27307\t2\n27314\t2\n27326\t2\n27328\t2\n27331\t2\n27333\t2\n27335\t2\n27353\t2\n27358\t2\n27365\t2\n27368\t2\n27381\t2\n27384\t2\n27388\t2\n27400\t2\n27408\t2\n27410\t2\n27419\t2\n27423\t2\n27433\t2\n27437\t2\n27439\t2\n27446\t2\n27454\t2\n27456\t2\n27460\t2\n27467\t2\n27480\t2\n27484\t2\n27485\t2\n27488\t2\n27497\t2\n27499\t2\n27501\t2\n27510\t2\n27513\t2\n27514\t2\n27515\t2\n27521\t2\n27524\t2\n27536\t2\n27539\t2\n27540\t2\n27545\t2\n27553\t2\n27555\t2\n27572\t2\n27575\t2\n27578\t2\n27580\t2\n27581\t2\n27582\t2\n27589\t2\n27597\t2\n27603\t2\n27609\t2\n27610\t2\n27611\t2\n27615\t2\n27619\t2\n27631\t2\n27639\t2\n27641\t2\n27645\t2\n27651\t2\n27652\t2\n27659\t2\n27667\t2\n27668\t2\n27670\t2\n27681\t2\n27687\t2\n27693\t2\n27702\t2\n27712\t2\n27715\t2\n27735\t2\n27737\t2\n27739\t2\n27744\t2\n27748\t2\n27750\t2\n27753\t2\n27769\t2\n27771\t2\n27785\t2\n27786\t2\n27789\t2\n27792\t2\n27799\t2\n27814\t2\n27826\t2\n27833\t2\n27837\t2\n27838\t2\n27844\t2\n27847\t2\n27857\t2\n27859\t2\n27867\t2\n27874\t2\n27876\t2\n27886\t2\n27891\t2\n27894\t2\n27895\t2\n27899\t2\n27903\t2\n27907\t2\n27908\t2\n27918\t2\n27922\t2\n27925\t2\n27937\t2\n27959\t2\n27963\t2\n27976\t2\n27979\t2\n27980\t2\n27983\t2\n27986\t2\n27997\t2\n28004\t2\n28010\t2\n28016\t2\n28018\t2\n28027\t2\n28030\t2\n28031\t2\n28039\t2\n28045\t2\n28046\t2\n28063\t2\n28065\t2\n28073\t2\n28077\t2\n28080\t2\n28083\t2\n28100\t2\n28102\t2\n28108\t2\n28117\t2\n28122\t2\n28135\t2\n28140\t2\n28157\t2\n28162\t2\n28163\t2\n28172\t2\n28176\t2\n28179\t2\n28193\t2\n28195\t2\n28196\t2\n28199\t2\n28203\t2\n28210\t2\n28226\t2\n28227\t2\n28247\t2\n28260\t2\n28268\t2\n28273\t2\n28279\t2\n28282\t2\n28283\t2\n28284\t2\n28287\t2\n28292\t2\n28294\t2\n28295\t2\n28300\t2\n28306\t2\n28312\t2\n28322\t2\n28323\t2\n28331\t2\n28349\t2\n28359\t2\n28374\t2\n28377\t2\n28380\t2\n28382\t2\n28384\t2\n28386\t2\n28395\t2\n28397\t2\n28398\t2\n28403\t2\n28414\t2\n28418\t2\n28422\t2\n28428\t2\n28433\t2\n28434\t2\n28444\t2\n28446\t2\n28450\t2\n28456\t2\n28461\t2\n28465\t2\n28467\t2\n28469\t2\n28485\t2\n28487\t2\n28488\t2\n28499\t2\n28501\t2\n28518\t2\n28526\t2\n28543\t2\n28547\t2\n28558\t2\n28560\t2\n28591\t2\n28604\t2\n28609\t2\n28613\t2\n28614\t2\n28624\t2\n28625\t2\n28626\t2\n28637\t2\n28640\t2\n28642\t2\n28647\t2\n28648\t2\n28650\t2\n28654\t2\n28656\t2\n28658\t2\n28670\t2\n28678\t2\n28683\t2\n28688\t2\n28692\t2\n28695\t2\n28699\t2\n28704\t2\n28708\t2\n28713\t2\n28717\t2\n28720\t2\n28721\t2\n28724\t2\n28731\t2\n28734\t2\n28735\t2\n28741\t2\n28748\t2\n28754\t2\n28755\t2\n28765\t2\n28771\t2\n28772\t2\n28803\t2\n28806\t2\n28822\t2\n28825\t2\n28827\t2\n28829\t2\n28835\t2\n28842\t2\n28845\t2\n28865\t2\n28868\t2\n28869\t2\n28882\t2\n28893\t2\n28905\t2\n28913\t2\n28929\t2\n28934\t2\n28940\t2\n28943\t2\n28948\t2\n28952\t2\n28962\t2\n28963\t2\n28967\t2\n28973\t2\n28986\t2\n28988\t2\n28989\t2\n28997\t2\n28999\t2\n29000\t2\n29002\t2\n29007\t2\n29008\t2\n29017\t2\n29023\t2\n29037\t2\n29060\t2\n29067\t2\n29080\t2\n29081\t2\n29082\t2\n29086\t2\n29090\t2\n29096\t2\n29106\t2\n29115\t2\n29121\t2\n29125\t2\n29141\t2\n29142\t2\n29149\t2\n29152\t2\n29157\t2\n29161\t2\n29163\t2\n29169\t2\n29176\t2\n29177\t2\n29183\t2\n29187\t2\n29199\t2\n29200\t2\n29204\t2\n29216\t2\n29229\t2\n29231\t2\n29233\t2\n29238\t2\n29244\t2\n29249\t2\n29262\t2\n29286\t2\n29294\t2\n29298\t2\n29302\t2\n29309\t2\n29316\t2\n29317\t2\n29318\t2\n29320\t2\n29325\t2\n29327\t2\n29334\t2\n29335\t2\n29338\t2\n29341\t2\n29347\t2\n29359\t2\n29371\t2\n29376\t2\n29378\t2\n29379\t2\n29383\t2\n29385\t2\n29398\t2\n29408\t2\n29410\t2\n29417\t2\n29422\t2\n29425\t2\n29426\t2\n29429\t2\n29433\t2\n29448\t2\n29472\t2\n29478\t2\n29483\t2\n29489\t2\n29492\t2\n29494\t2\n29503\t2\n29506\t2\n29508\t2\n29510\t2\n29512\t2\n29517\t2\n29519\t2\n29525\t2\n29535\t2\n29539\t2\n29541\t2\n29555\t2\n29557\t2\n29558\t2\n29576\t2\n29581\t2\n29583\t2\n29584\t2\n29599\t2\n29601\t2\n29604\t2\n29606\t2\n29614\t2\n29618\t2\n29621\t2\n29625\t2\n29631\t2\n29649\t2\n29666\t2\n29680\t2\n29682\t2\n29692\t2\n29711\t2\n29722\t2\n29730\t2\n29739\t2\n29750\t2\n29767\t2\n29770\t2\n29783\t2\n29799\t2\n29814\t2\n29824\t2\n29826\t2\n29830\t2\n29850\t2\n29853\t2\n29861\t2\n29872\t2\n29873\t2\n29875\t2\n29892\t2\n29898\t2\n29901\t2\n29904\t2\n29910\t2\n29913\t2\n29917\t2\n29918\t2\n29920\t2\n29923\t2\n29926\t2\n29939\t2\n29944\t2\n29947\t2\n29948\t2\n29950\t2\n29952\t2\n29955\t2\n29956\t2\n29976\t2\n29983\t2\n29987\t2\n29990\t2\n30006\t2\n30013\t2\n30024\t2\n30033\t2\n30036\t2\n30039\t2\n30043\t2\n30046\t2\n30050\t2\n30052\t2\n30054\t2\n30061\t2\n30066\t2\n30070\t2\n30074\t2\n30078\t2\n30083\t2\n30086\t2\n30087\t2\n30090\t2\n30092\t2\n30105\t2\n30126\t2\n30143\t2\n30148\t2\n30159\t2\n30170\t2\n30186\t2\n30188\t2\n30190\t2\n30196\t2\n30199\t2\n30204\t2\n30209\t2\n30234\t2\n30236\t2\n30246\t2\n30252\t2\n30270\t2\n30281\t2\n30284\t2\n30285\t2\n30295\t2\n30315\t2\n30317\t2\n30322\t2\n30330\t2\n30340\t2\n30341\t2\n30342\t2\n30344\t2\n30355\t2\n30356\t2\n30358\t2\n30360\t2\n30368\t2\n30377\t2\n30381\t2\n30391\t2\n30393\t2\n30395\t2\n30396\t2\n30398\t2\n30402\t2\n30403\t2\n30404\t2\n30411\t2\n30442\t2\n30446\t2\n30449\t2\n30453\t2\n30470\t2\n30478\t2\n30483\t2\n30489\t2\n30501\t2\n30506\t2\n30508\t2\n30517\t2\n30522\t2\n30541\t2\n30551\t2\n30557\t2\n30563\t2\n30568\t2\n30572\t2\n30577\t2\n30590\t2\n30593\t2\n30597\t2\n30601\t2\n30608\t2\n30610\t2\n30612\t2\n30620\t2\n30627\t2\n30629\t2\n30634\t2\n30638\t2\n30645\t2\n30654\t2\n30658\t2\n30662\t2\n30666\t2\n30674\t2\n30690\t2\n30692\t2\n30695\t2\n30699\t2\n30702\t2\n30703\t2\n30711\t2\n30712\t2\n30716\t2\n30728\t2\n30729\t2\n30735\t2\n30742\t2\n30747\t2\n30761\t2\n30773\t2\n30779\t2\n30782\t2\n30789\t2\n30794\t2\n30799\t2\n30826\t2\n30831\t2\n30838\t2\n30845\t2\n30846\t2\n30850\t2\n30851\t2\n30852\t2\n30861\t2\n30868\t2\n30869\t2\n30870\t2\n30885\t2\n30894\t2\n30897\t2\n30902\t2\n30906\t2\n30908\t2\n30910\t2\n30914\t2\n30930\t2\n30946\t2\n30951\t2\n30954\t2\n30956\t2\n30958\t2\n30960\t2\n30961\t2\n30966\t2\n30970\t2\n30972\t2\n30976\t2\n30979\t2\n30982\t2\n30985\t2\n30987\t2\n30996\t2\n31000\t2\n31014\t2\n31023\t2\n31025\t2\n31027\t2\n31040\t2\n31042\t2\n31049\t2\n31058\t2\n31061\t2\n31062\t2\n31075\t2\n31089\t2\n31095\t2\n31100\t2\n31114\t2\n31115\t2\n31118\t2\n31120\t2\n31128\t2\n31135\t2\n31137\t2\n31141\t2\n31145\t2\n31146\t2\n31163\t2\n31167\t2\n31179\t2\n31192\t2\n31197\t2\n31210\t2\n31214\t2\n31215\t2\n31216\t2\n31217\t2\n31232\t2\n31236\t2\n31238\t2\n31239\t2\n31240\t2\n31249\t2\n31250\t2\n31251\t2\n31252\t2\n31260\t2\n31275\t2\n31307\t2\n31311\t2\n31329\t2\n31331\t2\n31340\t2\n31344\t2\n31345\t2\n31351\t2\n31366\t2\n31380\t2\n31387\t2\n31389\t2\n31399\t2\n31401\t2\n31404\t2\n31417\t2\n31419\t2\n31426\t2\n31432\t2\n31443\t2\n31446\t2\n31447\t2\n31449\t2\n31450\t2\n31452\t2\n31456\t2\n31462\t2\n31477\t2\n31484\t2\n31490\t2\n31502\t2\n31505\t2\n31510\t2\n31514\t2\n31515\t2\n31517\t2\n31534\t2\n31537\t2\n31553\t2\n31554\t2\n31556\t2\n31557\t2\n31560\t2\n31562\t2\n31566\t2\n31569\t2\n31575\t2\n31578\t2\n31581\t2\n31591\t2\n31600\t2\n31608\t2\n31611\t2\n31620\t2\n31632\t2\n31641\t2\n31646\t2\n31648\t2\n31658\t2\n31660\t2\n31673\t2\n31684\t2\n31685\t2\n31698\t2\n31704\t2\n31705\t2\n31710\t2\n31718\t2\n31719\t2\n31720\t2\n31721\t2\n31739\t2\n31753\t2\n31756\t2\n31760\t2\n31770\t2\n31778\t2\n31781\t2\n31782\t2\n31783\t2\n31784\t2\n31793\t2\n31800\t2\n31804\t2\n31810\t2\n31816\t2\n31825\t2\n31849\t2\n31853\t2\n31861\t2\n31865\t2\n31867\t2\n31870\t2\n31877\t2\n31878\t2\n31889\t2\n31890\t2\n31901\t2\n31904\t2\n31907\t2\n31909\t2\n31917\t2\n31925\t2\n31938\t2\n31943\t2\n31952\t2\n31958\t2\n31967\t2\n31968\t2\n31971\t2\n31976\t2\n31980\t2\n31996\t2\n31997\t2\n32002\t2\n32011\t2\n32015\t2\n32020\t2\n32025\t2\n32032\t2\n32045\t2\n32058\t2\n32062\t2\n32069\t2\n32079\t2\n32082\t2\n32095\t2\n32107\t2\n32109\t2\n32112\t2\n32122\t2\n32130\t2\n32133\t2\n32136\t2\n32138\t2\n32141\t2\n32149\t2\n32155\t2\n32156\t2\n32157\t2\n32166\t2\n32167\t2\n32171\t2\n32176\t2\n32179\t2\n32190\t2\n32195\t2\n32197\t2\n32199\t2\n32209\t2\n32234\t2\n32239\t2\n32241\t2\n32248\t2\n32258\t2\n32269\t2\n32277\t2\n32280\t2\n32284\t2\n32292\t2\n32294\t2\n32295\t2\n32309\t2\n32315\t2\n32322\t2\n32324\t2\n32325\t2\n32349\t2\n32367\t2\n32387\t2\n32390\t2\n32391\t2\n32393\t2\n32399\t2\n32408\t2\n32410\t2\n32411\t2\n32413\t2\n32418\t2\n32420\t2\n32425\t2\n32429\t2\n32432\t2\n32437\t2\n32442\t2\n32452\t2\n32453\t2\n32456\t2\n32457\t2\n32460\t2\n32461\t2\n32474\t2\n32475\t2\n32505\t2\n32508\t2\n32511\t2\n32512\t2\n32515\t2\n32527\t2\n32532\t2\n32533\t2\n32539\t2\n32554\t2\n32563\t2\n32565\t2\n32568\t2\n32590\t2\n32592\t2\n32599\t2\n32600\t2\n32604\t2\n32612\t2\n32613\t2\n32620\t2\n32630\t2\n32635\t2\n32656\t2\n32666\t2\n32670\t2\n32672\t2\n32680\t2\n32687\t2\n32691\t2\n32703\t2\n32706\t2\n32721\t2\n32723\t2\n32724\t2\n32727\t2\n32730\t2\n32731\t2\n32733\t2\n32734\t2\n32738\t2\n32741\t2\n32744\t2\n32747\t2\n32752\t2\n32754\t2\n32757\t2\n32764\t2\n32773\t2\n32774\t2\n32775\t2\n32784\t2\n32786\t2\n32790\t2\n32797\t2\n32799\t2\n32801\t2\n32806\t2\n32807\t2\n32810\t2\n32826\t2\n32833\t2\n32866\t2\n32868\t2\n32876\t2\n32878\t2\n32886\t2\n32887\t2\n32888\t2\n32891\t2\n32895\t2\n32896\t2\n32898\t2\n32935\t2\n32941\t2\n32944\t2\n32946\t2\n32952\t2\n32957\t2\n32958\t2\n32959\t2\n32963\t2\n32972\t2\n32977\t2\n32983\t2\n32989\t2\n32990\t2\n32991\t2\n32993\t2\n32997\t2\n33000\t2\n33012\t2\n33014\t2\n33020\t2\n33041\t2\n33048\t2\n33051\t2\n33056\t2\n33071\t2\n33080\t2\n33088\t2\n33101\t2\n33103\t2\n33105\t2\n33110\t2\n33111\t2\n33112\t2\n33123\t2\n33127\t2\n33141\t2\n33164\t2\n33173\t2\n33177\t2\n33194\t2\n33206\t2\n33217\t2\n33224\t2\n33225\t2\n33226\t2\n33228\t2\n33235\t2\n33244\t2\n33249\t2\n33250\t2\n33251\t2\n33254\t2\n33256\t2\n33258\t2\n33264\t2\n33265\t2\n33277\t2\n33283\t2\n33284\t2\n33285\t2\n33290\t2\n33307\t2\n33308\t2\n33321\t2\n33326\t2\n33345\t2\n33348\t2\n33349\t2\n33350\t2\n33355\t2\n33356\t2\n33364\t2\n33379\t2\n33385\t2\n33393\t2\n33397\t2\n33399\t2\n33403\t2\n33423\t2\n33425\t2\n33427\t2\n33432\t2\n33435\t2\n33438\t2\n33449\t2\n33452\t2\n33454\t2\n33457\t2\n33461\t2\n33470\t2\n33479\t2\n33487\t2\n33492\t2\n33498\t2\n33500\t2\n33505\t2\n33524\t2\n33529\t2\n33539\t2\n33545\t2\n33554\t2\n33557\t2\n33561\t2\n33566\t2\n33574\t2\n33578\t2\n33591\t2\n33596\t2\n33600\t2\n33601\t2\n33602\t2\n33608\t2\n33612\t2\n33619\t2\n33623\t2\n33629\t2\n33644\t2\n33647\t2\n33651\t2\n33652\t2\n33653\t2\n33656\t2\n33657\t2\n33669\t2\n33675\t2\n33689\t2\n33692\t2\n33699\t2\n33700\t2\n33709\t2\n33725\t2\n33726\t2\n33732\t2\n33733\t2\n33735\t2\n33741\t2\n33745\t2\n33752\t2\n33757\t2\n33768\t2\n33781\t2\n33787\t2\n33797\t2\n33801\t2\n33803\t2\n33804\t2\n33813\t2\n33816\t2\n33824\t2\n33837\t2\n33840\t2\n33869\t2\n33879\t2\n33885\t2\n33905\t2\n33908\t2\n33915\t2\n33918\t2\n33937\t2\n33941\t2\n33942\t2\n33945\t2\n33950\t2\n33954\t2\n33960\t2\n33974\t2\n33975\t2\n33977\t2\n33995\t2\n34008\t2\n34010\t2\n34015\t2\n34017\t2\n34018\t2\n34022\t2\n34024\t2\n34036\t2\n34041\t2\n34046\t2\n34050\t2\n34055\t2\n34062\t2\n34074\t2\n34080\t2\n34086\t2\n34087\t2\n34089\t2\n34106\t2\n34117\t2\n34123\t2\n34126\t2\n34127\t2\n34138\t2\n34139\t2\n34146\t2\n34153\t2\n34154\t2\n34159\t2\n34172\t2\n34173\t2\n34174\t2\n34175\t2\n34185\t2\n34203\t2\n34208\t2\n34212\t2\n34223\t2\n34225\t2\n34226\t2\n34231\t2\n34248\t2\n34250\t2\n34254\t2\n34258\t2\n34261\t2\n34262\t2\n34266\t2\n34268\t2\n34269\t2\n34275\t2\n34287\t2\n34295\t2\n34297\t2\n34306\t2\n34313\t2\n34332\t2\n34337\t2\n34339\t2\n34342\t2\n34343\t2\n34347\t2\n34350\t2\n34353\t2\n34358\t2\n34360\t2\n34368\t2\n34378\t2\n34383\t2\n34388\t2\n34399\t2\n34406\t2\n34409\t2\n34421\t2\n34444\t2\n34446\t2\n34450\t2\n34452\t2\n34477\t2\n34478\t2\n34483\t2\n34491\t2\n34493\t2\n34494\t2\n34498\t2\n34499\t2\n34502\t2\n34509\t2\n34518\t2\n34541\t2\n34550\t2\n34562\t2\n34564\t2\n34566\t2\n34575\t2\n34585\t2\n34587\t2\n34590\t2\n34601\t2\n34607\t2\n34612\t2\n34621\t2\n34627\t2\n34629\t2\n34640\t2\n34644\t2\n34652\t2\n34655\t2\n34659\t2\n34684\t2\n34689\t2\n34696\t2\n34707\t2\n34712\t2\n34713\t2\n34720\t2\n34721\t2\n34728\t2\n34729\t2\n34730\t2\n34736\t2\n34744\t2\n34745\t2\n34754\t2\n34757\t2\n34772\t2\n34775\t2\n34784\t2\n34785\t2\n34786\t2\n34792\t2\n34797\t2\n34798\t2\n34802\t2\n34805\t2\n34814\t2\n34817\t2\n34827\t2\n34829\t2\n34832\t2\n34842\t2\n34846\t2\n34854\t2\n34870\t2\n34871\t2\n34872\t2\n34891\t2\n34900\t2\n34905\t2\n34906\t2\n34912\t2\n34916\t2\n34917\t2\n34921\t2\n34935\t2\n34947\t2\n34962\t2\n34965\t2\n34969\t2\n34970\t2\n34977\t2\n34978\t2\n34987\t2\n34990\t2\n34997\t2\n35003\t2\n35005\t2\n35014\t2\n35019\t2\n35023\t2\n35033\t2\n35042\t2\n35043\t2\n35045\t2\n35052\t2\n35054\t2\n35062\t2\n35063\t2\n35066\t2\n35073\t2\n35092\t2\n35100\t2\n35112\t2\n35120\t2\n35121\t2\n35125\t2\n35129\t2\n35130\t2\n35132\t2\n35134\t2\n35140\t2\n35147\t2\n35153\t2\n35156\t2\n35157\t2\n35169\t2\n35175\t2\n35184\t2\n35188\t2\n35192\t2\n35200\t2\n35204\t2\n35206\t2\n35212\t2\n35213\t2\n35215\t2\n35218\t2\n35220\t2\n35228\t2\n35240\t2\n35242\t2\n35246\t2\n35250\t2\n35252\t2\n35255\t2\n35268\t2\n35270\t2\n35273\t2\n35274\t2\n35290\t2\n35291\t2\n35313\t2\n35327\t2\n35335\t2\n35340\t2\n35342\t2\n35343\t2\n35357\t2\n35366\t2\n35367\t2\n35380\t2\n35386\t2\n35395\t2\n35405\t2\n35407\t2\n35417\t2\n35419\t2\n35420\t2\n35431\t2\n35443\t2\n35449\t2\n35450\t2\n35452\t2\n35453\t2\n35454\t2\n35456\t2\n35459\t2\n35463\t2\n35478\t2\n35496\t2\n35525\t2\n35530\t2\n35545\t2\n35546\t2\n35548\t2\n35552\t2\n35559\t2\n35570\t2\n35578\t2\n35583\t2\n35585\t2\n35594\t2\n35596\t2\n35611\t2\n35613\t2\n35616\t2\n35617\t2\n35619\t2\n35627\t2\n35630\t2\n35656\t2\n35682\t2\n35686\t2\n35687\t2\n35692\t2\n35696\t2\n35715\t2\n35716\t2\n35718\t2\n35721\t2\n35728\t2\n35731\t2\n35738\t2\n35743\t2\n35745\t2\n35758\t2\n35759\t2\n35762\t2\n35767\t2\n35770\t2\n35771\t2\n35782\t2\n35783\t2\n35792\t2\n35796\t2\n35798\t2\n35800\t2\n35808\t2\n35810\t2\n35817\t2\n35819\t2\n35821\t2\n35839\t2\n35844\t2\n35845\t2\n35853\t2\n35855\t2\n35866\t2\n35867\t2\n35889\t2\n35898\t2\n35906\t2\n35912\t2\n35916\t2\n35919\t2\n35924\t2\n35927\t2\n35942\t2\n35946\t2\n35951\t2\n35955\t2\n35957\t2\n35958\t2\n35971\t2\n35994\t2\n36009\t2\n36010\t2\n36013\t2\n36026\t2\n36027\t2\n36036\t2\n36044\t2\n36046\t2\n36051\t2\n36054\t2\n36057\t2\n36065\t2\n36067\t2\n36068\t2\n36069\t2\n36072\t2\n36075\t2\n36076\t2\n36083\t2\n36106\t2\n36109\t2\n36123\t2\n36129\t2\n36130\t2\n36132\t2\n36140\t2\n36147\t2\n36176\t2\n36182\t2\n36198\t2\n36206\t2\n36218\t2\n36229\t2\n36234\t2\n36235\t2\n36252\t2\n36256\t2\n36268\t2\n36275\t2\n36276\t2\n36277\t2\n36281\t2\n36282\t2\n36285\t2\n36287\t2\n36297\t2\n36300\t2\n36313\t2\n36319\t2\n36339\t2\n36341\t2\n36344\t2\n36357\t2\n36360\t2\n36370\t2\n36375\t2\n36379\t2\n36384\t2\n36393\t2\n36406\t2\n36410\t2\n36413\t2\n36421\t2\n36427\t2\n36432\t2\n36433\t2\n36440\t2\n36448\t2\n36451\t2\n36456\t2\n36457\t2\n36463\t2\n36479\t2\n36480\t2\n36490\t2\n36497\t2\n36499\t2\n36501\t2\n36508\t2\n36526\t2\n36546\t2\n36547\t2\n36564\t2\n36567\t2\n36569\t2\n36583\t2\n36590\t2\n36595\t2\n36604\t2\n36614\t2\n36632\t2\n36638\t2\n36646\t2\n36647\t2\n36650\t2\n36652\t2\n36656\t2\n36660\t2\n36673\t2\n36676\t2\n36686\t2\n36703\t2\n36708\t2\n36709\t2\n36712\t2\n36713\t2\n36715\t2\n36716\t2\n36719\t2\n36721\t2\n36729\t2\n36732\t2\n36737\t2\n36742\t2\n36745\t2\n36746\t2\n36750\t2\n36751\t2\n36753\t2\n36754\t2\n36755\t2\n36760\t2\n36761\t2\n36767\t2\n36769\t2\n36772\t2\n36781\t2\n36784\t2\n36792\t2\n36793\t2\n36794\t2\n36814\t2\n36817\t2\n36821\t2\n36828\t2\n36829\t2\n36833\t2\n36834\t2\n36846\t2\n36859\t2\n36864\t2\n36886\t2\n36887\t2\n36888\t2\n36889\t2\n36901\t2\n36903\t2\n36906\t2\n36921\t2\n36942\t2\n36948\t2\n36950\t2\n36954\t2\n36955\t2\n36956\t2\n36960\t2\n36971\t2\n36972\t2\n36973\t2\n36980\t2\n36986\t2\n36989\t2\n36992\t2\n36998\t2\n37002\t2\n37004\t2\n37007\t2\n37013\t2\n37014\t2\n37032\t2\n37035\t2\n37037\t2\n37038\t2\n37043\t2\n37063\t2\n37068\t2\n37087\t2\n37089\t2\n37097\t2\n37098\t2\n37102\t2\n37115\t2\n37117\t2\n37137\t2\n37153\t2\n37156\t2\n37159\t2\n37161\t2\n37169\t2\n37177\t2\n37178\t2\n37180\t2\n37181\t2\n37189\t2\n37196\t2\n37198\t2\n37199\t2\n37203\t2\n37211\t2\n37219\t2\n37224\t2\n37233\t2\n37234\t2\n37241\t2\n37242\t2\n37250\t2\n37255\t2\n37258\t2\n37259\t2\n37265\t2\n37275\t2\n37277\t2\n37281\t2\n37282\t2\n37285\t2\n37291\t2\n37298\t2\n37311\t2\n37315\t2\n37317\t2\n37331\t2\n37333\t2\n37336\t2\n37342\t2\n37345\t2\n37348\t2\n37353\t2\n37357\t2\n37367\t2\n37372\t2\n37374\t2\n37384\t2\n37394\t2\n37395\t2\n37410\t2\n37412\t2\n37432\t2\n37439\t2\n37447\t2\n37453\t2\n37466\t2\n37479\t2\n37482\t2\n37487\t2\n37490\t2\n37497\t2\n37498\t2\n37501\t2\n37527\t2\n37538\t2\n37560\t2\n37569\t2\n37574\t2\n37576\t2\n37581\t2\n37587\t2\n37591\t2\n37599\t2\n37603\t2\n37608\t2\n37610\t2\n37612\t2\n37618\t2\n37626\t2\n37629\t2\n37631\t2\n37638\t2\n37645\t2\n37656\t2\n37660\t2\n37665\t2\n37668\t2\n37669\t2\n37671\t2\n37674\t2\n37679\t2\n37681\t2\n37685\t2\n37694\t2\n37698\t2\n37699\t2\n37702\t2\n37714\t2\n37721\t2\n37722\t2\n37725\t2\n37726\t2\n37729\t2\n37738\t2\n37763\t2\n37764\t2\n37765\t2\n37767\t2\n37771\t2\n37773\t2\n37778\t2\n37779\t2\n37784\t2\n37786\t2\n37791\t2\n37792\t2\n37800\t2\n37801\t2\n37804\t2\n37808\t2\n37814\t2\n37827\t2\n37828\t2\n37834\t2\n37840\t2\n37844\t2\n37858\t2\n37861\t2\n37863\t2\n37864\t2\n37878\t2\n37883\t2\n37893\t2\n37903\t2\n37904\t2\n37917\t2\n37918\t2\n37930\t2\n37931\t2\n37934\t2\n37937\t2\n37956\t2\n37963\t2\n37974\t2\n37975\t2\n37986\t2\n37996\t2\n38005\t2\n38008\t2\n38020\t2\n38025\t2\n38027\t2\n38028\t2\n38029\t2\n38032\t2\n38037\t2\n38039\t2\n38041\t2\n38045\t2\n38060\t2\n38061\t2\n38062\t2\n38079\t2\n38082\t2\n38085\t2\n38095\t2\n38098\t2\n38100\t2\n38113\t2\n38128\t2\n38135\t2\n38138\t2\n38139\t2\n38147\t2\n38153\t2\n38157\t2\n38160\t2\n38169\t2\n38171\t2\n38172\t2\n38174\t2\n38176\t2\n38184\t2\n38187\t2\n38189\t2\n38190\t2\n38193\t2\n38195\t2\n38198\t2\n38202\t2\n38217\t2\n38219\t2\n38220\t2\n38222\t2\n38232\t2\n38234\t2\n38235\t2\n38240\t2\n38241\t2\n38251\t2\n38254\t2\n38256\t2\n38259\t2\n38263\t2\n38270\t2\n38286\t2\n38291\t2\n38293\t2\n38304\t2\n38311\t2\n38319\t2\n38322\t2\n38325\t2\n38329\t2\n38336\t2\n38338\t2\n38348\t2\n38351\t2\n38355\t2\n38357\t2\n38372\t2\n38377\t2\n38378\t2\n38379\t2\n38386\t2\n38388\t2\n38401\t2\n38402\t2\n38414\t2\n38416\t2\n38423\t2\n38424\t2\n38432\t2\n38436\t2\n38445\t2\n38457\t2\n38459\t2\n38460\t2\n38462\t2\n38464\t2\n38465\t2\n38476\t2\n38483\t2\n38485\t2\n38500\t2\n38502\t2\n38507\t2\n38511\t2\n38535\t2\n38536\t2\n38537\t2\n38548\t2\n38552\t2\n38565\t2\n38570\t2\n38582\t2\n38588\t2\n38589\t2\n38590\t2\n38601\t2\n38604\t2\n38607\t2\n38614\t2\n38619\t2\n38620\t2\n38621\t2\n38622\t2\n38626\t2\n38628\t2\n38643\t2\n38652\t2\n38664\t2\n38670\t2\n38672\t2\n38679\t2\n38681\t2\n38686\t2\n38688\t2\n38691\t2\n38696\t2\n38702\t2\n38705\t2\n38713\t2\n38721\t2\n38725\t2\n38728\t2\n38730\t2\n38741\t2\n38752\t2\n38755\t2\n38763\t2\n38768\t2\n38769\t2\n38776\t2\n38777\t2\n38791\t2\n38793\t2\n38806\t2\n38810\t2\n38822\t2\n38829\t2\n38836\t2\n38838\t2\n38841\t2\n38849\t2\n38857\t2\n38863\t2\n38874\t2\n38878\t2\n38879\t2\n38883\t2\n38888\t2\n38890\t2\n38900\t2\n38906\t2\n38908\t2\n38912\t2\n38914\t2\n38925\t2\n38934\t2\n38942\t2\n38947\t2\n38953\t2\n38964\t2\n38966\t2\n38968\t2\n38969\t2\n38976\t2\n38984\t2\n38985\t2\n38989\t2\n38991\t2\n38999\t2\n39001\t2\n39002\t2\n39013\t2\n39014\t2\n39017\t2\n39018\t2\n39034\t2\n39045\t2\n39049\t2\n39054\t2\n39058\t2\n39065\t2\n39094\t2\n39117\t2\n39128\t2\n39135\t2\n39142\t2\n39150\t2\n39155\t2\n39159\t2\n39163\t2\n39167\t2\n39168\t2\n39172\t2\n39175\t2\n39176\t2\n39186\t2\n39203\t2\n39204\t2\n39210\t2\n39211\t2\n39217\t2\n39227\t2\n39234\t2\n39239\t2\n39240\t2\n39244\t2\n39247\t2\n39260\t2\n39261\t2\n39264\t2\n39269\t2\n39271\t2\n39276\t2\n39277\t2\n39278\t2\n39281\t2\n39291\t2\n39302\t2\n39303\t2\n39304\t2\n39309\t2\n39313\t2\n39315\t2\n39355\t2\n39357\t2\n39367\t2\n39374\t2\n39377\t2\n39381\t2\n39383\t2\n39400\t2\n39407\t2\n39410\t2\n39416\t2\n39430\t2\n39447\t2\n39449\t2\n39459\t2\n39470\t2\n39472\t2\n39485\t2\n39487\t2\n39489\t2\n39496\t2\n39498\t2\n39502\t2\n39506\t2\n39509\t2\n39514\t2\n39529\t2\n39534\t2\n39536\t2\n39548\t2\n39560\t2\n39563\t2\n39569\t2\n39574\t2\n39579\t2\n39580\t2\n39581\t2\n39582\t2\n39587\t2\n39588\t2\n39613\t2\n39618\t2\n39620\t2\n39621\t2\n39622\t2\n39625\t2\n39628\t2\n39644\t2\n39645\t2\n39647\t2\n39652\t2\n39659\t2\n39669\t2\n39671\t2\n39673\t2\n39675\t2\n39690\t2\n39699\t2\n39717\t2\n39725\t2\n39729\t2\n39730\t2\n39738\t2\n39741\t2\n39744\t2\n39748\t2\n39750\t2\n39752\t2\n39754\t2\n39756\t2\n39758\t2\n39760\t2\n39761\t2\n39763\t2\n39765\t2\n39768\t2\n39778\t2\n39780\t2\n39781\t2\n39782\t2\n39797\t2\n39800\t2\n39810\t2\n39815\t2\n39825\t2\n39829\t2\n39840\t2\n39844\t2\n39845\t2\n39847\t2\n39857\t2\n39863\t2\n39870\t2\n39872\t2\n39888\t2\n39890\t2\n39897\t2\n39899\t2\n39900\t2\n39902\t2\n39903\t2\n39909\t2\n39914\t2\n39917\t2\n39918\t2\n39934\t2\n39943\t2\n39951\t2\n39955\t2\n39956\t2\n39963\t2\n39977\t2\n39982\t2\n39987\t2\n39993\t2\n40000\t2\n40012\t2\n40015\t2\n40020\t2\n40021\t2\n40022\t2\n40029\t2\n40030\t2\n40035\t2\n40036\t2\n40042\t2\n40064\t2\n40070\t2\n40072\t2\n40073\t2\n40079\t2\n40090\t2\n40091\t2\n40097\t2\n40106\t2\n40107\t2\n40109\t2\n40110\t2\n40113\t2\n40124\t2\n40130\t2\n40135\t2\n40140\t2\n40156\t2\n40160\t2\n40177\t2\n40189\t2\n40199\t2\n40215\t2\n40222\t2\n40224\t2\n40226\t2\n40230\t2\n40235\t2\n40241\t2\n40247\t2\n40250\t2\n40260\t2\n40261\t2\n40273\t2\n40283\t2\n40286\t2\n40289\t2\n40293\t2\n40296\t2\n40301\t2\n40322\t2\n40325\t2\n40332\t2\n40333\t2\n40343\t2\n40350\t2\n40356\t2\n40362\t2\n40373\t2\n40377\t2\n40380\t2\n40385\t2\n40391\t2\n40404\t2\n40427\t2\n40435\t2\n40446\t2\n40457\t2\n40460\t2\n40470\t2\n40472\t2\n40483\t2\n40485\t2\n40489\t2\n40491\t2\n40493\t2\n40494\t2\n40499\t2\n40500\t2\n40504\t2\n40508\t2\n40518\t2\n40519\t2\n40522\t2\n40523\t2\n40525\t2\n40530\t2\n40532\t2\n40534\t2\n40535\t2\n40548\t2\n40555\t2\n40558\t2\n40559\t2\n40561\t2\n40574\t2\n40579\t2\n40583\t2\n40588\t2\n40592\t2\n40593\t2\n40599\t2\n40600\t2\n40617\t2\n40618\t2\n40625\t2\n40627\t2\n40640\t2\n40646\t2\n40647\t2\n40652\t2\n40653\t2\n40654\t2\n40669\t2\n40674\t2\n40676\t2\n40680\t2\n40687\t2\n40689\t2\n40690\t2\n40696\t2\n40700\t2\n40707\t2\n40718\t2\n40719\t2\n40727\t2\n40728\t2\n40739\t2\n40742\t2\n40747\t2\n40755\t2\n40756\t2\n40762\t2\n40765\t2\n40770\t2\n40776\t2\n40784\t2\n40795\t2\n40805\t2\n40814\t2\n40822\t2\n40823\t2\n40832\t2\n40856\t2\n40857\t2\n40863\t2\n40864\t2\n40867\t2\n40875\t2\n40878\t2\n40882\t2\n40887\t2\n40893\t2\n40894\t2\n40896\t2\n40897\t2\n40899\t2\n40923\t2\n40927\t2\n40939\t2\n40947\t2\n40951\t2\n40959\t2\n40960\t2\n40961\t2\n40966\t2\n40967\t2\n40968\t2\n40971\t2\n40974\t2\n41000\t2\n41009\t2\n41015\t2\n41016\t2\n41018\t2\n41021\t2\n41037\t2\n41046\t2\n41050\t2\n41054\t2\n41056\t2\n41068\t2\n41071\t2\n41079\t2\n41080\t2\n41081\t2\n41083\t2\n41100\t2\n41101\t2\n41112\t2\n41113\t2\n41116\t2\n41119\t2\n41121\t2\n41123\t2\n41133\t2\n41162\t2\n41166\t2\n41175\t2\n41180\t2\n41183\t2\n41186\t2\n41189\t2\n41191\t2\n41198\t2\n41200\t2\n41213\t2\n41217\t2\n41222\t2\n41232\t2\n41236\t2\n41238\t2\n41243\t2\n41246\t2\n41249\t2\n41250\t2\n41255\t2\n41258\t2\n41264\t2\n41265\t2\n41276\t2\n41277\t2\n41293\t2\n41303\t2\n41304\t2\n41307\t2\n41322\t2\n41329\t2\n41330\t2\n41331\t2\n41333\t2\n41336\t2\n41341\t2\n41347\t2\n41351\t2\n41352\t2\n41355\t2\n41359\t2\n41370\t2\n41375\t2\n41390\t2\n41391\t2\n41392\t2\n41399\t2\n41409\t2\n41430\t2\n41449\t2\n41452\t2\n41456\t2\n41458\t2\n41459\t2\n41460\t2\n41462\t2\n41464\t2\n41467\t2\n41470\t2\n41472\t2\n41474\t2\n41475\t2\n41476\t2\n41488\t2\n41492\t2\n41493\t2\n41495\t2\n41499\t2\n41524\t2\n41526\t2\n41527\t2\n41528\t2\n41540\t2\n41549\t2\n41550\t2\n41562\t2\n41566\t2\n41576\t2\n41581\t2\n41590\t2\n41595\t2\n41615\t2\n41617\t2\n41627\t2\n41641\t2\n41642\t2\n41646\t2\n41647\t2\n41654\t2\n41660\t2\n41662\t2\n41666\t2\n41668\t2\n41670\t2\n41674\t2\n41675\t2\n41679\t2\n41682\t2\n41694\t2\n41700\t2\n41710\t2\n41711\t2\n41712\t2\n41716\t2\n41731\t2\n41740\t2\n41742\t2\n41753\t2\n41755\t2\n41760\t2\n41763\t2\n41770\t2\n41772\t2\n41782\t2\n41785\t2\n41800\t2\n41804\t2\n41805\t2\n41806\t2\n41808\t2\n41809\t2\n41812\t2\n41836\t2\n41837\t2\n41843\t2\n41847\t2\n41848\t2\n41850\t2\n41860\t2\n41861\t2\n41870\t2\n41874\t2\n41878\t2\n41879\t2\n41885\t2\n41887\t2\n41888\t2\n41899\t2\n41905\t2\n41912\t2\n41916\t2\n41921\t2\n41924\t2\n41925\t2\n41931\t2\n41937\t2\n41939\t2\n41945\t2\n41961\t2\n41963\t2\n41977\t2\n41996\t2\n42001\t2\n42006\t2\n42011\t2\n42012\t2\n42022\t2\n42033\t2\n42034\t2\n42039\t2\n42069\t2\n42073\t2\n42081\t2\n42091\t2\n42098\t2\n42103\t2\n42106\t2\n42110\t2\n42114\t2\n42115\t2\n42120\t2\n42131\t2\n42137\t2\n42138\t2\n42139\t2\n42148\t2\n42157\t2\n42161\t2\n42167\t2\n42173\t2\n42177\t2\n42178\t2\n42180\t2\n42182\t2\n42183\t2\n42187\t2\n42193\t2\n42195\t2\n42201\t2\n42203\t2\n42207\t2\n42215\t2\n42217\t2\n42224\t2\n42228\t2\n42229\t2\n42232\t2\n42248\t2\n42253\t2\n42257\t2\n42259\t2\n42264\t2\n42266\t2\n42267\t2\n42269\t2\n42275\t2\n42277\t2\n42294\t2\n42295\t2\n42303\t2\n42308\t2\n42311\t2\n42312\t2\n42313\t2\n42316\t2\n42317\t2\n42318\t2\n42338\t2\n42350\t2\n42356\t2\n42358\t2\n42364\t2\n42365\t2\n42368\t2\n42374\t2\n42375\t2\n42380\t2\n42384\t2\n42405\t2\n42411\t2\n42414\t2\n42421\t2\n42426\t2\n42442\t2\n42448\t2\n42450\t2\n42451\t2\n42453\t2\n42454\t2\n42460\t2\n42473\t2\n42475\t2\n42476\t2\n42477\t2\n42478\t2\n42480\t2\n42482\t2\n42483\t2\n42497\t2\n42498\t2\n42506\t2\n42511\t2\n42515\t2\n42520\t2\n42523\t2\n42540\t2\n42547\t2\n42563\t2\n42567\t2\n42573\t2\n42586\t2\n42590\t2\n42596\t2\n42604\t2\n42618\t2\n42625\t2\n42633\t2\n42634\t2\n42636\t2\n42637\t2\n42644\t2\n42656\t2\n42668\t2\n42672\t2\n42675\t2\n42679\t2\n42680\t2\n42692\t2\n42693\t2\n42695\t2\n42703\t2\n42714\t2\n42720\t2\n42723\t2\n42729\t2\n42757\t2\n42758\t2\n42762\t2\n42769\t2\n42779\t2\n42781\t2\n42787\t2\n42789\t2\n42797\t2\n42800\t2\n42801\t2\n42803\t2\n42805\t2\n42806\t2\n42808\t2\n42814\t2\n42815\t2\n42821\t2\n42823\t2\n42854\t2\n42860\t2\n42864\t2\n42873\t2\n42874\t2\n42876\t2\n42879\t2\n42883\t2\n42889\t2\n42894\t2\n42902\t2\n42904\t2\n42917\t2\n42924\t2\n42925\t2\n42931\t2\n42932\t2\n42938\t2\n42939\t2\n42948\t2\n42951\t2\n42959\t2\n42968\t2\n42970\t2\n42975\t2\n42977\t2\n42979\t2\n42981\t2\n42985\t2\n42986\t2\n42991\t2\n42996\t2\n42997\t2\n42999\t2\n43000\t2\n43002\t2\n43008\t2\n43010\t2\n43020\t2\n43021\t2\n43025\t2\n43032\t2\n43035\t2\n43067\t2\n43085\t2\n43088\t2\n43093\t2\n43097\t2\n43113\t2\n43114\t2\n43116\t2\n43121\t2\n43123\t2\n43131\t2\n43138\t2\n43143\t2\n43146\t2\n43149\t2\n43155\t2\n43182\t2\n43185\t2\n43191\t2\n43209\t2\n43211\t2\n43223\t2\n43225\t2\n43227\t2\n43228\t2\n43234\t2\n43237\t2\n43242\t2\n43255\t2\n43257\t2\n43261\t2\n43263\t2\n43268\t2\n43271\t2\n43279\t2\n43280\t2\n43281\t2\n43283\t2\n43285\t2\n43286\t2\n43293\t2\n43295\t2\n43310\t2\n43317\t2\n43328\t2\n43329\t2\n43331\t2\n43332\t2\n43333\t2\n43344\t2\n43354\t2\n43356\t2\n43358\t2\n43367\t2\n43377\t2\n43389\t2\n43397\t2\n43404\t2\n43405\t2\n43406\t2\n43413\t2\n43433\t2\n43437\t2\n43447\t2\n43448\t2\n43457\t2\n43463\t2\n43465\t2\n43467\t2\n43470\t2\n43476\t2\n43488\t2\n43491\t2\n43492\t2\n43497\t2\n43502\t2\n43515\t2\n43534\t2\n43542\t2\n43548\t2\n43564\t2\n43568\t2\n43569\t2\n43571\t2\n43577\t2\n43583\t2\n43601\t2\n43605\t2\n43610\t2\n43615\t2\n43627\t2\n43630\t2\n43641\t2\n43647\t2\n43649\t2\n43653\t2\n43654\t2\n43659\t2\n43661\t2\n43669\t2\n43686\t2\n43689\t2\n43696\t2\n43726\t2\n43727\t2\n43729\t2\n43741\t2\n43742\t2\n43752\t2\n43754\t2\n43763\t2\n43777\t2\n43783\t2\n43788\t2\n43795\t2\n43801\t2\n43804\t2\n43826\t2\n43842\t2\n43844\t2\n43846\t2\n43856\t2\n43859\t2\n43862\t2\n43866\t2\n43868\t2\n43870\t2\n43876\t2\n43879\t2\n43888\t2\n43892\t2\n43902\t2\n43904\t2\n43908\t2\n43913\t2\n43915\t2\n43916\t2\n43925\t2\n43926\t2\n43927\t2\n43930\t2\n43932\t2\n43942\t2\n43975\t2\n43981\t2\n43983\t2\n44013\t2\n44017\t2\n44027\t2\n44028\t2\n44029\t2\n44042\t2\n44044\t2\n44049\t2\n44056\t2\n44057\t2\n44060\t2\n44063\t2\n44065\t2\n44068\t2\n44069\t2\n44086\t2\n44087\t2\n44088\t2\n44096\t2\n44105\t2\n44117\t2\n44123\t2\n44127\t2\n44138\t2\n44148\t2\n44149\t2\n44156\t2\n44158\t2\n44159\t2\n44163\t2\n44169\t2\n44180\t2\n44184\t2\n44201\t2\n44215\t2\n44216\t2\n44220\t2\n44233\t2\n44235\t2\n44240\t2\n44252\t2\n44258\t2\n44266\t2\n44273\t2\n44274\t2\n44280\t2\n44291\t2\n44296\t2\n44298\t2\n44336\t2\n44337\t2\n44342\t2\n44350\t2\n44352\t2\n44354\t2\n44365\t2\n44372\t2\n44378\t2\n44382\t2\n44388\t2\n44395\t2\n44401\t2\n44409\t2\n44410\t2\n44413\t2\n44417\t2\n44425\t2\n44433\t2\n44445\t2\n44446\t2\n44449\t2\n44450\t2\n44452\t2\n44464\t2\n44473\t2\n44474\t2\n44476\t2\n44481\t2\n44482\t2\n44484\t2\n44485\t2\n44494\t2\n44500\t2\n44510\t2\n44512\t2\n44514\t2\n44515\t2\n44520\t2\n44525\t2\n44534\t2\n44541\t2\n44557\t2\n44564\t2\n44566\t2\n44571\t2\n44576\t2\n44577\t2\n44578\t2\n44585\t2\n44587\t2\n44594\t2\n44596\t2\n44599\t2\n44601\t2\n44602\t2\n44605\t2\n44607\t2\n44612\t2\n44616\t2\n44627\t2\n44630\t2\n44635\t2\n44641\t2\n44645\t2\n44649\t2\n44651\t2\n44654\t2\n44660\t2\n44665\t2\n44667\t2\n44671\t2\n44684\t2\n44685\t2\n44700\t2\n44703\t2\n44711\t2\n44716\t2\n44723\t2\n44724\t2\n44735\t2\n44739\t2\n44740\t2\n44745\t2\n44747\t2\n44749\t2\n44756\t2\n44763\t2\n44765\t2\n44769\t2\n44793\t2\n44796\t2\n44801\t2\n44802\t2\n44811\t2\n44822\t2\n44827\t2\n44836\t2\n44838\t2\n44840\t2\n44842\t2\n44844\t2\n44846\t2\n44858\t2\n44875\t2\n44888\t2\n44895\t2\n44898\t2\n44902\t2\n44903\t2\n44910\t2\n44917\t2\n44923\t2\n44933\t2\n44965\t2\n44971\t2\n44975\t2\n44984\t2\n44985\t2\n44987\t2\n44991\t2\n44992\t2\n45004\t2\n45006\t2\n45017\t2\n45019\t2\n45024\t2\n45027\t2\n45032\t2\n45034\t2\n45042\t2\n45043\t2\n45048\t2\n45059\t2\n45064\t2\n45072\t2\n45075\t2\n45077\t2\n45078\t2\n45083\t2\n45089\t2\n45091\t2\n45095\t2\n45099\t2\n45104\t2\n45105\t2\n45109\t2\n45124\t2\n45149\t2\n45157\t2\n45164\t2\n45169\t2\n45178\t2\n45183\t2\n45190\t2\n45194\t2\n45195\t2\n45198\t2\n45201\t2\n45203\t2\n45205\t2\n45206\t2\n45208\t2\n45219\t2\n45221\t2\n45235\t2\n45237\t2\n45242\t2\n45246\t2\n45251\t2\n45255\t2\n45257\t2\n45260\t2\n45264\t2\n45265\t2\n45272\t2\n45277\t2\n45285\t2\n45295\t2\n45307\t2\n45309\t2\n45313\t2\n45324\t2\n45325\t2\n45326\t2\n45344\t2\n45349\t2\n45362\t2\n45363\t2\n45369\t2\n45375\t2\n45384\t2\n45388\t2\n45392\t2\n45396\t2\n45419\t2\n45425\t2\n45447\t2\n45449\t2\n45459\t2\n45463\t2\n45465\t2\n45470\t2\n45473\t2\n45482\t2\n45484\t2\n45491\t2\n45497\t2\n45529\t2\n45535\t2\n45536\t2\n45540\t2\n45541\t2\n45547\t2\n45552\t2\n45556\t2\n45565\t2\n45567\t2\n45572\t2\n45579\t2\n45590\t2\n45593\t2\n45600\t2\n45602\t2\n45610\t2\n45625\t2\n45629\t2\n45640\t2\n45652\t2\n45659\t2\n45667\t2\n45668\t2\n45680\t2\n45687\t2\n45688\t2\n45700\t2\n45702\t2\n45704\t2\n45707\t2\n45708\t2\n45709\t2\n45714\t2\n45717\t2\n45729\t2\n45731\t2\n45735\t2\n45758\t2\n45760\t2\n45765\t2\n45766\t2\n45768\t2\n45769\t2\n45772\t2\n45780\t2\n45786\t2\n45791\t2\n45798\t2\n45800\t2\n45807\t2\n45812\t2\n45814\t2\n45815\t2\n45819\t2\n45827\t2\n45828\t2\n45835\t2\n45840\t2\n45857\t2\n45863\t2\n45868\t2\n45877\t2\n45879\t2\n45880\t2\n45890\t2\n45896\t2\n45902\t2\n45915\t2\n45920\t2\n45921\t2\n45934\t2\n45942\t2\n45948\t2\n45949\t2\n45952\t2\n45953\t2\n45959\t2\n45965\t2\n45967\t2\n45969\t2\n45981\t2\n45982\t2\n45983\t2\n45994\t2\n46006\t2\n46012\t2\n46014\t2\n46015\t2\n46022\t2\n46040\t2\n46041\t2\n46046\t2\n46054\t2\n46055\t2\n46065\t2\n46072\t2\n46077\t2\n46078\t2\n46089\t2\n46102\t2\n46107\t2\n46117\t2\n46118\t2\n46122\t2\n46128\t2\n46140\t2\n46143\t2\n46146\t2\n46150\t2\n46152\t2\n46154\t2\n46163\t2\n46165\t2\n46172\t2\n46174\t2\n46181\t2\n46182\t2\n46200\t2\n46205\t2\n46208\t2\n46211\t2\n46221\t2\n46227\t2\n46235\t2\n46238\t2\n46242\t2\n46250\t2\n46255\t2\n46267\t2\n46278\t2\n46283\t2\n46285\t2\n46287\t2\n46288\t2\n46293\t2\n46302\t2\n46310\t2\n46312\t2\n46314\t2\n46315\t2\n46319\t2\n46320\t2\n46324\t2\n46326\t2\n46338\t2\n46342\t2\n46343\t2\n46352\t2\n46354\t2\n46363\t2\n46364\t2\n46365\t2\n46367\t2\n46382\t2\n46388\t2\n46389\t2\n46404\t2\n46406\t2\n46409\t2\n46426\t2\n46430\t2\n46441\t2\n46457\t2\n46458\t2\n46459\t2\n46468\t2\n46472\t2\n46482\t2\n46485\t2\n46490\t2\n46492\t2\n46504\t2\n46508\t2\n46510\t2\n46517\t2\n46529\t2\n46536\t2\n46542\t2\n46544\t2\n46548\t2\n46551\t2\n46552\t2\n46554\t2\n46567\t2\n46570\t2\n46592\t2\n46595\t2\n46602\t2\n46603\t2\n46617\t2\n46619\t2\n46624\t2\n46626\t2\n46627\t2\n46628\t2\n46633\t2\n46634\t2\n46643\t2\n46649\t2\n46655\t2\n46657\t2\n46661\t2\n46662\t2\n46676\t2\n46678\t2\n46680\t2\n46682\t2\n46683\t2\n46689\t2\n46691\t2\n46698\t2\n46699\t2\n46704\t2\n46724\t2\n46737\t2\n46739\t2\n46751\t2\n46753\t2\n46766\t2\n46772\t2\n46773\t2\n46783\t2\n46786\t2\n46791\t2\n46792\t2\n46815\t2\n46818\t2\n46820\t2\n46824\t2\n46829\t2\n46830\t2\n46846\t2\n46847\t2\n46849\t2\n46887\t2\n46896\t2\n46902\t2\n46905\t2\n46908\t2\n46911\t2\n46919\t2\n46926\t2\n46934\t2\n46935\t2\n46938\t2\n46945\t2\n46947\t2\n46965\t2\n46966\t2\n46988\t2\n47005\t2\n47009\t2\n47016\t2\n47018\t2\n47021\t2\n47029\t2\n47033\t2\n47041\t2\n47043\t2\n47057\t2\n47070\t2\n47077\t2\n47084\t2\n47092\t2\n47098\t2\n47101\t2\n47102\t2\n47107\t2\n47111\t2\n47112\t2\n47117\t2\n47119\t2\n47130\t2\n47135\t2\n47148\t2\n47152\t2\n47167\t2\n47184\t2\n47194\t2\n47196\t2\n47199\t2\n47201\t2\n47204\t2\n47213\t2\n47215\t2\n47218\t2\n47232\t2\n47242\t2\n47246\t2\n47251\t2\n47253\t2\n47256\t2\n47257\t2\n47268\t2\n47282\t2\n47286\t2\n47287\t2\n47293\t2\n47296\t2\n47298\t2\n47318\t2\n47321\t2\n47328\t2\n47334\t2\n47339\t2\n47351\t2\n47380\t2\n47392\t2\n47400\t2\n47401\t2\n47415\t2\n47420\t2\n47421\t2\n47426\t2\n47430\t2\n47438\t2\n47440\t2\n47441\t2\n47449\t2\n47452\t2\n47453\t2\n47458\t2\n47470\t2\n47472\t2\n47474\t2\n47477\t2\n47483\t2\n47497\t2\n47507\t2\n47511\t2\n47514\t2\n47517\t2\n47518\t2\n47539\t2\n47542\t2\n47543\t2\n47545\t2\n47556\t2\n47557\t2\n47563\t2\n47568\t2\n47584\t2\n47588\t2\n47589\t2\n47603\t2\n47610\t2\n47628\t2\n47629\t2\n47633\t2\n47642\t2\n47643\t2\n47647\t2\n47670\t2\n47671\t2\n47679\t2\n47686\t2\n47691\t2\n47698\t2\n47703\t2\n47716\t2\n47717\t2\n47725\t2\n47734\t2\n47739\t2\n47743\t2\n47747\t2\n47766\t2\n47772\t2\n47779\t2\n47783\t2\n47786\t2\n47789\t2\n47809\t2\n47810\t2\n47814\t2\n47818\t2\n47822\t2\n47830\t2\n47834\t2\n47840\t2\n47855\t2\n47857\t2\n47859\t2\n47860\t2\n47861\t2\n47869\t2\n47882\t2\n47885\t2\n47890\t2\n47905\t2\n47907\t2\n47913\t2\n47918\t2\n47919\t2\n47930\t2\n47937\t2\n47939\t2\n47948\t2\n47955\t2\n47962\t2\n47963\t2\n47965\t2\n47967\t2\n47968\t2\n47973\t2\n47988\t2\n47989\t2\n47993\t2\n48005\t2\n48006\t2\n48007\t2\n48008\t2\n48012\t2\n48013\t2\n48022\t2\n48050\t2\n48051\t2\n48058\t2\n48066\t2\n48067\t2\n48068\t2\n48073\t2\n48077\t2\n48080\t2\n48083\t2\n48096\t2\n48098\t2\n48116\t2\n48117\t2\n48118\t2\n48122\t2\n48123\t2\n48124\t2\n48135\t2\n48137\t2\n48139\t2\n48143\t2\n48163\t2\n48164\t2\n48165\t2\n48167\t2\n48168\t2\n48171\t2\n48174\t2\n48183\t2\n48195\t2\n48202\t2\n48209\t2\n48218\t2\n48221\t2\n48224\t2\n48225\t2\n48230\t2\n48239\t2\n48250\t2\n48254\t2\n48255\t2\n48265\t2\n48277\t2\n48311\t2\n48320\t2\n48353\t2\n48366\t2\n48367\t2\n48370\t2\n48372\t2\n48393\t2\n48398\t2\n48410\t2\n48417\t2\n48424\t2\n48429\t2\n48430\t2\n48436\t2\n48442\t2\n48444\t2\n48446\t2\n48462\t2\n48463\t2\n48473\t2\n48474\t2\n48482\t2\n48488\t2\n48491\t2\n48509\t2\n48518\t2\n48534\t2\n48537\t2\n48539\t2\n48543\t2\n48545\t2\n48549\t2\n48553\t2\n48554\t2\n48555\t2\n48559\t2\n48566\t2\n48589\t2\n48592\t2\n48598\t2\n48600\t2\n48603\t2\n48606\t2\n48609\t2\n48611\t2\n48612\t2\n48620\t2\n48624\t2\n48634\t2\n48645\t2\n48646\t2\n48657\t2\n48664\t2\n48669\t2\n48673\t2\n48684\t2\n48692\t2\n48699\t2\n48704\t2\n48706\t2\n48718\t2\n48725\t2\n48726\t2\n48767\t2\n48778\t2\n48780\t2\n48781\t2\n48787\t2\n48789\t2\n48805\t2\n48807\t2\n48808\t2\n48810\t2\n48814\t2\n48815\t2\n48829\t2\n48838\t2\n48841\t2\n48875\t2\n48877\t2\n48882\t2\n48891\t2\n48896\t2\n48902\t2\n48909\t2\n48916\t2\n48921\t2\n48925\t2\n48934\t2\n48937\t2\n48948\t2\n48957\t2\n48958\t2\n48967\t2\n48970\t2\n48980\t2\n48982\t2\n48985\t2\n48993\t2\n48999\t2\n49003\t2\n49007\t2\n49008\t2\n49012\t2\n49016\t2\n49019\t2\n49027\t2\n49028\t2\n49034\t2\n49035\t2\n49036\t2\n49047\t2\n49049\t2\n49050\t2\n49059\t2\n49065\t2\n49066\t2\n49075\t2\n49077\t2\n49092\t2\n49098\t2\n49107\t2\n49113\t2\n49117\t2\n49118\t2\n49120\t2\n49122\t2\n49124\t2\n49134\t2\n49144\t2\n49152\t2\n49157\t2\n49158\t2\n49160\t2\n49177\t2\n49180\t2\n49191\t2\n49194\t2\n49198\t2\n49208\t2\n49210\t2\n49216\t2\n49236\t2\n49244\t2\n49248\t2\n49250\t2\n49254\t2\n49257\t2\n49258\t2\n49260\t2\n49261\t2\n49263\t2\n49274\t2\n49276\t2\n49283\t2\n49290\t2\n49292\t2\n49296\t2\n49299\t2\n49301\t2\n49302\t2\n49303\t2\n49306\t2\n49311\t2\n49322\t2\n49323\t2\n49337\t2\n49342\t2\n49349\t2\n49353\t2\n49357\t2\n49361\t2\n49370\t2\n49378\t2\n49388\t2\n49391\t2\n49392\t2\n49397\t2\n49402\t2\n49404\t2\n49417\t2\n49422\t2\n49426\t2\n49427\t2\n49429\t2\n49435\t2\n49441\t2\n49448\t2\n49451\t2\n49452\t2\n49453\t2\n49458\t2\n49464\t2\n49468\t2\n49471\t2\n49479\t2\n49486\t2\n49489\t2\n49504\t2\n49512\t2\n49524\t2\n49527\t2\n49530\t2\n49531\t2\n49537\t2\n49541\t2\n49552\t2\n49555\t2\n49563\t2\n49575\t2\n49576\t2\n49577\t2\n49583\t2\n49584\t2\n49586\t2\n49590\t2\n49599\t2\n49604\t2\n49617\t2\n49621\t2\n49629\t2\n49630\t2\n49634\t2\n49636\t2\n49643\t2\n49649\t2\n49663\t2\n49672\t2\n49673\t2\n49684\t2\n49687\t2\n49688\t2\n49689\t2\n49700\t2\n49712\t2\n49718\t2\n49725\t2\n49726\t2\n49729\t2\n49741\t2\n49742\t2\n49750\t2\n49754\t2\n49760\t2\n49761\t2\n49771\t2\n49775\t2\n49782\t2\n49783\t2\n49795\t2\n49805\t2\n49806\t2\n49810\t2\n49812\t2\n49815\t2\n49817\t2\n49824\t2\n49827\t2\n49837\t2\n49839\t2\n49844\t2\n49853\t2\n49866\t2\n49868\t2\n49869\t2\n49872\t2\n49874\t2\n49877\t2\n49878\t2\n49879\t2\n49887\t2\n49896\t2\n49899\t2\n49900\t2\n49902\t2\n49916\t2\n49919\t2\n49925\t2\n49943\t2\n49947\t2\n49949\t2\n49954\t2\n49955\t2\n49957\t2\n49963\t2\n49966\t2\n49974\t2\n49980\t2\n49984\t2\n49989\t2\n49997\t2\n50009\t2\n50016\t2\n50021\t2\n50035\t2\n50050\t2\n50051\t2\n50065\t2\n50105\t2\n50110\t2\n50114\t2\n50119\t2\n50124\t2\n50129\t2\n50134\t2\n50135\t2\n50146\t2\n50147\t2\n50161\t2\n50162\t2\n50171\t2\n50202\t2\n50207\t2\n50214\t2\n50215\t2\n50216\t2\n50218\t2\n50221\t2\n50222\t2\n50224\t2\n50230\t2\n50231\t2\n50241\t2\n50244\t2\n50245\t2\n50261\t2\n50263\t2\n50271\t2\n50274\t2\n50277\t2\n50284\t2\n50288\t2\n50296\t2\n50300\t2\n50304\t2\n50311\t2\n50317\t2\n50328\t2\n50343\t2\n50349\t2\n50355\t2\n50359\t2\n50361\t2\n50377\t2\n50390\t2\n50396\t2\n50398\t2\n50401\t2\n50402\t2\n50405\t2\n50409\t2\n50414\t2\n50418\t2\n50419\t2\n50420\t2\n50432\t2\n50436\t2\n50456\t2\n50459\t2\n50463\t2\n50469\t2\n50471\t2\n50472\t2\n50479\t2\n50490\t2\n50491\t2\n50502\t2\n50508\t2\n50518\t2\n50521\t2\n50524\t2\n50533\t2\n50547\t2\n50565\t2\n50573\t2\n50578\t2\n50582\t2\n50589\t2\n50592\t2\n50595\t2\n50600\t2\n50615\t2\n50616\t2\n50619\t2\n50621\t2\n50633\t2\n50634\t2\n50638\t2\n50648\t2\n50660\t2\n50669\t2\n50673\t2\n50675\t2\n50686\t2\n50689\t2\n50690\t2\n50694\t2\n50698\t2\n50704\t2\n50708\t2\n50710\t2\n50716\t2\n50719\t2\n50725\t2\n50744\t2\n50749\t2\n50754\t2\n50759\t2\n50764\t2\n50768\t2\n50772\t2\n50774\t2\n50783\t2\n50797\t2\n50801\t2\n50807\t2\n50814\t2\n50818\t2\n50829\t2\n50844\t2\n50845\t2\n50846\t2\n50856\t2\n50863\t2\n50864\t2\n50881\t2\n50885\t2\n50887\t2\n50889\t2\n50895\t2\n50900\t2\n50903\t2\n50916\t2\n50933\t2\n50935\t2\n50944\t2\n50948\t2\n50956\t2\n50965\t2\n50966\t2\n50970\t2\n50977\t2\n50988\t2\n50995\t2\n50996\t2\n51006\t2\n51008\t2\n51013\t2\n51015\t2\n51024\t2\n51042\t2\n51046\t2\n51050\t2\n51072\t2\n51094\t2\n51097\t2\n51098\t2\n51101\t2\n51102\t2\n51103\t2\n51108\t2\n51125\t2\n51126\t2\n51127\t2\n51130\t2\n51131\t2\n51132\t2\n51136\t2\n51137\t2\n51138\t2\n51139\t2\n51144\t2\n51157\t2\n51165\t2\n51172\t2\n51180\t2\n51187\t2\n51193\t2\n51195\t2\n51199\t2\n51203\t2\n51204\t2\n51212\t2\n51215\t2\n51225\t2\n51232\t2\n51236\t2\n51241\t2\n51243\t2\n51246\t2\n51248\t2\n51254\t2\n51255\t2\n51269\t2\n51273\t2\n51277\t2\n51297\t2\n51312\t2\n51315\t2\n51316\t2\n51328\t2\n51334\t2\n51343\t2\n51345\t2\n51358\t2\n51359\t2\n51362\t2\n51363\t2\n51364\t2\n51366\t2\n51377\t2\n51385\t2\n51399\t2\n51407\t2\n51409\t2\n51410\t2\n51431\t2\n51436\t2\n51443\t2\n51458\t2\n51459\t2\n51460\t2\n51463\t2\n51464\t2\n51468\t2\n51474\t2\n51476\t2\n51478\t2\n51482\t2\n51484\t2\n51486\t2\n51490\t2\n51499\t2\n51532\t2\n51535\t2\n51542\t2\n51548\t2\n51557\t2\n51563\t2\n51564\t2\n51568\t2\n51589\t2\n51599\t2\n51602\t2\n51603\t2\n51605\t2\n51610\t2\n51613\t2\n51614\t2\n51626\t2\n51627\t2\n51628\t2\n51629\t2\n51641\t2\n51644\t2\n51650\t2\n51651\t2\n51660\t2\n51661\t2\n51663\t2\n51675\t2\n51677\t2\n51679\t2\n51681\t2\n51708\t2\n51722\t2\n51731\t2\n51742\t2\n51746\t2\n51765\t2\n51766\t2\n51774\t2\n51783\t2\n51785\t2\n51788\t2\n51792\t2\n51793\t2\n51798\t2\n51799\t2\n51800\t2\n51811\t2\n51820\t2\n51821\t2\n51822\t2\n51827\t2\n51830\t2\n51842\t2\n51845\t2\n51851\t2\n51853\t2\n51856\t2\n51865\t2\n51869\t2\n51871\t2\n51874\t2\n51889\t2\n51895\t2\n51896\t2\n51898\t2\n51900\t2\n51909\t2\n51914\t2\n51915\t2\n51928\t2\n51936\t2\n51944\t2\n51951\t2\n51956\t2\n51970\t2\n51977\t2\n51984\t2\n51991\t2\n51992\t2\n51997\t2\n51998\t2\n51999\t2\n52009\t2\n52020\t2\n52025\t2\n52030\t2\n52040\t2\n52046\t2\n52049\t2\n52060\t2\n52061\t2\n52065\t2\n52073\t2\n52103\t2\n52104\t2\n52105\t2\n52108\t2\n52120\t2\n52125\t2\n52138\t2\n52139\t2\n52141\t2\n52142\t2\n52143\t2\n52146\t2\n52155\t2\n52158\t2\n52166\t2\n52190\t2\n52201\t2\n52217\t2\n52223\t2\n52224\t2\n52231\t2\n52235\t2\n52239\t2\n52241\t2\n52243\t2\n52254\t2\n52255\t2\n52257\t2\n52298\t2\n52328\t2\n52329\t2\n52339\t2\n52342\t2\n52348\t2\n52352\t2\n52362\t2\n52365\t2\n52378\t2\n52379\t2\n52382\t2\n52387\t2\n52391\t2\n52397\t2\n52404\t2\n52407\t2\n52429\t2\n52434\t2\n52436\t2\n52437\t2\n52452\t2\n52454\t2\n52465\t2\n52472\t2\n52482\t2\n52484\t2\n52490\t2\n52499\t2\n52502\t2\n52518\t2\n52527\t2\n52529\t2\n52532\t2\n52538\t2\n52553\t2\n52555\t2\n52558\t2\n52563\t2\n52566\t2\n52571\t2\n52575\t2\n52596\t2\n52623\t2\n52630\t2\n52632\t2\n52633\t2\n52642\t2\n52643\t2\n52649\t2\n52659\t2\n52672\t2\n52673\t2\n52676\t2\n52680\t2\n52684\t2\n52700\t2\n52703\t2\n52704\t2\n52710\t2\n52715\t2\n52719\t2\n52723\t2\n52731\t2\n52740\t2\n52761\t2\n52768\t2\n52773\t2\n52781\t2\n52785\t2\n52796\t2\n52805\t2\n52807\t2\n52809\t2\n52810\t2\n52815\t2\n52819\t2\n52830\t2\n52832\t2\n52835\t2\n52855\t2\n52866\t2\n52879\t2\n52883\t2\n52885\t2\n52888\t2\n52897\t2\n52898\t2\n52899\t2\n52902\t2\n52903\t2\n52905\t2\n52907\t2\n52911\t2\n52912\t2\n52925\t2\n52936\t2\n52938\t2\n52942\t2\n52962\t2\n52973\t2\n52984\t2\n52990\t2\n52992\t2\n52997\t2\n52998\t2\n53006\t2\n53020\t2\n53022\t2\n53035\t2\n53040\t2\n53050\t2\n53056\t2\n53063\t2\n53084\t2\n53089\t2\n53093\t2\n53095\t2\n53100\t2\n53111\t2\n53130\t2\n53140\t2\n53148\t2\n53152\t2\n53169\t2\n53172\t2\n53174\t2\n53180\t2\n53182\t2\n53187\t2\n53194\t2\n53197\t2\n53209\t2\n53210\t2\n53212\t2\n53223\t2\n53231\t2\n53238\t2\n53240\t2\n53243\t2\n53252\t2\n53253\t2\n53264\t2\n53269\t2\n53276\t2\n53279\t2\n53280\t2\n53283\t2\n53295\t2\n53296\t2\n53304\t2\n53306\t2\n53312\t2\n53320\t2\n53337\t2\n53342\t2\n53350\t2\n53351\t2\n53352\t2\n53354\t2\n53360\t2\n53373\t2\n53383\t2\n53394\t2\n53400\t2\n53403\t2\n53412\t2\n53414\t2\n53418\t2\n53434\t2\n53435\t2\n53450\t2\n53456\t2\n53459\t2\n53460\t2\n53462\t2\n53468\t2\n53475\t2\n53478\t2\n53481\t2\n53484\t2\n53488\t2\n53490\t2\n53491\t2\n53494\t2\n53501\t2\n53503\t2\n53506\t2\n53509\t2\n53510\t2\n53514\t2\n53517\t2\n53519\t2\n53520\t2\n53529\t2\n53534\t2\n53545\t2\n53547\t2\n53550\t2\n53555\t2\n53562\t2\n53568\t2\n53570\t2\n53572\t2\n53597\t2\n53603\t2\n53608\t2\n53614\t2\n53616\t2\n53628\t2\n53629\t2\n53632\t2\n53636\t2\n53641\t2\n53643\t2\n53645\t2\n53653\t2\n53671\t2\n53675\t2\n53691\t2\n53695\t2\n53705\t2\n53712\t2\n53713\t2\n53717\t2\n53718\t2\n53727\t2\n53729\t2\n53731\t2\n53732\t2\n53733\t2\n53748\t2\n53757\t2\n53764\t2\n53766\t2\n53768\t2\n53774\t2\n53781\t2\n53789\t2\n53794\t2\n53797\t2\n53799\t2\n53813\t2\n53816\t2\n53834\t2\n53838\t2\n53842\t2\n53848\t2\n53856\t2\n53865\t2\n53870\t2\n53871\t2\n53872\t2\n53873\t2\n53877\t2\n53878\t2\n53888\t2\n53892\t2\n53902\t2\n53910\t2\n53919\t2\n53920\t2\n53930\t2\n53959\t2\n53978\t2\n53983\t2\n53985\t2\n53997\t2\n54019\t2\n54020\t2\n54031\t2\n54032\t2\n54035\t2\n54041\t2\n54042\t2\n54046\t2\n54048\t2\n54053\t2\n54055\t2\n54060\t2\n54089\t2\n54097\t2\n54100\t2\n54101\t2\n54105\t2\n54109\t2\n54116\t2\n54123\t2\n54130\t2\n54139\t2\n54140\t2\n54147\t2\n54149\t2\n54155\t2\n54156\t2\n54160\t2\n54163\t2\n54178\t2\n54179\t2\n54184\t2\n54201\t2\n54220\t2\n54221\t2\n54226\t2\n54229\t2\n54239\t2\n54242\t2\n54243\t2\n54247\t2\n54249\t2\n54254\t2\n54256\t2\n54263\t2\n54268\t2\n54273\t2\n54274\t2\n54280\t2\n54281\t2\n54285\t2\n54288\t2\n54290\t2\n54291\t2\n54293\t2\n54299\t2\n54312\t2\n54330\t2\n54334\t2\n54335\t2\n54342\t2\n54345\t2\n54349\t2\n54352\t2\n54364\t2\n54373\t2\n54376\t2\n54378\t2\n54397\t2\n54400\t2\n54402\t2\n54404\t2\n54435\t2\n54447\t2\n54449\t2\n54459\t2\n54471\t2\n54481\t2\n54485\t2\n54486\t2\n54494\t2\n54502\t2\n54504\t2\n54506\t2\n54515\t2\n54516\t2\n54522\t2\n54526\t2\n54531\t2\n54532\t2\n54536\t2\n54541\t2\n54546\t2\n54550\t2\n54553\t2\n54556\t2\n54558\t2\n54568\t2\n54574\t2\n54582\t2\n54585\t2\n54595\t2\n54596\t2\n54608\t2\n54609\t2\n54615\t2\n54616\t2\n54621\t2\n54651\t2\n54657\t2\n54663\t2\n54669\t2\n54671\t2\n54681\t2\n54686\t2\n54696\t2\n54697\t2\n54699\t2\n54701\t2\n54707\t2\n54709\t2\n54720\t2\n54723\t2\n54725\t2\n54729\t2\n54731\t2\n54733\t2\n54738\t2\n54746\t2\n54747\t2\n54753\t2\n54757\t2\n54758\t2\n54759\t2\n54762\t2\n54764\t2\n54767\t2\n54769\t2\n54784\t2\n54788\t2\n54789\t2\n54794\t2\n54795\t2\n54800\t2\n54803\t2\n54806\t2\n54812\t2\n54824\t2\n54827\t2\n54831\t2\n54837\t2\n54841\t2\n54850\t2\n54851\t2\n54856\t2\n54865\t2\n54869\t2\n54880\t2\n54881\t2\n54885\t2\n54886\t2\n54887\t2\n54889\t2\n54890\t2\n54892\t2\n54897\t2\n54898\t2\n54903\t2\n54908\t2\n54911\t2\n54917\t2\n54921\t2\n54925\t2\n54926\t2\n54927\t2\n54934\t2\n54941\t2\n54952\t2\n54955\t2\n54962\t2\n54985\t2\n54996\t2\n55008\t2\n55024\t2\n55027\t2\n55028\t2\n55033\t2\n55045\t2\n55048\t2\n55049\t2\n55050\t2\n55059\t2\n55068\t2\n55073\t2\n55081\t2\n55095\t2\n55096\t2\n55098\t2\n55103\t2\n55112\t2\n55113\t2\n55143\t2\n55151\t2\n55160\t2\n55162\t2\n55181\t2\n55184\t2\n55192\t2\n55195\t2\n55196\t2\n55206\t2\n55232\t2\n55238\t2\n55248\t2\n55259\t2\n55262\t2\n55263\t2\n55274\t2\n55278\t2\n55289\t2\n55296\t2\n55300\t2\n55309\t2\n55311\t2\n55315\t2\n55319\t2\n55326\t2\n55352\t2\n55356\t2\n55372\t2\n55375\t2\n55377\t2\n55382\t2\n55388\t2\n55389\t2\n55397\t2\n55407\t2\n55409\t2\n55416\t2\n55424\t2\n55428\t2\n55437\t2\n55455\t2\n55456\t2\n55466\t2\n55476\t2\n55477\t2\n55478\t2\n55489\t2\n55504\t2\n55514\t2\n55515\t2\n55524\t2\n55526\t2\n55547\t2\n55557\t2\n55563\t2\n55567\t2\n55568\t2\n55573\t2\n55578\t2\n55579\t2\n55590\t2\n55607\t2\n55610\t2\n55611\t2\n55613\t2\n55614\t2\n55632\t2\n55633\t2\n55642\t2\n55644\t2\n55648\t2\n55649\t2\n55656\t2\n55657\t2\n55662\t2\n55669\t2\n55671\t2\n55684\t2\n55688\t2\n55699\t2\n55705\t2\n55716\t2\n55719\t2\n55732\t2\n55743\t2\n55753\t2\n55765\t2\n55770\t2\n55780\t2\n55781\t2\n55784\t2\n55789\t2\n55797\t2\n55803\t2\n55805\t2\n55814\t2\n55827\t2\n55828\t2\n55834\t2\n55841\t2\n55842\t2\n55843\t2\n55846\t2\n55847\t2\n55855\t2\n55857\t2\n55864\t2\n55883\t2\n55895\t2\n55898\t2\n55899\t2\n55900\t2\n55905\t2\n55918\t2\n55919\t2\n55924\t2\n55926\t2\n55927\t2\n55932\t2\n55933\t2\n55935\t2\n55936\t2\n55955\t2\n55957\t2\n55960\t2\n55964\t2\n55972\t2\n55973\t2\n55975\t2\n55986\t2\n56018\t2\n56026\t2\n56035\t2\n56040\t2\n56047\t2\n56057\t2\n56062\t2\n56069\t2\n56070\t2\n56074\t2\n56075\t2\n56085\t2\n56087\t2\n56089\t2\n56095\t2\n56101\t2\n56103\t2\n56119\t2\n56124\t2\n56126\t2\n56136\t2\n56159\t2\n56166\t2\n56171\t2\n56176\t2\n56180\t2\n56189\t2\n56193\t2\n56206\t2\n56208\t2\n56220\t2\n56222\t2\n56226\t2\n56231\t2\n56232\t2\n56253\t2\n56254\t2\n56263\t2\n56277\t2\n56284\t2\n56288\t2\n56294\t2\n56302\t2\n56310\t2\n56314\t2\n56315\t2\n56325\t2\n56335\t2\n56336\t2\n56338\t2\n56354\t2\n56355\t2\n56361\t2\n56373\t2\n56375\t2\n56382\t2\n56385\t2\n56387\t2\n56389\t2\n56398\t2\n56406\t2\n56415\t2\n56419\t2\n56420\t2\n56421\t2\n56433\t2\n56441\t2\n56447\t2\n56457\t2\n56464\t2\n56471\t2\n56473\t2\n56476\t2\n56477\t2\n56489\t2\n56493\t2\n56495\t2\n56504\t2\n56505\t2\n56513\t2\n56515\t2\n56521\t2\n56525\t2\n56533\t2\n56540\t2\n56543\t2\n56547\t2\n56548\t2\n56550\t2\n56566\t2\n56571\t2\n56587\t2\n56593\t2\n56599\t2\n56615\t2\n56618\t2\n56623\t2\n56624\t2\n56642\t2\n56653\t2\n56671\t2\n56673\t2\n56679\t2\n56680\t2\n56689\t2\n56693\t2\n56704\t2\n56712\t2\n56740\t2\n56748\t2\n56758\t2\n56761\t2\n56767\t2\n56782\t2\n56793\t2\n56796\t2\n56800\t2\n56807\t2\n56808\t2\n56832\t2\n56834\t2\n56849\t2\n56868\t2\n56873\t2\n56893\t2\n56898\t2\n56905\t2\n56913\t2\n56917\t2\n56918\t2\n56922\t2\n56924\t2\n56928\t2\n56944\t2\n56945\t2\n56947\t2\n56960\t2\n56961\t2\n56962\t2\n56964\t2\n56970\t2\n56971\t2\n56973\t2\n56978\t2\n56980\t2\n56981\t2\n56991\t2\n56994\t2\n56996\t2\n57003\t2\n57006\t2\n57013\t2\n57015\t2\n57017\t2\n57021\t2\n57027\t2\n57029\t2\n57033\t2\n57040\t2\n57044\t2\n57046\t2\n57049\t2\n57057\t2\n57071\t2\n57072\t2\n57075\t2\n57086\t2\n57090\t2\n57092\t2\n57104\t2\n57112\t2\n57114\t2\n57124\t2\n57132\t2\n57134\t2\n57149\t2\n57151\t2\n57164\t2\n57166\t2\n57172\t2\n57175\t2\n57176\t2\n57177\t2\n57179\t2\n57180\t2\n57188\t2\n57212\t2\n57220\t2\n57221\t2\n57224\t2\n57244\t2\n57247\t2\n57249\t2\n57252\t2\n57261\t2\n57266\t2\n57270\t2\n57272\t2\n57277\t2\n57280\t2\n57282\t2\n57287\t2\n57290\t2\n57294\t2\n57311\t2\n57314\t2\n57332\t2\n57337\t2\n57345\t2\n57346\t2\n57349\t2\n57359\t2\n57361\t2\n57364\t2\n57387\t2\n57389\t2\n57391\t2\n57402\t2\n57403\t2\n57411\t2\n57425\t2\n57427\t2\n57429\t2\n57452\t2\n57455\t2\n57464\t2\n57466\t2\n57470\t2\n57472\t2\n57473\t2\n57482\t2\n57484\t2\n57490\t2\n57502\t2\n57503\t2\n57523\t2\n57525\t2\n57528\t2\n57530\t2\n57531\t2\n57535\t2\n57541\t2\n57542\t2\n57545\t2\n57552\t2\n57562\t2\n57573\t2\n57580\t2\n57583\t2\n57597\t2\n57599\t2\n57618\t2\n57620\t2\n57622\t2\n57626\t2\n57634\t2\n57635\t2\n57637\t2\n57655\t2\n57668\t2\n57670\t2\n57672\t2\n57687\t2\n57693\t2\n57705\t2\n57707\t2\n57710\t2\n57711\t2\n57728\t2\n57730\t2\n57732\t2\n57733\t2\n57734\t2\n57737\t2\n57740\t2\n57757\t2\n57761\t2\n57768\t2\n57778\t2\n57780\t2\n57788\t2\n57791\t2\n57795\t2\n57797\t2\n57805\t2\n57813\t2\n57814\t2\n57818\t2\n57819\t2\n57825\t2\n57830\t2\n57832\t2\n57833\t2\n57856\t2\n57857\t2\n57864\t2\n57869\t2\n57876\t2\n57880\t2\n57890\t2\n57900\t2\n57903\t2\n57904\t2\n57912\t2\n57919\t2\n57929\t2\n57931\t2\n57945\t2\n57951\t2\n57953\t2\n57954\t2\n57955\t2\n57956\t2\n57985\t2\n57989\t2\n57990\t2\n57995\t2\n58000\t2\n58001\t2\n58005\t2\n58008\t2\n58017\t2\n58021\t2\n58032\t2\n58036\t2\n58042\t2\n58044\t2\n58046\t2\n58049\t2\n58054\t2\n58060\t2\n58065\t2\n58072\t2\n58076\t2\n58091\t2\n58092\t2\n58103\t2\n58107\t2\n58119\t2\n58121\t2\n58122\t2\n58127\t2\n58129\t2\n58133\t2\n58135\t2\n58141\t2\n58142\t2\n58151\t2\n58158\t2\n58170\t2\n58173\t2\n58176\t2\n58177\t2\n58180\t2\n58184\t2\n58186\t2\n58191\t2\n58193\t2\n58221\t2\n58227\t2\n58247\t2\n58258\t2\n58266\t2\n58268\t2\n58269\t2\n58270\t2\n58272\t2\n58279\t2\n58286\t2\n58288\t2\n58289\t2\n58290\t2\n58296\t2\n58309\t2\n58316\t2\n58318\t2\n58326\t2\n58330\t2\n58334\t2\n58344\t2\n58345\t2\n58346\t2\n58368\t2\n58369\t2\n58375\t2\n58382\t2\n58383\t2\n58386\t2\n58391\t2\n58393\t2\n58396\t2\n58407\t2\n58408\t2\n58419\t2\n58421\t2\n58425\t2\n58428\t2\n58429\t2\n58437\t2\n58439\t2\n58452\t2\n58454\t2\n58460\t2\n58464\t2\n58465\t2\n58466\t2\n58467\t2\n58475\t2\n58477\t2\n58482\t2\n58486\t2\n58487\t2\n58489\t2\n58496\t2\n58499\t2\n58500\t2\n58522\t2\n58541\t2\n58550\t2\n58553\t2\n58557\t2\n58574\t2\n58577\t2\n58582\t2\n58583\t2\n58587\t2\n58599\t2\n58600\t2\n58614\t2\n58626\t2\n58637\t2\n58638\t2\n58643\t2\n58644\t2\n58645\t2\n58650\t2\n58660\t2\n58662\t2\n58668\t2\n58677\t2\n58700\t2\n58705\t2\n58709\t2\n58712\t2\n58715\t2\n58716\t2\n58717\t2\n58727\t2\n58733\t2\n58749\t2\n58753\t2\n58755\t2\n58757\t2\n58771\t2\n58782\t2\n58784\t2\n58787\t2\n58796\t2\n58800\t2\n58804\t2\n58809\t2\n58812\t2\n58815\t2\n58819\t2\n58828\t2\n58835\t2\n58848\t2\n58853\t2\n58868\t2\n58870\t2\n58871\t2\n58884\t2\n58885\t2\n58888\t2\n58893\t2\n58904\t2\n58908\t2\n58915\t2\n58936\t2\n58940\t2\n58947\t2\n58956\t2\n58996\t2\n59005\t2\n59030\t2\n59044\t2\n59048\t2\n59049\t2\n59050\t2\n59057\t2\n59070\t2\n59081\t2\n59084\t2\n59095\t2\n59100\t2\n59104\t2\n59109\t2\n59113\t2\n59118\t2\n59120\t2\n59122\t2\n59128\t2\n59129\t2\n59134\t2\n59135\t2\n59143\t2\n59146\t2\n59147\t2\n59148\t2\n59162\t2\n59167\t2\n59176\t2\n59179\t2\n59181\t2\n59190\t2\n59192\t2\n59198\t2\n59214\t2\n59223\t2\n59224\t2\n59234\t2\n59237\t2\n59241\t2\n59246\t2\n59251\t2\n59263\t2\n59264\t2\n59265\t2\n59277\t2\n59290\t2\n59300\t2\n59304\t2\n59308\t2\n59309\t2\n59314\t2\n59321\t2\n59323\t2\n59340\t2\n59350\t2\n59362\t2\n59365\t2\n59383\t2\n59384\t2\n59388\t2\n59392\t2\n59394\t2\n59404\t2\n59409\t2\n59415\t2\n59416\t2\n59420\t2\n59424\t2\n59426\t2\n59430\t2\n59432\t2\n59439\t2\n59442\t2\n59448\t2\n59455\t2\n59465\t2\n59479\t2\n59485\t2\n59489\t2\n59508\t2\n59516\t2\n59530\t2\n59534\t2\n59542\t2\n59547\t2\n59550\t2\n59557\t2\n59570\t2\n59571\t2\n59572\t2\n59574\t2\n59576\t2\n59577\t2\n59584\t2\n59587\t2\n59589\t2\n59590\t2\n59595\t2\n59597\t2\n59607\t2\n59609\t2\n59625\t2\n59635\t2\n59636\t2\n59637\t2\n59647\t2\n59659\t2\n59665\t2\n59712\t2\n59714\t2\n59718\t2\n59720\t2\n59723\t2\n59738\t2\n59741\t2\n59743\t2\n59748\t2\n59749\t2\n59750\t2\n59763\t2\n59766\t2\n59772\t2\n59777\t2\n59788\t2\n59794\t2\n59796\t2\n59797\t2\n59800\t2\n59802\t2\n59803\t2\n59804\t2\n59813\t2\n59818\t2\n59819\t2\n59834\t2\n59835\t2\n59846\t2\n59851\t2\n59862\t2\n59863\t2\n59876\t2\n59880\t2\n59883\t2\n59889\t2\n59899\t2\n59909\t2\n59920\t2\n59925\t2\n59931\t2\n59934\t2\n59938\t2\n59956\t2\n59959\t2\n59960\t2\n59962\t2\n59972\t2\n59988\t2\n59989\t2\n59993\t2\n60000\t2\n60012\t2\n60032\t2\n60037\t2\n60039\t2\n60043\t2\n60045\t2\n60054\t2\n60062\t2\n60067\t2\n60068\t2\n60071\t2\n60074\t2\n60080\t2\n60082\t2\n60092\t2\n60103\t2\n60111\t2\n60113\t2\n60114\t2\n60116\t2\n60127\t2\n60131\t2\n60136\t2\n60137\t2\n60148\t2\n60153\t2\n60154\t2\n60161\t2\n60174\t2\n60179\t2\n60180\t2\n60181\t2\n60183\t2\n60193\t2\n60196\t2\n60197\t2\n60199\t2\n60206\t2\n60209\t2\n60212\t2\n60220\t2\n60221\t2\n60225\t2\n60241\t2\n60249\t2\n60253\t2\n60259\t2\n60260\t2\n60261\t2\n60262\t2\n60270\t2\n60276\t2\n60277\t2\n60279\t2\n60289\t2\n60293\t2\n60300\t2\n60307\t2\n60334\t2\n60336\t2\n60343\t2\n60344\t2\n60353\t2\n60355\t2\n60356\t2\n60358\t2\n60364\t2\n60370\t2\n60371\t2\n60372\t2\n60378\t2\n60388\t2\n60392\t2\n60396\t2\n60397\t2\n60401\t2\n60402\t2\n60404\t2\n60416\t2\n60418\t2\n60435\t2\n60439\t2\n60449\t2\n60461\t2\n60465\t2\n60467\t2\n60476\t2\n60492\t2\n60516\t2\n60521\t2\n60524\t2\n60535\t2\n60538\t2\n60546\t2\n60550\t2\n60556\t2\n60583\t2\n60587\t2\n60589\t2\n60597\t2\n60606\t2\n60613\t2\n60614\t2\n60616\t2\n60636\t2\n60638\t2\n60645\t2\n60647\t2\n60652\t2\n60653\t2\n60659\t2\n60661\t2\n60663\t2\n60679\t2\n60685\t2\n60696\t2\n60697\t2\n60699\t2\n60700\t2\n60702\t2\n60710\t2\n60711\t2\n60719\t2\n60725\t2\n60727\t2\n60728\t2\n60736\t2\n60749\t2\n60765\t2\n60766\t2\n60770\t2\n60774\t2\n60777\t2\n60779\t2\n60782\t2\n60784\t2\n60791\t2\n60795\t2\n60798\t2\n60800\t2\n60803\t2\n60812\t2\n60815\t2\n60822\t2\n60824\t2\n60835\t2\n60836\t2\n60837\t2\n60840\t2\n60844\t2\n60854\t2\n60856\t2\n60863\t2\n60864\t2\n60868\t2\n60874\t2\n60877\t2\n60878\t2\n60881\t2\n60883\t2\n60886\t2\n60887\t2\n60890\t2\n60891\t2\n60893\t2\n60898\t2\n60901\t2\n60906\t2\n60910\t2\n60922\t2\n60929\t2\n60931\t2\n60940\t2\n60946\t2\n60949\t2\n60952\t2\n60954\t2\n60959\t2\n60962\t2\n60968\t2\n60972\t2\n60986\t2\n60987\t2\n60988\t2\n60990\t2\n61008\t2\n61014\t2\n61024\t2\n61036\t2\n61037\t2\n61047\t2\n61051\t2\n61052\t2\n61056\t2\n61061\t2\n61064\t2\n61067\t2\n61076\t2\n61078\t2\n61079\t2\n61088\t2\n61099\t2\n61108\t2\n61112\t2\n61118\t2\n61127\t2\n61129\t2\n61130\t2\n61141\t2\n61165\t2\n61167\t2\n61168\t2\n61169\t2\n61175\t2\n61176\t2\n61181\t2\n61182\t2\n61183\t2\n61184\t2\n61191\t2\n61194\t2\n61200\t2\n61223\t2\n61236\t2\n61241\t2\n61246\t2\n61255\t2\n61256\t2\n61259\t2\n61262\t2\n61264\t2\n61269\t2\n61276\t2\n61284\t2\n61296\t2\n61297\t2\n61300\t2\n61304\t2\n61318\t2\n61320\t2\n61337\t2\n61351\t2\n61352\t2\n61359\t2\n61361\t2\n61366\t2\n61368\t2\n61369\t2\n61370\t2\n61401\t2\n61402\t2\n61412\t2\n61413\t2\n61428\t2\n61431\t2\n61446\t2\n61451\t2\n61458\t2\n61463\t2\n61467\t2\n61482\t2\n61489\t2\n61491\t2\n61503\t2\n61507\t2\n61509\t2\n61521\t2\n61527\t2\n61532\t2\n61533\t2\n61541\t2\n61546\t2\n61560\t2\n61564\t2\n61566\t2\n61571\t2\n61582\t2\n61602\t2\n61604\t2\n61630\t2\n61632\t2\n61655\t2\n61658\t2\n61660\t2\n61665\t2\n61668\t2\n61669\t2\n61671\t2\n61673\t2\n61676\t2\n61684\t2\n61689\t2\n61690\t2\n61705\t2\n61714\t2\n61732\t2\n61741\t2\n61742\t2\n61758\t2\n61762\t2\n61768\t2\n61771\t2\n61775\t2\n61790\t2\n61793\t2\n61802\t2\n61805\t2\n61807\t2\n61808\t2\n61818\t2\n61829\t2\n61842\t2\n61843\t2\n61851\t2\n61856\t2\n61860\t2\n61868\t2\n61874\t2\n61876\t2\n61889\t2\n61890\t2\n61893\t2\n61896\t2\n61900\t2\n61901\t2\n61906\t2\n61915\t2\n61924\t2\n61936\t2\n61937\t2\n61941\t2\n61949\t2\n61957\t2\n61964\t2\n61970\t2\n61977\t2\n61982\t2\n61986\t2\n61987\t2\n61990\t2\n61994\t2\n61995\t2\n61998\t2\n62000\t2\n62006\t2\n62007\t2\n62008\t2\n62011\t2\n62015\t2\n62019\t2\n62028\t2\n62030\t2\n62034\t2\n62065\t2\n62081\t2\n62107\t2\n62112\t2\n62120\t2\n62128\t2\n62135\t2\n62143\t2\n62148\t2\n62151\t2\n62158\t2\n62167\t2\n62169\t2\n62170\t2\n62182\t2\n62197\t2\n62201\t2\n62204\t2\n62205\t2\n62206\t2\n62210\t2\n62214\t2\n62217\t2\n62220\t2\n62222\t2\n62224\t2\n62228\t2\n62231\t2\n62245\t2\n62249\t2\n62251\t2\n62260\t2\n62261\t2\n62266\t2\n62270\t2\n62276\t2\n62296\t2\n62301\t2\n62302\t2\n62305\t2\n62315\t2\n62317\t2\n62318\t2\n62325\t2\n62328\t2\n62333\t2\n62339\t2\n62340\t2\n62349\t2\n62351\t2\n62352\t2\n62363\t2\n62367\t2\n62368\t2\n62371\t2\n62373\t2\n62379\t2\n62385\t2\n62396\t2\n62399\t2\n62404\t2\n62405\t2\n62409\t2\n62411\t2\n62413\t2\n62420\t2\n62426\t2\n62428\t2\n62430\t2\n62439\t2\n62457\t2\n62469\t2\n62483\t2\n62487\t2\n62497\t2\n62505\t2\n62512\t2\n62524\t2\n62548\t2\n62557\t2\n62558\t2\n62559\t2\n62571\t2\n62575\t2\n62580\t2\n62585\t2\n62586\t2\n62614\t2\n62622\t2\n62623\t2\n62627\t2\n62632\t2\n62634\t2\n62635\t2\n62645\t2\n62646\t2\n62652\t2\n62653\t2\n62656\t2\n62678\t2\n62691\t2\n62692\t2\n62697\t2\n62703\t2\n62712\t2\n62715\t2\n62717\t2\n62722\t2\n62732\t2\n62735\t2\n62739\t2\n62745\t2\n62752\t2\n62763\t2\n62786\t2\n62796\t2\n62798\t2\n62799\t2\n62814\t2\n62825\t2\n62846\t2\n62850\t2\n62854\t2\n62855\t2\n62860\t2\n62863\t2\n62864\t2\n62879\t2\n62896\t2\n62902\t2\n62903\t2\n62909\t2\n62910\t2\n62911\t2\n62917\t2\n62918\t2\n62931\t2\n62934\t2\n62936\t2\n62938\t2\n62942\t2\n62947\t2\n62950\t2\n62952\t2\n62953\t2\n62963\t2\n62964\t2\n62965\t2\n62979\t2\n62982\t2\n62999\t2\n63008\t2\n63011\t2\n63018\t2\n63022\t2\n63024\t2\n63026\t2\n63032\t2\n63039\t2\n63043\t2\n63058\t2\n63061\t2\n63064\t2\n63068\t2\n63073\t2\n63074\t2\n63085\t2\n63086\t2\n63088\t2\n63100\t2\n63101\t2\n63107\t2\n63116\t2\n63130\t2\n63137\t2\n63143\t2\n63150\t2\n63154\t2\n63158\t2\n63161\t2\n63163\t2\n63167\t2\n63172\t2\n63176\t2\n63178\t2\n63185\t2\n63203\t2\n63206\t2\n63215\t2\n63223\t2\n63225\t2\n63227\t2\n63228\t2\n63231\t2\n63240\t2\n63247\t2\n63263\t2\n63269\t2\n63281\t2\n63303\t2\n63305\t2\n63313\t2\n63314\t2\n63326\t2\n63327\t2\n63330\t2\n63331\t2\n63334\t2\n63338\t2\n63340\t2\n63343\t2\n63344\t2\n63360\t2\n63364\t2\n63368\t2\n63369\t2\n63378\t2\n63379\t2\n63383\t2\n63387\t2\n63393\t2\n63406\t2\n63407\t2\n63415\t2\n63424\t2\n63428\t2\n63430\t2\n63435\t2\n63452\t2\n63458\t2\n63463\t2\n63464\t2\n63470\t2\n63477\t2\n63478\t2\n63483\t2\n63495\t2\n63497\t2\n63507\t2\n63509\t2\n63520\t2\n63526\t2\n63530\t2\n63531\t2\n63538\t2\n63539\t2\n63540\t2\n63550\t2\n63557\t2\n63566\t2\n63578\t2\n63585\t2\n63591\t2\n63596\t2\n63599\t2\n63601\t2\n63603\t2\n63610\t2\n63614\t2\n63618\t2\n63620\t2\n63625\t2\n63630\t2\n63631\t2\n63633\t2\n63640\t2\n63641\t2\n63648\t2\n63650\t2\n63663\t2\n63688\t2\n63702\t2\n63705\t2\n63717\t2\n63736\t2\n63740\t2\n63749\t2\n63751\t2\n63760\t2\n63763\t2\n63765\t2\n63767\t2\n63775\t2\n63782\t2\n63786\t2\n63787\t2\n63806\t2\n63808\t2\n63814\t2\n63816\t2\n63824\t2\n63827\t2\n63828\t2\n63835\t2\n63836\t2\n63849\t2\n63853\t2\n63857\t2\n63862\t2\n63868\t2\n63870\t2\n63871\t2\n63886\t2\n63893\t2\n63895\t2\n63898\t2\n63907\t2\n63917\t2\n63923\t2\n63932\t2\n63933\t2\n63937\t2\n63945\t2\n63946\t2\n63952\t2\n63957\t2\n63959\t2\n63963\t2\n63980\t2\n63984\t2\n63986\t2\n63990\t2\n63994\t2\n63995\t2\n63999\t2\n64005\t2\n64009\t2\n64014\t2\n64022\t2\n64026\t2\n64036\t2\n64042\t2\n64046\t2\n64059\t2\n64065\t2\n64075\t2\n64077\t2\n64098\t2\n64100\t2\n64102\t2\n64107\t2\n64108\t2\n64113\t2\n64118\t2\n64119\t2\n64120\t2\n64129\t2\n64145\t2\n64156\t2\n64158\t2\n64161\t2\n64166\t2\n64168\t2\n64169\t2\n64171\t2\n64177\t2\n64180\t2\n64181\t2\n64182\t2\n64183\t2\n64189\t2\n64192\t2\n64194\t2\n64197\t2\n64201\t2\n64211\t2\n64220\t2\n64227\t2\n64231\t2\n64232\t2\n64243\t2\n64248\t2\n64249\t2\n64254\t2\n64256\t2\n64259\t2\n64266\t2\n64273\t2\n64277\t2\n64280\t2\n64285\t2\n64310\t2\n64312\t2\n64316\t2\n64323\t2\n64328\t2\n64335\t2\n64354\t2\n64356\t2\n64359\t2\n64364\t2\n64377\t2\n64384\t2\n64414\t2\n64418\t2\n64426\t2\n64430\t2\n64440\t2\n64454\t2\n64456\t2\n64464\t2\n64477\t2\n64480\t2\n64492\t2\n64497\t2\n64498\t2\n64500\t2\n64503\t2\n64513\t2\n64520\t2\n64521\t2\n64522\t2\n64523\t2\n64533\t2\n64542\t2\n64548\t2\n64557\t2\n64562\t2\n64563\t2\n64564\t2\n64568\t2\n64573\t2\n64576\t2\n64578\t2\n64579\t2\n64580\t2\n64588\t2\n64594\t2\n64603\t2\n64609\t2\n64615\t2\n64621\t2\n64626\t2\n64635\t2\n64642\t2\n64644\t2\n64646\t2\n64650\t2\n64670\t2\n64673\t2\n64683\t2\n64690\t2\n64696\t2\n64698\t2\n64699\t2\n64700\t2\n64728\t2\n64745\t2\n64748\t2\n64756\t2\n64770\t2\n64775\t2\n64777\t2\n64780\t2\n64781\t2\n64797\t2\n64799\t2\n64806\t2\n64816\t2\n64821\t2\n64825\t2\n64835\t2\n64837\t2\n64839\t2\n64845\t2\n64848\t2\n64851\t2\n64857\t2\n64858\t2\n64859\t2\n64862\t2\n64867\t2\n64868\t2\n64873\t2\n64888\t2\n64893\t2\n64895\t2\n64910\t2\n64911\t2\n64912\t2\n64917\t2\n64926\t2\n64929\t2\n64944\t2\n64950\t2\n64951\t2\n64954\t2\n64956\t2\n64963\t2\n64964\t2\n64965\t2\n64978\t2\n64979\t2\n64990\t2\n64993\t2\n64994\t2\n64995\t2\n64996\t2\n65003\t2\n65010\t2\n65012\t2\n65013\t2\n65016\t2\n65022\t2\n65029\t2\n65032\t2\n65036\t2\n65040\t2\n65041\t2\n65043\t2\n65048\t2\n65049\t2\n65062\t2\n65064\t2\n65067\t2\n65068\t2\n65094\t2\n65097\t2\n65100\t2\n65105\t2\n65117\t2\n65121\t2\n65125\t2\n65126\t2\n65127\t2\n65132\t2\n65135\t2\n65148\t2\n65150\t2\n65152\t2\n65153\t2\n65170\t2\n65180\t2\n65184\t2\n65190\t2\n65196\t2\n65200\t2\n65208\t2\n65209\t2\n65210\t2\n65212\t2\n65220\t2\n65228\t2\n65232\t2\n65234\t2\n65235\t2\n65241\t2\n65244\t2\n65251\t2\n65252\t2\n65254\t2\n65255\t2\n65257\t2\n65258\t2\n65260\t2\n65265\t2\n65267\t2\n65268\t2\n65269\t2\n65272\t2\n65276\t2\n65287\t2\n65290\t2\n65302\t2\n65303\t2\n65306\t2\n65308\t2\n65313\t2\n65319\t2\n65328\t2\n65332\t2\n65356\t2\n65359\t2\n65363\t2\n65373\t2\n65379\t2\n65384\t2\n65385\t2\n65396\t2\n65402\t2\n65404\t2\n65408\t2\n65412\t2\n65415\t2\n65416\t2\n65426\t2\n65431\t2\n65437\t2\n65441\t2\n65442\t2\n65443\t2\n65444\t2\n65446\t2\n65450\t2\n65454\t2\n65458\t2\n65459\t2\n65460\t2\n65465\t2\n65467\t2\n65471\t2\n65472\t2\n65494\t2\n65501\t2\n65503\t2\n65506\t2\n65516\t2\n65517\t2\n65525\t2\n65526\t2\n65529\t2\n65536\t2\n65537\t2\n65538\t2\n65542\t2\n65547\t2\n65551\t2\n65554\t2\n65564\t2\n65573\t2\n65577\t2\n65582\t2\n65590\t2\n65597\t2\n65616\t2\n65624\t2\n65627\t2\n65628\t2\n65639\t2\n65642\t2\n65656\t2\n65663\t2\n65664\t2\n65667\t2\n65672\t2\n65680\t2\n65681\t2\n65688\t2\n65698\t2\n65701\t2\n65707\t2\n65708\t2\n65720\t2\n65723\t2\n65730\t2\n65734\t2\n65735\t2\n65759\t2\n65771\t2\n65772\t2\n65778\t2\n65787\t2\n65788\t2\n65791\t2\n65795\t2\n65796\t2\n65797\t2\n65802\t2\n65806\t2\n65807\t2\n65810\t2\n65816\t2\n65821\t2\n65828\t2\n65833\t2\n65835\t2\n65838\t2\n65842\t2\n65843\t2\n65845\t2\n65851\t2\n65855\t2\n65858\t2\n65871\t2\n65874\t2\n65878\t2\n65880\t2\n65888\t2\n65895\t2\n65902\t2\n65904\t2\n65912\t2\n65917\t2\n65921\t2\n65924\t2\n65936\t2\n65949\t2\n65950\t2\n65953\t2\n65961\t2\n65963\t2\n65967\t2\n65968\t2\n65974\t2\n65975\t2\n65979\t2\n65980\t2\n65981\t2\n65984\t2\n65998\t2\n66001\t2\n66002\t2\n66003\t2\n66005\t2\n66014\t2\n66026\t2\n66035\t2\n66036\t2\n66059\t2\n66064\t2\n66065\t2\n66066\t2\n66069\t2\n66085\t2\n66088\t2\n66099\t2\n66104\t2\n66111\t2\n66123\t2\n66125\t2\n66129\t2\n66148\t2\n66155\t2\n66159\t2\n66172\t2\n66173\t2\n66176\t2\n66187\t2\n66188\t2\n66196\t2\n66209\t2\n66213\t2\n66217\t2\n66220\t2\n66225\t2\n66238\t2\n66243\t2\n66245\t2\n66246\t2\n66250\t2\n66253\t2\n66255\t2\n66264\t2\n66278\t2\n66285\t2\n66297\t2\n66298\t2\n66300\t2\n66306\t2\n66308\t2\n66313\t2\n66317\t2\n66318\t2\n66320\t2\n66321\t2\n66327\t2\n66330\t2\n66337\t2\n66338\t2\n66340\t2\n66346\t2\n66368\t2\n66370\t2\n66372\t2\n66374\t2\n66381\t2\n66389\t2\n66396\t2\n66416\t2\n66428\t2\n66429\t2\n66433\t2\n66435\t2\n66438\t2\n66441\t2\n66460\t2\n66468\t2\n66469\t2\n66470\t2\n66471\t2\n66476\t2\n66478\t2\n66494\t2\n66495\t2\n66504\t2\n66506\t2\n66507\t2\n66509\t2\n66512\t2\n66528\t2\n66529\t2\n66536\t2\n66540\t2\n66542\t2\n66544\t2\n66549\t2\n66556\t2\n66557\t2\n66575\t2\n66578\t2\n66584\t2\n66617\t2\n66621\t2\n66625\t2\n66630\t2\n66633\t2\n66636\t2\n66644\t2\n66649\t2\n66651\t2\n66653\t2\n66655\t2\n66659\t2\n66667\t2\n66669\t2\n66673\t2\n66684\t2\n66691\t2\n66694\t2\n66710\t2\n66713\t2\n66717\t2\n66725\t2\n66740\t2\n66746\t2\n66751\t2\n66783\t2\n66791\t2\n66793\t2\n66799\t2\n66804\t2\n66811\t2\n66812\t2\n66827\t2\n66834\t2\n66851\t2\n66852\t2\n66858\t2\n66859\t2\n66863\t2\n66869\t2\n66874\t2\n66879\t2\n66882\t2\n66886\t2\n66896\t2\n66902\t2\n66903\t2\n66913\t2\n66917\t2\n66921\t2\n66924\t2\n66928\t2\n66935\t2\n66940\t2\n66957\t2\n66972\t2\n66976\t2\n66979\t2\n66981\t2\n66982\t2\n66986\t2\n66992\t2\n66996\t2\n67003\t2\n67010\t2\n67012\t2\n67014\t2\n67022\t2\n67027\t2\n67030\t2\n67032\t2\n67033\t2\n67039\t2\n67051\t2\n67061\t2\n67082\t2\n67092\t2\n67093\t2\n67100\t2\n67123\t2\n67130\t2\n67135\t2\n67144\t2\n67145\t2\n67146\t2\n67153\t2\n67159\t2\n67163\t2\n67164\t2\n67171\t2\n67185\t2\n67193\t2\n67198\t2\n67199\t2\n67200\t2\n67201\t2\n67203\t2\n67212\t2\n67215\t2\n67222\t2\n67223\t2\n67226\t2\n67234\t2\n67242\t2\n67248\t2\n67253\t2\n67279\t2\n67282\t2\n67286\t2\n67291\t2\n67298\t2\n67303\t2\n67304\t2\n67329\t2\n67331\t2\n67333\t2\n67347\t2\n67348\t2\n67354\t2\n67356\t2\n67363\t2\n67364\t2\n67367\t2\n67369\t2\n67377\t2\n67384\t2\n67389\t2\n67394\t2\n67396\t2\n67398\t2\n67410\t2\n67423\t2\n67427\t2\n67436\t2\n67447\t2\n67449\t2\n67451\t2\n67452\t2\n67460\t2\n67462\t2\n67463\t2\n67465\t2\n67473\t2\n67480\t2\n67482\t2\n67485\t2\n67499\t2\n67501\t2\n67504\t2\n67509\t2\n67512\t2\n67514\t2\n67515\t2\n67517\t2\n67534\t2\n67535\t2\n67537\t2\n67543\t2\n67545\t2\n67552\t2\n67557\t2\n67562\t2\n67564\t2\n67584\t2\n67611\t2\n67616\t2\n67617\t2\n67624\t2\n67625\t2\n67628\t2\n67629\t2\n67632\t2\n67637\t2\n67654\t2\n67659\t2\n67664\t2\n67666\t2\n67670\t2\n67672\t2\n67673\t2\n67680\t2\n67682\t2\n67684\t2\n67686\t2\n67687\t2\n67692\t2\n67695\t2\n67712\t2\n67716\t2\n67719\t2\n67734\t2\n67736\t2\n67743\t2\n67759\t2\n67762\t2\n67763\t2\n67766\t2\n67775\t2\n67778\t2\n67781\t2\n67782\t2\n67784\t2\n67802\t2\n67816\t2\n67817\t2\n67821\t2\n67826\t2\n67836\t2\n67838\t2\n67840\t2\n67848\t2\n67865\t2\n67879\t2\n67880\t2\n67882\t2\n67889\t2\n67890\t2\n67891\t2\n67897\t2\n67911\t2\n67914\t2\n67916\t2\n67923\t2\n67926\t2\n67927\t2\n67934\t2\n67935\t2\n67938\t2\n67944\t2\n67958\t2\n67963\t2\n67964\t2\n67966\t2\n67969\t2\n67970\t2\n67971\t2\n67980\t2\n67983\t2\n67984\t2\n67994\t2\n68006\t2\n68011\t2\n68024\t2\n68028\t2\n68029\t2\n68040\t2\n68045\t2\n68047\t2\n68056\t2\n68067\t2\n68080\t2\n68088\t2\n68090\t2\n68095\t2\n68101\t2\n68111\t2\n68114\t2\n68117\t2\n68121\t2\n68122\t2\n68126\t2\n68130\t2\n68142\t2\n68147\t2\n68157\t2\n68158\t2\n68174\t2\n68175\t2\n68191\t2\n68196\t2\n68205\t2\n68207\t2\n68211\t2\n68216\t2\n68220\t2\n68224\t2\n68226\t2\n68228\t2\n68230\t2\n68244\t2\n68253\t2\n68257\t2\n68259\t2\n68264\t2\n68269\t2\n68276\t2\n68283\t2\n68291\t2\n68292\t2\n68293\t2\n68295\t2\n68302\t2\n68303\t2\n68305\t2\n68312\t2\n68313\t2\n68321\t2\n68324\t2\n68339\t2\n68345\t2\n68346\t2\n68348\t2\n68360\t2\n68362\t2\n68363\t2\n68377\t2\n68385\t2\n68390\t2\n68391\t2\n68400\t2\n68403\t2\n68407\t2\n68420\t2\n68441\t2\n68442\t2\n68445\t2\n68455\t2\n68456\t2\n68469\t2\n68470\t2\n68471\t2\n68495\t2\n68504\t2\n68524\t2\n68529\t2\n68538\t2\n68540\t2\n68544\t2\n68546\t2\n68561\t2\n68582\t2\n68585\t2\n68586\t2\n68587\t2\n68588\t2\n68598\t2\n68602\t2\n68608\t2\n68615\t2\n68629\t2\n68639\t2\n68642\t2\n68656\t2\n68658\t2\n68665\t2\n68680\t2\n68689\t2\n68690\t2\n68695\t2\n68696\t2\n68703\t2\n68709\t2\n68717\t2\n68718\t2\n68719\t2\n68720\t2\n68723\t2\n68728\t2\n68729\t2\n68734\t2\n68755\t2\n68759\t2\n68764\t2\n68768\t2\n68776\t2\n68778\t2\n68780\t2\n68782\t2\n68788\t2\n68789\t2\n68798\t2\n68800\t2\n68804\t2\n68807\t2\n68809\t2\n68810\t2\n68823\t2\n68825\t2\n68835\t2\n68843\t2\n68853\t2\n68859\t2\n68866\t2\n68870\t2\n68872\t2\n68879\t2\n68881\t2\n68885\t2\n68894\t2\n68896\t2\n68897\t2\n68902\t2\n68908\t2\n68909\t2\n68911\t2\n68920\t2\n68921\t2\n68923\t2\n68940\t2\n68941\t2\n68944\t2\n68945\t2\n68955\t2\n68957\t2\n68959\t2\n68964\t2\n68971\t2\n68974\t2\n68975\t2\n68987\t2\n68989\t2\n68990\t2\n68991\t2\n69006\t2\n69009\t2\n69016\t2\n69023\t2\n69034\t2\n69037\t2\n69043\t2\n69061\t2\n69069\t2\n69071\t2\n69084\t2\n69088\t2\n69091\t2\n69095\t2\n69096\t2\n69105\t2\n69116\t2\n69118\t2\n69140\t2\n69155\t2\n69165\t2\n69167\t2\n69180\t2\n69181\t2\n69182\t2\n69198\t2\n69201\t2\n69206\t2\n69209\t2\n69217\t2\n69218\t2\n69242\t2\n69260\t2\n69266\t2\n69271\t2\n69278\t2\n69283\t2\n69284\t2\n69296\t2\n69298\t2\n69301\t2\n69302\t2\n69306\t2\n69308\t2\n69311\t2\n69319\t2\n69322\t2\n69324\t2\n69330\t2\n69333\t2\n69338\t2\n69340\t2\n69347\t2\n69349\t2\n69351\t2\n69367\t2\n69368\t2\n69379\t2\n69380\t2\n69384\t2\n69391\t2\n69396\t2\n69398\t2\n69399\t2\n69403\t2\n69405\t2\n69411\t2\n69412\t2\n69415\t2\n69416\t2\n69424\t2\n69429\t2\n69449\t2\n69451\t2\n69452\t2\n69454\t2\n69457\t2\n69464\t2\n69466\t2\n69484\t2\n69489\t2\n69490\t2\n69516\t2\n69523\t2\n69536\t2\n69539\t2\n69545\t2\n69546\t2\n69550\t2\n69560\t2\n69561\t2\n69564\t2\n69567\t2\n69582\t2\n69589\t2\n69608\t2\n69610\t2\n69613\t2\n69616\t2\n69620\t2\n69634\t2\n69641\t2\n69653\t2\n69667\t2\n69670\t2\n69673\t2\n69675\t2\n69694\t2\n69704\t2\n69711\t2\n69715\t2\n69716\t2\n69719\t2\n69722\t2\n69729\t2\n69733\t2\n69736\t2\n69745\t2\n69746\t2\n69750\t2\n69759\t2\n69763\t2\n69791\t2\n69801\t2\n69803\t2\n69804\t2\n69823\t2\n69832\t2\n69833\t2\n69835\t2\n69837\t2\n69847\t2\n69863\t2\n69867\t2\n69876\t2\n69880\t2\n69886\t2\n69890\t2\n69898\t2\n69901\t2\n69911\t2\n69918\t2\n69919\t2\n69927\t2\n69932\t2\n69936\t2\n69942\t2\n69947\t2\n69968\t2\n69975\t2\n69983\t2\n69985\t2\n69992\t2\n69997\t2\n69998\t2\n69999\t2\n70005\t2\n70013\t2\n70020\t2\n70026\t2\n70028\t2\n70036\t2\n70038\t2\n70039\t2\n70041\t2\n70042\t2\n70043\t2\n70058\t2\n70066\t2\n70071\t2\n70083\t2\n70090\t2\n70092\t2\n70093\t2\n70094\t2\n70097\t2\n70101\t2\n70103\t2\n70110\t2\n70119\t2\n70120\t2\n70123\t2\n70129\t2\n70138\t2\n70142\t2\n70143\t2\n70147\t2\n70148\t2\n70154\t2\n70157\t2\n70167\t2\n70168\t2\n70170\t2\n70174\t2\n70177\t2\n70188\t2\n70217\t2\n70218\t2\n70222\t2\n70237\t2\n70238\t2\n70241\t2\n70250\t2\n70252\t2\n70257\t2\n70260\t2\n70264\t2\n70265\t2\n70277\t2\n70291\t2\n70297\t2\n70303\t2\n70326\t2\n70335\t2\n70336\t2\n70339\t2\n70343\t2\n70347\t2\n70348\t2\n70353\t2\n70368\t2\n70373\t2\n70375\t2\n70383\t2\n70388\t2\n70399\t2\n70400\t2\n70407\t2\n70411\t2\n70425\t2\n70426\t2\n70427\t2\n70428\t2\n70435\t2\n70439\t2\n70443\t2\n70444\t2\n70448\t2\n70457\t2\n70462\t2\n70465\t2\n70472\t2\n70483\t2\n70488\t2\n70489\t2\n70497\t2\n70503\t2\n70512\t2\n70515\t2\n70516\t2\n70517\t2\n70519\t2\n70527\t2\n70528\t2\n70538\t2\n70541\t2\n70549\t2\n70552\t2\n70557\t2\n70574\t2\n70583\t2\n70588\t2\n70600\t2\n70606\t2\n70612\t2\n70613\t2\n70619\t2\n70632\t2\n70633\t2\n70634\t2\n70644\t2\n70656\t2\n70657\t2\n70663\t2\n70667\t2\n70669\t2\n70713\t2\n70715\t2\n70716\t2\n70735\t2\n70737\t2\n70739\t2\n70745\t2\n70746\t2\n70752\t2\n70763\t2\n70788\t2\n70803\t2\n70804\t2\n70806\t2\n70808\t2\n70809\t2\n70810\t2\n70816\t2\n70823\t2\n70824\t2\n70836\t2\n70839\t2\n70846\t2\n70850\t2\n70856\t2\n70864\t2\n70869\t2\n70876\t2\n70881\t2\n70889\t2\n70890\t2\n70895\t2\n70901\t2\n70910\t2\n70919\t2\n70922\t2\n70925\t2\n70927\t2\n70931\t2\n70934\t2\n70936\t2\n70945\t2\n70961\t2\n70963\t2\n70969\t2\n70983\t2\n70991\t2\n70995\t2\n70999\t2\n71004\t2\n71010\t2\n71011\t2\n71014\t2\n71015\t2\n71018\t2\n71034\t2\n71044\t2\n71047\t2\n71056\t2\n71069\t2\n71074\t2\n71075\t2\n71077\t2\n71078\t2\n71102\t2\n71107\t2\n71110\t2\n71127\t2\n71131\t2\n71132\t2\n71146\t2\n71151\t2\n71154\t2\n71158\t2\n71159\t2\n71161\t2\n71166\t2\n71171\t2\n71185\t2\n71190\t2\n71205\t2\n71214\t2\n71225\t2\n71228\t2\n71230\t2\n71233\t2\n71236\t2\n71239\t2\n71242\t2\n71247\t2\n71251\t2\n71257\t2\n71276\t2\n71283\t2\n71287\t2\n71288\t2\n71298\t2\n71304\t2\n71306\t2\n71321\t2\n71334\t2\n71339\t2\n71342\t2\n71346\t2\n71347\t2\n71349\t2\n71355\t2\n71357\t2\n71358\t2\n71363\t2\n71369\t2\n71380\t2\n71381\t2\n71386\t2\n71388\t2\n71390\t2\n71410\t2\n71414\t2\n71427\t2\n71437\t2\n71443\t2\n71450\t2\n71451\t2\n71452\t2\n71453\t2\n71455\t2\n71459\t2\n71463\t2\n71469\t2\n71470\t2\n71471\t2\n71479\t2\n71483\t2\n71493\t2\n71496\t2\n71500\t2\n71508\t2\n71512\t2\n71514\t2\n71517\t2\n71520\t2\n71533\t2\n71536\t2\n71538\t2\n71548\t2\n71556\t2\n71558\t2\n71582\t2\n71588\t2\n71591\t2\n71592\t2\n71600\t2\n71609\t2\n71611\t2\n71614\t2\n71616\t2\n71620\t2\n71624\t2\n71627\t2\n71629\t2\n71631\t2\n71634\t2\n71635\t2\n71646\t2\n71648\t2\n71656\t2\n71661\t2\n71662\t2\n71666\t2\n71672\t2\n71676\t2\n71679\t2\n71681\t2\n71685\t2\n71687\t2\n71694\t2\n71706\t2\n71718\t2\n71723\t2\n71728\t2\n71730\t2\n71732\t2\n71738\t2\n71741\t2\n71746\t2\n71756\t2\n71764\t2\n71770\t2\n71774\t2\n71779\t2\n71787\t2\n71788\t2\n71794\t2\n71802\t2\n71809\t2\n71812\t2\n71817\t2\n71820\t2\n71821\t2\n71823\t2\n71833\t2\n71844\t2\n71848\t2\n71864\t2\n71865\t2\n71867\t2\n71871\t2\n71883\t2\n71887\t2\n71889\t2\n71893\t2\n71908\t2\n71911\t2\n71915\t2\n71924\t2\n71949\t2\n71959\t2\n71961\t2\n71983\t2\n71986\t2\n71988\t2\n71994\t2\n72005\t2\n72019\t2\n72022\t2\n72030\t2\n72033\t2\n72035\t2\n72044\t2\n72045\t2\n72047\t2\n72048\t2\n72053\t2\n72058\t2\n72066\t2\n72069\t2\n72071\t2\n72072\t2\n72075\t2\n72081\t2\n72084\t2\n72086\t2\n72091\t2\n72093\t2\n72113\t2\n72117\t2\n72123\t2\n72132\t2\n72141\t2\n72155\t2\n72157\t2\n72158\t2\n72160\t2\n72175\t2\n72182\t2\n72191\t2\n72192\t2\n72200\t2\n72212\t2\n72218\t2\n72224\t2\n72228\t2\n72235\t2\n72241\t2\n72251\t2\n72273\t2\n72285\t2\n72292\t2\n72300\t2\n72309\t2\n72316\t2\n72319\t2\n72326\t2\n72342\t2\n72358\t2\n72360\t2\n72376\t2\n72404\t2\n72405\t2\n72407\t2\n72427\t2\n72433\t2\n72446\t2\n72451\t2\n72454\t2\n72455\t2\n72472\t2\n72491\t2\n72500\t2\n72506\t2\n72511\t2\n72512\t2\n72526\t2\n72531\t2\n72535\t2\n72543\t2\n72545\t2\n72547\t2\n72548\t2\n72551\t2\n72553\t2\n72556\t2\n72558\t2\n72565\t2\n72574\t2\n72576\t2\n72579\t2\n72590\t2\n72594\t2\n72601\t2\n72602\t2\n72603\t2\n72610\t2\n72611\t2\n72630\t2\n72636\t2\n72637\t2\n72638\t2\n72643\t2\n72653\t2\n72655\t2\n72656\t2\n72667\t2\n72696\t2\n72697\t2\n72705\t2\n72706\t2\n72733\t2\n72743\t2\n72748\t2\n72766\t2\n72768\t2\n72779\t2\n72785\t2\n72788\t2\n72792\t2\n72795\t2\n72805\t2\n72807\t2\n72813\t2\n72817\t2\n72819\t2\n72823\t2\n72825\t2\n72835\t2\n72836\t2\n72838\t2\n72840\t2\n72843\t2\n72846\t2\n72864\t2\n72867\t2\n72870\t2\n72885\t2\n72891\t2\n72898\t2\n72900\t2\n72910\t2\n72918\t2\n72920\t2\n72923\t2\n72945\t2\n72951\t2\n72961\t2\n72962\t2\n72973\t2\n72977\t2\n72983\t2\n72984\t2\n72986\t2\n72996\t2\n73003\t2\n73010\t2\n73012\t2\n73018\t2\n73020\t2\n73021\t2\n73022\t2\n73027\t2\n73041\t2\n73045\t2\n73049\t2\n73050\t2\n73073\t2\n73075\t2\n73082\t2\n73093\t2\n73095\t2\n73111\t2\n73114\t2\n73127\t2\n73128\t2\n73142\t2\n73144\t2\n73163\t2\n73171\t2\n73178\t2\n73212\t2\n73219\t2\n73220\t2\n73223\t2\n73233\t2\n73240\t2\n73241\t2\n73242\t2\n73244\t2\n73257\t2\n73259\t2\n73260\t2\n73261\t2\n73266\t2\n73267\t2\n73268\t2\n73271\t2\n73275\t2\n73276\t2\n73281\t2\n73282\t2\n73283\t2\n73287\t2\n73289\t2\n73309\t2\n73311\t2\n73320\t2\n73322\t2\n73324\t2\n73333\t2\n73343\t2\n73346\t2\n73348\t2\n73349\t2\n73353\t2\n73378\t2\n73395\t2\n73397\t2\n73406\t2\n73418\t2\n73422\t2\n73426\t2\n73433\t2\n73445\t2\n73455\t2\n73467\t2\n73477\t2\n73479\t2\n73494\t2\n73497\t2\n73504\t2\n73509\t2\n73527\t2\n73529\t2\n73530\t2\n73543\t2\n73544\t2\n73547\t2\n73549\t2\n73553\t2\n73561\t2\n73570\t2\n73572\t2\n73579\t2\n73583\t2\n73586\t2\n73596\t2\n73601\t2\n73603\t2\n73606\t2\n73613\t2\n73616\t2\n73620\t2\n73625\t2\n73629\t2\n73630\t2\n73632\t2\n73634\t2\n73635\t2\n73650\t2\n73662\t2\n73669\t2\n73685\t2\n73687\t2\n73688\t2\n73689\t2\n73698\t2\n73701\t2\n73705\t2\n73708\t2\n73718\t2\n73728\t2\n73730\t2\n73745\t2\n73748\t2\n73754\t2\n73777\t2\n73784\t2\n73791\t2\n73801\t2\n73803\t2\n73821\t2\n73826\t2\n73829\t2\n73830\t2\n73832\t2\n73838\t2\n73839\t2\n73855\t2\n73861\t2\n73868\t2\n73883\t2\n73890\t2\n73900\t2\n73908\t2\n73915\t2\n73923\t2\n73929\t2\n73934\t2\n73939\t2\n73948\t2\n73951\t2\n73955\t2\n73956\t2\n73962\t2\n73969\t2\n73974\t2\n73975\t2\n73989\t2\n73996\t2\n74003\t2\n74020\t2\n74026\t2\n74043\t2\n74057\t2\n74060\t2\n74063\t2\n74070\t2\n74075\t2\n74082\t2\n74085\t2\n74097\t2\n74111\t2\n74115\t2\n74120\t2\n74134\t2\n74140\t2\n74146\t2\n74156\t2\n74160\t2\n74162\t2\n74166\t2\n74174\t2\n74175\t2\n74177\t2\n74182\t2\n74187\t2\n74188\t2\n74193\t2\n74198\t2\n74205\t2\n74221\t2\n74248\t2\n74254\t2\n74264\t2\n74266\t2\n74277\t2\n74281\t2\n74282\t2\n74283\t2\n74288\t2\n74295\t2\n74300\t2\n74301\t2\n74307\t2\n74330\t2\n74346\t2\n74348\t2\n74353\t2\n74359\t2\n74360\t2\n74364\t2\n74368\t2\n74375\t2\n74388\t2\n74390\t2\n74391\t2\n74393\t2\n74403\t2\n74418\t2\n74420\t2\n74433\t2\n74438\t2\n74440\t2\n74445\t2\n74450\t2\n74452\t2\n74465\t2\n74470\t2\n74487\t2\n74488\t2\n74497\t2\n74499\t2\n74502\t2\n74510\t2\n74522\t2\n74528\t2\n74533\t2\n74539\t2\n74550\t2\n74552\t2\n74563\t2\n74573\t2\n74581\t2\n74586\t2\n74587\t2\n74592\t2\n74595\t2\n74597\t2\n74602\t2\n74605\t2\n74606\t2\n74619\t2\n74627\t2\n74646\t2\n74657\t2\n74669\t2\n74683\t2\n74684\t2\n74686\t2\n74701\t2\n74705\t2\n74706\t2\n74712\t2\n74741\t2\n74745\t2\n74750\t2\n74756\t2\n74757\t2\n74765\t2\n74772\t2\n74779\t2\n74781\t2\n74782\t2\n74783\t2\n74793\t2\n74794\t2\n74800\t2\n74805\t2\n74808\t2\n74812\t2\n74813\t2\n74820\t2\n74836\t2\n74837\t2\n74838\t2\n74843\t2\n74852\t2\n74856\t2\n74875\t2\n74881\t2\n74885\t2\n74892\t2\n74897\t2\n74904\t2\n74911\t2\n74933\t2\n74934\t2\n74938\t2\n74939\t2\n74946\t2\n74959\t2\n74965\t2\n74978\t2\n74981\t2\n74982\t2\n74983\t2\n74987\t2\n74988\t2\n74989\t2\n74991\t2\n74992\t2\n74996\t2\n74997\t2\n75001\t2\n75010\t2\n75014\t2\n75027\t2\n75039\t2\n75043\t2\n75044\t2\n75048\t2\n75049\t2\n75070\t2\n75073\t2\n75086\t2\n75089\t2\n75093\t2\n75101\t2\n75105\t2\n75106\t2\n75107\t2\n75112\t2\n75130\t2\n75133\t2\n75136\t2\n75138\t2\n75149\t2\n75151\t2\n75160\t2\n75161\t2\n75165\t2\n75168\t2\n75171\t2\n75175\t2\n75181\t2\n75184\t2\n75185\t2\n75198\t2\n75201\t2\n75205\t2\n75206\t2\n75212\t2\n75225\t2\n75230\t2\n75239\t2\n75254\t2\n75257\t2\n75269\t2\n75271\t2\n75275\t2\n75294\t2\n75296\t2\n75308\t2\n75310\t2\n75315\t2\n75335\t2\n75340\t2\n75341\t2\n75342\t2\n75347\t2\n75348\t2\n75354\t2\n75356\t2\n75371\t2\n75376\t2\n75383\t2\n75392\t2\n75401\t2\n75410\t2\n75432\t2\n75440\t2\n75459\t2\n75467\t2\n75470\t2\n75495\t2\n75501\t2\n75508\t2\n75518\t2\n75520\t2\n75529\t2\n75534\t2\n75538\t2\n75541\t2\n75544\t2\n75557\t2\n75561\t2\n75568\t2\n75576\t2\n75590\t2\n75602\t2\n75611\t2\n75612\t2\n75618\t2\n75625\t2\n75631\t2\n75646\t2\n75652\t2\n75656\t2\n75664\t2\n75671\t2\n75672\t2\n75675\t2\n75680\t2\n75685\t2\n75689\t2\n75690\t2\n75692\t2\n75700\t2\n75703\t2\n75712\t2\n75717\t2\n75721\t2\n75731\t2\n75740\t2\n75741\t2\n75750\t2\n75751\t2\n75752\t2\n75754\t2\n75755\t2\n75757\t2\n75758\t2\n75760\t2\n75774\t2\n75788\t2\n75795\t2\n75799\t2\n75809\t2\n75810\t2\n75811\t2\n75823\t2\n75827\t2\n75848\t2\n75855\t2\n75856\t2\n75858\t2\n75859\t2\n75867\t2\n75868\t2\n75880\t2\n75889\t2\n75900\t2\n75901\t2\n75908\t2\n75913\t2\n75916\t2\n75917\t2\n75918\t2\n75942\t2\n75946\t2\n75947\t2\n75951\t2\n75956\t2\n75964\t2\n75972\t2\n75984\t2\n75986\t2\n75992\t2\n75993\t2\n75994\t2\n75996\t2\n76001\t2\n76002\t2\n76006\t2\n76013\t2\n76016\t2\n76020\t2\n76022\t2\n76026\t2\n76042\t2\n76044\t2\n76049\t2\n76055\t2\n76061\t2\n76063\t2\n76064\t2\n76079\t2\n76082\t2\n76086\t2\n76092\t2\n76095\t2\n76098\t2\n76116\t2\n76120\t2\n76121\t2\n76124\t2\n76128\t2\n76131\t2\n76134\t2\n76135\t2\n76138\t2\n76142\t2\n76143\t2\n76156\t2\n76159\t2\n76173\t2\n76177\t2\n76182\t2\n76187\t2\n76190\t2\n76199\t2\n76202\t2\n76205\t2\n76208\t2\n76211\t2\n76213\t2\n76215\t2\n76216\t2\n76221\t2\n76229\t2\n76231\t2\n76240\t2\n76246\t2\n76248\t2\n76251\t2\n76255\t2\n76265\t2\n76270\t2\n76286\t2\n76290\t2\n76303\t2\n76306\t2\n76310\t2\n76311\t2\n76321\t2\n76323\t2\n76327\t2\n76331\t2\n76332\t2\n76364\t2\n76366\t2\n76370\t2\n76385\t2\n76386\t2\n76387\t2\n76389\t2\n76390\t2\n76422\t2\n76423\t2\n76426\t2\n76428\t2\n76442\t2\n76444\t2\n76446\t2\n76459\t2\n76479\t2\n76481\t2\n76490\t2\n76497\t2\n76502\t2\n76517\t2\n76518\t2\n76523\t2\n76531\t2\n76532\t2\n76533\t2\n76542\t2\n76546\t2\n76547\t2\n76548\t2\n76551\t2\n76560\t2\n76562\t2\n76570\t2\n76575\t2\n76577\t2\n76583\t2\n76595\t2\n76597\t2\n76607\t2\n76608\t2\n76611\t2\n76612\t2\n76622\t2\n76630\t2\n76647\t2\n76650\t2\n76656\t2\n76658\t2\n76672\t2\n76677\t2\n76682\t2\n76683\t2\n76684\t2\n76691\t2\n76693\t2\n76699\t2\n76700\t2\n76717\t2\n76727\t2\n76729\t2\n76731\t2\n76732\t2\n76754\t2\n76760\t2\n76801\t2\n76806\t2\n76810\t2\n76830\t2\n76833\t2\n76835\t2\n76838\t2\n76841\t2\n76863\t2\n76884\t2\n76890\t2\n76893\t2\n76900\t2\n76910\t2\n76915\t2\n76917\t2\n76919\t2\n76929\t2\n76945\t2\n76961\t2\n76967\t2\n76968\t2\n76972\t2\n76995\t2\n76999\t2\n77003\t2\n77004\t2\n77006\t2\n77008\t2\n77023\t2\n77030\t2\n77035\t2\n77040\t2\n77041\t2\n77044\t2\n77049\t2\n77055\t2\n77069\t2\n77071\t2\n77078\t2\n77097\t2\n77100\t2\n77103\t2\n77117\t2\n77118\t2\n77119\t2\n77124\t2\n77131\t2\n77139\t2\n77141\t2\n77142\t2\n77151\t2\n77154\t2\n77159\t2\n77163\t2\n77167\t2\n77169\t2\n77183\t2\n77202\t2\n77211\t2\n77218\t2\n77221\t2\n77227\t2\n77233\t2\n77236\t2\n77238\t2\n77260\t2\n77262\t2\n77263\t2\n77265\t2\n77267\t2\n77272\t2\n77273\t2\n77279\t2\n77283\t2\n77308\t2\n77309\t2\n77318\t2\n77321\t2\n77324\t2\n77329\t2\n77331\t2\n77336\t2\n77356\t2\n77358\t2\n77360\t2\n77362\t2\n77371\t2\n77399\t2\n77410\t2\n77411\t2\n77414\t2\n77422\t2\n77424\t2\n77444\t2\n77472\t2\n77473\t2\n77480\t2\n77485\t2\n77489\t2\n77492\t2\n77493\t2\n77496\t2\n77505\t2\n77514\t2\n77525\t2\n77533\t2\n77534\t2\n77538\t2\n77541\t2\n77554\t2\n77559\t2\n77575\t2\n77579\t2\n77584\t2\n77609\t2\n77612\t2\n77619\t2\n77642\t2\n77644\t2\n77650\t2\n77653\t2\n77657\t2\n77668\t2\n77676\t2\n77679\t2\n77697\t2\n77699\t2\n77701\t2\n77710\t2\n77717\t2\n77722\t2\n77726\t2\n77747\t2\n77759\t2\n77766\t2\n77773\t2\n77786\t2\n77796\t2\n77808\t2\n77831\t2\n77834\t2\n77836\t2\n77852\t2\n77857\t2\n77871\t2\n77874\t2\n77875\t2\n77885\t2\n77892\t2\n77893\t2\n77894\t2\n77900\t2\n77909\t2\n77920\t2\n77938\t2\n77939\t2\n77943\t2\n77957\t2\n77964\t2\n77971\t2\n77978\t2\n77987\t2\n77992\t2\n77993\t2\n78001\t2\n78006\t2\n78015\t2\n78023\t2\n78024\t2\n78027\t2\n78029\t2\n78042\t2\n78044\t2\n78049\t2\n78053\t2\n78059\t2\n78060\t2\n78072\t2\n78080\t2\n78083\t2\n78095\t2\n78147\t2\n78150\t2\n78154\t2\n78160\t2\n78163\t2\n78173\t2\n78177\t2\n78178\t2\n78191\t2\n78193\t2\n78198\t2\n78210\t2\n78215\t2\n78216\t2\n78217\t2\n78221\t2\n78228\t2\n78235\t2\n78243\t2\n78246\t2\n78247\t2\n78250\t2\n78252\t2\n78262\t2\n78274\t2\n78288\t2\n78294\t2\n78301\t2\n78316\t2\n78317\t2\n78327\t2\n78328\t2\n78337\t2\n78339\t2\n78350\t2\n78359\t2\n78373\t2\n78375\t2\n78380\t2\n78381\t2\n78388\t2\n78397\t2\n78399\t2\n78407\t2\n78410\t2\n78412\t2\n78425\t2\n78435\t2\n78444\t2\n78455\t2\n78458\t2\n78469\t2\n78472\t2\n78483\t2\n78486\t2\n78489\t2\n78498\t2\n78502\t2\n78507\t2\n78514\t2\n78516\t2\n78518\t2\n78529\t2\n78530\t2\n78539\t2\n78541\t2\n78552\t2\n78563\t2\n78565\t2\n78578\t2\n78580\t2\n78583\t2\n78584\t2\n78603\t2\n78608\t2\n78618\t2\n78621\t2\n78622\t2\n78640\t2\n78643\t2\n78645\t2\n78649\t2\n78660\t2\n78661\t2\n78670\t2\n78675\t2\n78680\t2\n78682\t2\n78685\t2\n78687\t2\n78690\t2\n78693\t2\n78696\t2\n78711\t2\n78715\t2\n78720\t2\n78722\t2\n78726\t2\n78732\t2\n78737\t2\n78741\t2\n78744\t2\n78746\t2\n78756\t2\n78760\t2\n78761\t2\n78769\t2\n78787\t2\n78803\t2\n78814\t2\n78824\t2\n78828\t2\n78830\t2\n78834\t2\n78837\t2\n78839\t2\n78844\t2\n78845\t2\n78846\t2\n78853\t2\n78854\t2\n78855\t2\n78865\t2\n78873\t2\n78877\t2\n78882\t2\n78897\t2\n78903\t2\n78905\t2\n78908\t2\n78912\t2\n78940\t2\n78942\t2\n78948\t2\n78954\t2\n78955\t2\n78965\t2\n78970\t2\n78977\t2\n78983\t2\n78986\t2\n78996\t2\n78999\t2\n79000\t2\n79001\t2\n79011\t2\n79019\t2\n79034\t2\n79035\t2\n79037\t2\n79038\t2\n79058\t2\n79070\t2\n79080\t2\n79081\t2\n79091\t2\n79104\t2\n79108\t2\n79112\t2\n79118\t2\n79119\t2\n79128\t2\n79136\t2\n79137\t2\n79138\t2\n79142\t2\n79146\t2\n79147\t2\n79166\t2\n79171\t2\n79174\t2\n79178\t2\n79183\t2\n79185\t2\n79188\t2\n79189\t2\n79190\t2\n79197\t2\n79201\t2\n79202\t2\n79205\t2\n79207\t2\n79210\t2\n79213\t2\n79219\t2\n79233\t2\n79236\t2\n79238\t2\n79244\t2\n79247\t2\n79257\t2\n79260\t2\n79264\t2\n79290\t2\n79308\t2\n79309\t2\n79323\t2\n79329\t2\n79342\t2\n79343\t2\n79353\t2\n79354\t2\n79359\t2\n79373\t2\n79377\t2\n79383\t2\n79384\t2\n79393\t2\n79398\t2\n79406\t2\n79413\t2\n79431\t2\n79438\t2\n79441\t2\n79443\t2\n79444\t2\n79458\t2\n79459\t2\n79467\t2\n79474\t2\n79479\t2\n79484\t2\n79486\t2\n79488\t2\n79489\t2\n79497\t2\n79500\t2\n79504\t2\n79505\t2\n79506\t2\n79509\t2\n79522\t2\n79532\t2\n79533\t2\n79535\t2\n79545\t2\n79546\t2\n79550\t2\n79556\t2\n79557\t2\n79560\t2\n79561\t2\n79569\t2\n79583\t2\n79585\t2\n79586\t2\n79593\t2\n79601\t2\n79610\t2\n79632\t2\n79634\t2\n79638\t2\n79655\t2\n79661\t2\n79662\t2\n79664\t2\n79671\t2\n79673\t2\n79677\t2\n79680\t2\n79684\t2\n79685\t2\n79687\t2\n79694\t2\n79698\t2\n79699\t2\n79732\t2\n79734\t2\n79743\t2\n79746\t2\n79747\t2\n79748\t2\n79763\t2\n79766\t2\n79767\t2\n79768\t2\n79773\t2\n79798\t2\n79802\t2\n79815\t2\n79823\t2\n79824\t2\n79835\t2\n79837\t2\n79839\t2\n79843\t2\n79849\t2\n79860\t2\n79866\t2\n79889\t2\n79890\t2\n79904\t2\n79909\t2\n79913\t2\n79917\t2\n79920\t2\n79922\t2\n79923\t2\n79932\t2\n79934\t2\n79962\t2\n79965\t2\n79968\t2\n79973\t2\n79977\t2\n79981\t2\n79984\t2\n79986\t2\n79987\t2\n80002\t2\n80005\t2\n80016\t2\n80018\t2\n80033\t2\n80038\t2\n80048\t2\n80051\t2\n80052\t2\n80053\t2\n80059\t2\n80063\t2\n80072\t2\n80076\t2\n80082\t2\n80104\t2\n80120\t2\n80129\t2\n80131\t2\n80144\t2\n80145\t2\n80154\t2\n80160\t2\n80164\t2\n80183\t2\n80187\t2\n80194\t2\n80200\t2\n80204\t2\n80206\t2\n80211\t2\n80213\t2\n80217\t2\n80227\t2\n80228\t2\n80230\t2\n80238\t2\n80244\t2\n80251\t2\n80253\t2\n80256\t2\n80261\t2\n80273\t2\n80275\t2\n80280\t2\n80281\t2\n80282\t2\n80285\t2\n80294\t2\n80302\t2\n80303\t2\n80305\t2\n80329\t2\n80332\t2\n80336\t2\n80341\t2\n80343\t2\n80350\t2\n80355\t2\n80357\t2\n80359\t2\n80360\t2\n80379\t2\n80385\t2\n80387\t2\n80389\t2\n80392\t2\n80395\t2\n80406\t2\n80416\t2\n80421\t2\n80423\t2\n80428\t2\n80433\t2\n80438\t2\n80439\t2\n80442\t2\n80448\t2\n80450\t2\n80464\t2\n80474\t2\n80483\t2\n80487\t2\n80491\t2\n80495\t2\n80500\t2\n80502\t2\n80520\t2\n80524\t2\n80531\t2\n80537\t2\n80542\t2\n80544\t2\n80547\t2\n80552\t2\n80566\t2\n80575\t2\n80582\t2\n80592\t2\n80596\t2\n80617\t2\n80624\t2\n80629\t2\n80630\t2\n80637\t2\n80641\t2\n80652\t2\n80653\t2\n80661\t2\n80667\t2\n80684\t2\n80693\t2\n80708\t2\n80709\t2\n80716\t2\n80717\t2\n80719\t2\n80723\t2\n80724\t2\n80725\t2\n80735\t2\n80740\t2\n80749\t2\n80751\t2\n80756\t2\n80761\t2\n80781\t2\n80795\t2\n80809\t2\n80811\t2\n80815\t2\n80816\t2\n80821\t2\n80826\t2\n80833\t2\n80839\t2\n80849\t2\n80851\t2\n80852\t2\n80854\t2\n80865\t2\n80868\t2\n80870\t2\n80874\t2\n80875\t2\n80880\t2\n80889\t2\n80890\t2\n80901\t2\n80903\t2\n80916\t2\n80917\t2\n80920\t2\n80930\t2\n80947\t2\n80976\t2\n80980\t2\n80984\t2\n81012\t2\n81013\t2\n81027\t2\n81030\t2\n81038\t2\n81042\t2\n81048\t2\n81051\t2\n81060\t2\n81071\t2\n81081\t2\n81082\t2\n81089\t2\n81115\t2\n81120\t2\n81126\t2\n81128\t2\n81129\t2\n81133\t2\n81141\t2\n81153\t2\n81154\t2\n81155\t2\n81158\t2\n81159\t2\n81164\t2\n81165\t2\n81166\t2\n81168\t2\n81169\t2\n81178\t2\n81186\t2\n81195\t2\n81198\t2\n81207\t2\n81219\t2\n81221\t2\n81223\t2\n81224\t2\n81246\t2\n81249\t2\n81250\t2\n81256\t2\n81265\t2\n81272\t2\n81277\t2\n81282\t2\n81283\t2\n81290\t2\n81293\t2\n81300\t2\n81304\t2\n81319\t2\n81321\t2\n81326\t2\n81331\t2\n81337\t2\n81342\t2\n81352\t2\n81357\t2\n81367\t2\n81369\t2\n81379\t2\n81381\t2\n81382\t2\n81388\t2\n81389\t2\n81394\t2\n81404\t2\n81410\t2\n81417\t2\n81419\t2\n81420\t2\n81428\t2\n81444\t2\n81445\t2\n81457\t2\n81458\t2\n81468\t2\n81489\t2\n81494\t2\n81497\t2\n81498\t2\n81501\t2\n81512\t2\n81516\t2\n81521\t2\n81540\t2\n81544\t2\n81545\t2\n81555\t2\n81556\t2\n81577\t2\n81582\t2\n81586\t2\n81596\t2\n81599\t2\n81603\t2\n81605\t2\n81614\t2\n81615\t2\n81621\t2\n81635\t2\n81642\t2\n81648\t2\n81663\t2\n81664\t2\n81672\t2\n81674\t2\n81676\t2\n81677\t2\n81683\t2\n81685\t2\n81686\t2\n81699\t2\n81716\t2\n81723\t2\n81735\t2\n81736\t2\n81743\t2\n81745\t2\n81753\t2\n81760\t2\n81761\t2\n81764\t2\n81769\t2\n81772\t2\n81803\t2\n81804\t2\n81810\t2\n81820\t2\n81837\t2\n81850\t2\n81853\t2\n81858\t2\n81880\t2\n81885\t2\n81887\t2\n81888\t2\n81902\t2\n81904\t2\n81915\t2\n81920\t2\n81928\t2\n81930\t2\n81931\t2\n81935\t2\n81939\t2\n81940\t2\n81948\t2\n81963\t2\n81968\t2\n81984\t2\n81985\t2\n81998\t2\n81999\t2\n82009\t2\n82026\t2\n82028\t2\n82038\t2\n82071\t2\n82086\t2\n82089\t2\n82097\t2\n82098\t2\n82099\t2\n82111\t2\n82118\t2\n82127\t2\n82141\t2\n82154\t2\n82160\t2\n82162\t2\n82164\t2\n82165\t2\n82176\t2\n82178\t2\n82185\t2\n82187\t2\n82191\t2\n82196\t2\n82197\t2\n82206\t2\n82217\t2\n82218\t2\n82223\t2\n82229\t2\n82245\t2\n82254\t2\n82261\t2\n82264\t2\n82266\t2\n82267\t2\n82277\t2\n82286\t2\n82296\t2\n82299\t2\n82306\t2\n82312\t2\n82321\t2\n82322\t2\n82324\t2\n82327\t2\n82335\t2\n82336\t2\n82337\t2\n82342\t2\n82344\t2\n82353\t2\n82354\t2\n82356\t2\n82364\t2\n82365\t2\n82371\t2\n82372\t2\n82378\t2\n82385\t2\n82389\t2\n82400\t2\n82401\t2\n82408\t2\n82413\t2\n82418\t2\n82422\t2\n82426\t2\n82434\t2\n82437\t2\n82438\t2\n82439\t2\n82441\t2\n82446\t2\n82449\t2\n82454\t2\n82456\t2\n82459\t2\n82472\t2\n82482\t2\n82489\t2\n82504\t2\n82521\t2\n82522\t2\n82530\t2\n82537\t2\n82558\t2\n82559\t2\n82560\t2\n82577\t2\n82582\t2\n82584\t2\n82594\t2\n82598\t2\n82601\t2\n82602\t2\n82607\t2\n82609\t2\n82613\t2\n82615\t2\n82623\t2\n82628\t2\n82631\t2\n82634\t2\n82637\t2\n82644\t2\n82646\t2\n82651\t2\n82657\t2\n82658\t2\n82662\t2\n82665\t2\n82673\t2\n82674\t2\n82679\t2\n82683\t2\n82690\t2\n82700\t2\n82710\t2\n82725\t2\n82727\t2\n82732\t2\n82740\t2\n82744\t2\n82748\t2\n82752\t2\n82754\t2\n82758\t2\n82760\t2\n82781\t2\n82784\t2\n82786\t2\n82805\t2\n82809\t2\n82813\t2\n82814\t2\n82818\t2\n82819\t2\n82821\t2\n82827\t2\n82844\t2\n82851\t2\n82852\t2\n82857\t2\n82866\t2\n82868\t2\n82869\t2\n82875\t2\n82877\t2\n82879\t2\n82886\t2\n82887\t2\n82888\t2\n82895\t2\n82896\t2\n82898\t2\n82912\t2\n82917\t2\n82932\t2\n82933\t2\n82936\t2\n82939\t2\n82941\t2\n82945\t2\n82947\t2\n82949\t2\n82964\t2\n82967\t2\n82972\t2\n82977\t2\n82981\t2\n82988\t2\n82990\t2\n82996\t2\n83016\t2\n83017\t2\n83029\t2\n83041\t2\n83044\t2\n83046\t2\n83049\t2\n83051\t2\n83059\t2\n83068\t2\n83088\t2\n83089\t2\n83091\t2\n83094\t2\n83096\t2\n83097\t2\n83099\t2\n83103\t2\n83116\t2\n83118\t2\n83123\t2\n83131\t2\n83135\t2\n83147\t2\n83151\t2\n83162\t2\n83171\t2\n83173\t2\n83175\t2\n83179\t2\n83184\t2\n83189\t2\n83206\t2\n83209\t2\n83210\t2\n83215\t2\n83216\t2\n83226\t2\n83228\t2\n83234\t2\n83240\t2\n83241\t2\n83242\t2\n83276\t2\n83297\t2\n83302\t2\n83313\t2\n83316\t2\n83317\t2\n83318\t2\n83321\t2\n83322\t2\n83328\t2\n83330\t2\n83337\t2\n83339\t2\n83346\t2\n83353\t2\n83355\t2\n83367\t2\n83371\t2\n83372\t2\n83378\t2\n83383\t2\n83388\t2\n83389\t2\n83399\t2\n83402\t2\n83422\t2\n83423\t2\n83424\t2\n83425\t2\n83429\t2\n83437\t2\n83438\t2\n83445\t2\n83446\t2\n83447\t2\n83460\t2\n83461\t2\n83466\t2\n83474\t2\n83479\t2\n83485\t2\n83491\t2\n83494\t2\n83495\t2\n83499\t2\n83504\t2\n83510\t2\n83513\t2\n83517\t2\n83538\t2\n83543\t2\n83558\t2\n83559\t2\n83562\t2\n83566\t2\n83587\t2\n83594\t2\n83601\t2\n83611\t2\n83613\t2\n83615\t2\n83627\t2\n83632\t2\n83636\t2\n83637\t2\n83647\t2\n83648\t2\n83651\t2\n83653\t2\n83659\t2\n83664\t2\n83667\t2\n83672\t2\n83677\t2\n83680\t2\n83681\t2\n83693\t2\n83695\t2\n83704\t2\n83706\t2\n83717\t2\n83727\t2\n83728\t2\n83729\t2\n83733\t2\n83740\t2\n83749\t2\n83751\t2\n83764\t2\n83767\t2\n83770\t2\n83788\t2\n83792\t2\n83793\t2\n83803\t2\n83804\t2\n83805\t2\n83812\t2\n83825\t2\n83826\t2\n83831\t2\n83839\t2\n83844\t2\n83848\t2\n83852\t2\n83867\t2\n83870\t2\n83874\t2\n83898\t2\n83900\t2\n83901\t2\n83906\t2\n83910\t2\n83912\t2\n83926\t2\n83928\t2\n83933\t2\n83935\t2\n83937\t2\n83952\t2\n83953\t2\n83963\t2\n83965\t2\n83974\t2\n83975\t2\n83977\t2\n83983\t2\n83999\t2\n84007\t2\n84008\t2\n84021\t2\n84022\t2\n84023\t2\n84027\t2\n84029\t2\n84031\t2\n84035\t2\n84041\t2\n84043\t2\n84054\t2\n84083\t2\n84084\t2\n84102\t2\n84111\t2\n84112\t2\n84127\t2\n84138\t2\n84140\t2\n84142\t2\n84144\t2\n84148\t2\n84151\t2\n84152\t2\n84153\t2\n84160\t2\n84162\t2\n84164\t2\n84169\t2\n84175\t2\n84178\t2\n84185\t2\n84204\t2\n84210\t2\n84219\t2\n84241\t2\n84250\t2\n84256\t2\n84257\t2\n84267\t2\n84271\t2\n84272\t2\n84274\t2\n84276\t2\n84292\t2\n84300\t2\n84315\t2\n84319\t2\n84327\t2\n84333\t2\n84342\t2\n84343\t2\n84350\t2\n84352\t2\n84355\t2\n84359\t2\n84368\t2\n84377\t2\n84383\t2\n84387\t2\n84391\t2\n84396\t2\n84405\t2\n84411\t2\n84414\t2\n84424\t2\n84428\t2\n84442\t2\n84454\t2\n84457\t2\n84458\t2\n84461\t2\n84463\t2\n84494\t2\n84498\t2\n84509\t2\n84524\t2\n84543\t2\n84556\t2\n84561\t2\n84565\t2\n84569\t2\n84577\t2\n84581\t2\n84588\t2\n84589\t2\n84591\t2\n84595\t2\n84599\t2\n84610\t2\n84615\t2\n84616\t2\n84617\t2\n84620\t2\n84624\t2\n84628\t2\n84633\t2\n84641\t2\n84643\t2\n84648\t2\n84655\t2\n84656\t2\n84676\t2\n84681\t2\n84686\t2\n84693\t2\n84705\t2\n84710\t2\n84723\t2\n84735\t2\n84737\t2\n84740\t2\n84744\t2\n84747\t2\n84752\t2\n84753\t2\n84756\t2\n84758\t2\n84768\t2\n84777\t2\n84785\t2\n84788\t2\n84789\t2\n84791\t2\n84796\t2\n84797\t2\n84809\t2\n84810\t2\n84820\t2\n84822\t2\n84829\t2\n84837\t2\n84846\t2\n84850\t2\n84863\t2\n84864\t2\n84865\t2\n84891\t2\n84897\t2\n84900\t2\n84906\t2\n84908\t2\n84912\t2\n84924\t2\n84927\t2\n84934\t2\n84935\t2\n84939\t2\n84940\t2\n84952\t2\n84955\t2\n84960\t2\n84980\t2\n84987\t2\n84992\t2\n84998\t2\n85007\t2\n85009\t2\n85025\t2\n85041\t2\n85052\t2\n85066\t2\n85073\t2\n85075\t2\n85077\t2\n85079\t2\n85093\t2\n85099\t2\n85101\t2\n85113\t2\n85135\t2\n85140\t2\n85144\t2\n85147\t2\n85161\t2\n85165\t2\n85167\t2\n85172\t2\n85176\t2\n85180\t2\n85184\t2\n85201\t2\n85202\t2\n85217\t2\n85226\t2\n85233\t2\n85239\t2\n85243\t2\n85254\t2\n85256\t2\n85273\t2\n85282\t2\n85283\t2\n85290\t2\n85292\t2\n85297\t2\n85305\t2\n85306\t2\n85308\t2\n85309\t2\n85312\t2\n85318\t2\n85320\t2\n85331\t2\n85332\t2\n85362\t2\n85372\t2\n85378\t2\n85385\t2\n85392\t2\n85397\t2\n85405\t2\n85413\t2\n85419\t2\n85420\t2\n85424\t2\n85434\t2\n85436\t2\n85438\t2\n85439\t2\n85466\t2\n85478\t2\n85479\t2\n85482\t2\n85488\t2\n85492\t2\n85496\t2\n85505\t2\n85507\t2\n85518\t2\n85530\t2\n85532\t2\n85542\t2\n85543\t2\n85544\t2\n85547\t2\n85552\t2\n85562\t2\n85565\t2\n85587\t2\n85588\t2\n85610\t2\n85613\t2\n85615\t2\n85626\t2\n85633\t2\n85640\t2\n85642\t2\n85648\t2\n85650\t2\n85655\t2\n85673\t2\n85681\t2\n85685\t2\n85688\t2\n85689\t2\n85690\t2\n85692\t2\n85695\t2\n85697\t2\n85715\t2\n85720\t2\n85728\t2\n85732\t2\n85741\t2\n85761\t2\n85788\t2\n85794\t2\n85799\t2\n85801\t2\n85804\t2\n85808\t2\n85809\t2\n85815\t2\n85816\t2\n85819\t2\n85834\t2\n85836\t2\n85845\t2\n85849\t2\n85854\t2\n85862\t2\n85872\t2\n85873\t2\n85879\t2\n85885\t2\n85889\t2\n85901\t2\n85904\t2\n85915\t2\n85917\t2\n85918\t2\n85923\t2\n85929\t2\n85938\t2\n85950\t2\n85956\t2\n85958\t2\n85961\t2\n85966\t2\n85989\t2\n85996\t2\n86014\t2\n86017\t2\n86025\t2\n86032\t2\n86043\t2\n86048\t2\n86054\t2\n86077\t2\n86078\t2\n86084\t2\n86086\t2\n86090\t2\n86096\t2\n86104\t2\n86116\t2\n86121\t2\n86126\t2\n86139\t2\n86140\t2\n86144\t2\n86152\t2\n86162\t2\n86165\t2\n86168\t2\n86180\t2\n86184\t2\n86191\t2\n86192\t2\n86197\t2\n86213\t2\n86234\t2\n86241\t2\n86249\t2\n86266\t2\n86277\t2\n86278\t2\n86300\t2\n86302\t2\n86316\t2\n86317\t2\n86320\t2\n86323\t2\n86329\t2\n86336\t2\n86344\t2\n86349\t2\n86352\t2\n86356\t2\n86362\t2\n86364\t2\n86365\t2\n86373\t2\n86382\t2\n86383\t2\n86385\t2\n86395\t2\n86398\t2\n86400\t2\n86411\t2\n86418\t2\n86419\t2\n86421\t2\n86440\t2\n86447\t2\n86449\t2\n86454\t2\n86461\t2\n86463\t2\n86471\t2\n86473\t2\n86475\t2\n86478\t2\n86480\t2\n86481\t2\n86492\t2\n86493\t2\n86510\t2\n86535\t2\n86545\t2\n86558\t2\n86559\t2\n86563\t2\n86568\t2\n86581\t2\n86590\t2\n86599\t2\n86604\t2\n86614\t2\n86617\t2\n86619\t2\n86628\t2\n86634\t2\n86644\t2\n86686\t2\n86693\t2\n86697\t2\n86699\t2\n86700\t2\n86717\t2\n86724\t2\n86725\t2\n86735\t2\n86736\t2\n86737\t2\n86744\t2\n86748\t2\n86751\t2\n86754\t2\n86758\t2\n86761\t2\n86763\t2\n86767\t2\n86773\t2\n86776\t2\n86778\t2\n86787\t2\n86789\t2\n86798\t2\n86799\t2\n86801\t2\n86820\t2\n86824\t2\n86829\t2\n86830\t2\n86832\t2\n86837\t2\n86843\t2\n86844\t2\n86847\t2\n86867\t2\n86880\t2\n86881\t2\n86889\t2\n86891\t2\n86893\t2\n86897\t2\n86909\t2\n86910\t2\n86914\t2\n86915\t2\n86945\t2\n86946\t2\n86947\t2\n86956\t2\n86958\t2\n86959\t2\n86967\t2\n86977\t2\n86978\t2\n86982\t2\n86985\t2\n86987\t2\n86990\t2\n87001\t2\n87005\t2\n87017\t2\n87025\t2\n87026\t2\n87038\t2\n87047\t2\n87050\t2\n87052\t2\n87054\t2\n87055\t2\n87057\t2\n87064\t2\n87069\t2\n87078\t2\n87080\t2\n87082\t2\n87086\t2\n87095\t2\n87106\t2\n87112\t2\n87129\t2\n87134\t2\n87136\t2\n87143\t2\n87147\t2\n87158\t2\n87159\t2\n87169\t2\n87181\t2\n87186\t2\n87189\t2\n87194\t2\n87202\t2\n87208\t2\n87221\t2\n87245\t2\n87254\t2\n87261\t2\n87269\t2\n87274\t2\n87277\t2\n87278\t2\n87292\t2\n87297\t2\n87302\t2\n87303\t2\n87307\t2\n87310\t2\n87314\t2\n87318\t2\n87329\t2\n87338\t2\n87344\t2\n87368\t2\n87369\t2\n87374\t2\n87380\t2\n87381\t2\n87387\t2\n87389\t2\n87391\t2\n87405\t2\n87417\t2\n87421\t2\n87423\t2\n87431\t2\n87432\t2\n87433\t2\n87436\t2\n87457\t2\n87464\t2\n87465\t2\n87485\t2\n87493\t2\n87494\t2\n87508\t2\n87512\t2\n87514\t2\n87516\t2\n87529\t2\n87531\t2\n87539\t2\n87544\t2\n87546\t2\n87561\t2\n87564\t2\n87566\t2\n87582\t2\n87583\t2\n87588\t2\n87594\t2\n87600\t2\n87601\t2\n87609\t2\n87634\t2\n87640\t2\n87644\t2\n87661\t2\n87680\t2\n87681\t2\n87699\t2\n87721\t2\n87728\t2\n87729\t2\n87730\t2\n87742\t2\n87747\t2\n87751\t2\n87752\t2\n87761\t2\n87765\t2\n87775\t2\n87778\t2\n87781\t2\n87784\t2\n87785\t2\n87791\t2\n87806\t2\n87812\t2\n87813\t2\n87814\t2\n87817\t2\n87818\t2\n87828\t2\n87829\t2\n87838\t2\n87842\t2\n87847\t2\n87853\t2\n87856\t2\n87865\t2\n87868\t2\n87881\t2\n87883\t2\n87890\t2\n87892\t2\n87896\t2\n87904\t2\n87905\t2\n87907\t2\n87914\t2\n87923\t2\n87936\t2\n87937\t2\n87943\t2\n87944\t2\n87946\t2\n87954\t2\n87960\t2\n87961\t2\n87967\t2\n87977\t2\n87982\t2\n87990\t2\n87993\t2\n87996\t2\n88000\t2\n88029\t2\n88036\t2\n88042\t2\n88044\t2\n88049\t2\n88067\t2\n88069\t2\n88071\t2\n88074\t2\n88082\t2\n88083\t2\n88084\t2\n88086\t2\n88088\t2\n88091\t2\n88092\t2\n88108\t2\n88109\t2\n88115\t2\n88120\t2\n88128\t2\n88130\t2\n88132\t2\n88134\t2\n88135\t2\n88156\t2\n88161\t2\n88172\t2\n88184\t2\n88186\t2\n88205\t2\n88209\t2\n88216\t2\n88220\t2\n88223\t2\n88224\t2\n88258\t2\n88261\t2\n88275\t2\n88277\t2\n88288\t2\n88293\t2\n88296\t2\n88302\t2\n88314\t2\n88319\t2\n88324\t2\n88327\t2\n88330\t2\n88335\t2\n88340\t2\n88345\t2\n88347\t2\n88349\t2\n88355\t2\n88357\t2\n88360\t2\n88388\t2\n88402\t2\n88409\t2\n88414\t2\n88418\t2\n88440\t2\n88442\t2\n88461\t2\n88465\t2\n88470\t2\n88480\t2\n88482\t2\n88485\t2\n88496\t2\n88507\t2\n88508\t2\n88510\t2\n88514\t2\n88527\t2\n88539\t2\n88548\t2\n88553\t2\n88562\t2\n88563\t2\n88564\t2\n88568\t2\n88575\t2\n88582\t2\n88594\t2\n88595\t2\n88599\t2\n88606\t2\n88610\t2\n88614\t2\n88618\t2\n88627\t2\n88628\t2\n88630\t2\n88631\t2\n88636\t2\n88641\t2\n88642\t2\n88656\t2\n88660\t2\n88663\t2\n88668\t2\n88675\t2\n88679\t2\n88693\t2\n88700\t2\n88711\t2\n88713\t2\n88742\t2\n88747\t2\n88748\t2\n88760\t2\n88765\t2\n88767\t2\n88784\t2\n88786\t2\n88790\t2\n88795\t2\n88803\t2\n88810\t2\n88812\t2\n88823\t2\n88829\t2\n88830\t2\n88838\t2\n88854\t2\n88856\t2\n88860\t2\n88862\t2\n88864\t2\n88869\t2\n88873\t2\n88874\t2\n88883\t2\n88896\t2\n88898\t2\n88911\t2\n88921\t2\n88922\t2\n88927\t2\n88933\t2\n88940\t2\n88945\t2\n88950\t2\n88952\t2\n88954\t2\n88957\t2\n88959\t2\n88966\t2\n88972\t2\n88993\t2\n88998\t2\n88999\t2\n89002\t2\n89009\t2\n89015\t2\n89016\t2\n89021\t2\n89028\t2\n89038\t2\n89044\t2\n89045\t2\n89051\t2\n89052\t2\n89057\t2\n89063\t2\n89064\t2\n89065\t2\n89067\t2\n89073\t2\n89074\t2\n89075\t2\n89079\t2\n89086\t2\n89089\t2\n89097\t2\n89101\t2\n89135\t2\n89145\t2\n89150\t2\n89159\t2\n89166\t2\n89168\t2\n89170\t2\n89171\t2\n89173\t2\n89189\t2\n89191\t2\n89192\t2\n89199\t2\n89202\t2\n89203\t2\n89208\t2\n89209\t2\n89215\t2\n89243\t2\n89251\t2\n89253\t2\n89258\t2\n89262\t2\n89264\t2\n89274\t2\n89281\t2\n89283\t2\n89289\t2\n89291\t2\n89295\t2\n89309\t2\n89319\t2\n89330\t2\n89333\t2\n89341\t2\n89344\t2\n89351\t2\n89356\t2\n89359\t2\n89377\t2\n89383\t2\n89390\t2\n89395\t2\n89404\t2\n89408\t2\n89422\t2\n89423\t2\n89424\t2\n89430\t2\n89433\t2\n89436\t2\n89447\t2\n89453\t2\n89454\t2\n89456\t2\n89461\t2\n89463\t2\n89471\t2\n89473\t2\n89477\t2\n89480\t2\n89483\t2\n89485\t2\n89489\t2\n89491\t2\n89499\t2\n89502\t2\n89508\t2\n89513\t2\n89514\t2\n89515\t2\n89530\t2\n89534\t2\n89543\t2\n89544\t2\n89550\t2\n89559\t2\n89566\t2\n89580\t2\n89595\t2\n89602\t2\n89608\t2\n89610\t2\n89611\t2\n89613\t2\n89642\t2\n89648\t2\n89652\t2\n89653\t2\n89658\t2\n89659\t2\n89664\t2\n89665\t2\n89667\t2\n89668\t2\n89675\t2\n89683\t2\n89684\t2\n89696\t2\n89710\t2\n89711\t2\n89719\t2\n89750\t2\n89754\t2\n89756\t2\n89763\t2\n89777\t2\n89778\t2\n89779\t2\n89784\t2\n89788\t2\n89789\t2\n89790\t2\n89791\t2\n89797\t2\n89814\t2\n89817\t2\n89824\t2\n89830\t2\n89850\t2\n89853\t2\n89854\t2\n89862\t2\n89863\t2\n89866\t2\n89874\t2\n89880\t2\n89884\t2\n89896\t2\n89905\t2\n89914\t2\n89918\t2\n89919\t2\n89920\t2\n89927\t2\n89930\t2\n89931\t2\n89932\t2\n89934\t2\n89936\t2\n89973\t2\n89978\t2\n89988\t2\n89997\t2\n89998\t2\n89999\t2\n90000\t2\n90002\t2\n90007\t2\n90018\t2\n90031\t2\n90032\t2\n90033\t2\n90034\t2\n90039\t2\n90043\t2\n90044\t2\n90062\t2\n90065\t2\n90070\t2\n90076\t2\n90078\t2\n90081\t2\n90103\t2\n90108\t2\n90109\t2\n90114\t2\n90132\t2\n90153\t2\n90162\t2\n90175\t2\n90176\t2\n90187\t2\n90189\t2\n90190\t2\n90193\t2\n90194\t2\n90200\t2\n90202\t2\n90205\t2\n90214\t2\n90215\t2\n90216\t2\n90230\t2\n90255\t2\n90262\t2\n90263\t2\n90265\t2\n90267\t2\n90282\t2\n90283\t2\n90285\t2\n90286\t2\n90290\t2\n90306\t2\n90307\t2\n90316\t2\n90320\t2\n90322\t2\n90327\t2\n90331\t2\n90341\t2\n90357\t2\n90362\t2\n90376\t2\n90382\t2\n90386\t2\n90391\t2\n90399\t2\n90407\t2\n90409\t2\n90410\t2\n90435\t2\n90443\t2\n90447\t2\n90460\t2\n90463\t2\n90470\t2\n90475\t2\n90494\t2\n90499\t2\n90503\t2\n90504\t2\n90509\t2\n90523\t2\n90528\t2\n90530\t2\n90535\t2\n90543\t2\n90545\t2\n90550\t2\n90552\t2\n90554\t2\n90561\t2\n90570\t2\n90576\t2\n90577\t2\n90580\t2\n90583\t2\n90587\t2\n90594\t2\n90614\t2\n90622\t2\n90640\t2\n90642\t2\n90646\t2\n90648\t2\n90659\t2\n90660\t2\n90661\t2\n90667\t2\n90669\t2\n90672\t2\n90679\t2\n90680\t2\n90693\t2\n90695\t2\n90710\t2\n90711\t2\n90712\t2\n90713\t2\n90716\t2\n90720\t2\n90723\t2\n90740\t2\n90741\t2\n90746\t2\n90747\t2\n90748\t2\n90767\t2\n90772\t2\n90775\t2\n90779\t2\n90783\t2\n90787\t2\n90801\t2\n90815\t2\n90825\t2\n90851\t2\n90857\t2\n90863\t2\n90867\t2\n90872\t2\n90875\t2\n90879\t2\n90882\t2\n90892\t2\n90921\t2\n90922\t2\n90925\t2\n90928\t2\n90935\t2\n90940\t2\n90948\t2\n90957\t2\n90958\t2\n90972\t2\n90977\t2\n90986\t2\n90990\t2\n91002\t2\n91011\t2\n91016\t2\n91030\t2\n91031\t2\n91035\t2\n91042\t2\n91044\t2\n91046\t2\n91050\t2\n91059\t2\n91070\t2\n91072\t2\n91074\t2\n91087\t2\n91098\t2\n91108\t2\n91112\t2\n91119\t2\n91120\t2\n91134\t2\n91135\t2\n91137\t2\n91138\t2\n91159\t2\n91163\t2\n91173\t2\n91175\t2\n91179\t2\n91180\t2\n91189\t2\n91196\t2\n91197\t2\n91205\t2\n91207\t2\n91210\t2\n91219\t2\n91233\t2\n91238\t2\n91241\t2\n91245\t2\n91247\t2\n91253\t2\n91254\t2\n91255\t2\n91261\t2\n91262\t2\n91269\t2\n91273\t2\n91284\t2\n91293\t2\n91299\t2\n91301\t2\n91304\t2\n91306\t2\n91310\t2\n91315\t2\n91331\t2\n91333\t2\n91337\t2\n91343\t2\n91347\t2\n91349\t2\n91377\t2\n91380\t2\n91383\t2\n91384\t2\n91394\t2\n91395\t2\n91401\t2\n91403\t2\n91411\t2\n91412\t2\n91420\t2\n91425\t2\n91428\t2\n91433\t2\n91436\t2\n91445\t2\n91455\t2\n91457\t2\n91465\t2\n91472\t2\n91495\t2\n91496\t2\n91516\t2\n91519\t2\n91528\t2\n91530\t2\n91536\t2\n91549\t2\n91553\t2\n91556\t2\n91557\t2\n91561\t2\n91566\t2\n91572\t2\n91580\t2\n91581\t2\n91588\t2\n91589\t2\n91591\t2\n91597\t2\n91598\t2\n91606\t2\n91608\t2\n91609\t2\n91610\t2\n91614\t2\n91621\t2\n91628\t2\n91633\t2\n91639\t2\n91642\t2\n91645\t2\n91647\t2\n91651\t2\n91668\t2\n91670\t2\n91671\t2\n91678\t2\n91679\t2\n91683\t2\n91694\t2\n91697\t2\n91702\t2\n91704\t2\n91707\t2\n91710\t2\n91718\t2\n91726\t2\n91727\t2\n91733\t2\n91735\t2\n91736\t2\n91738\t2\n91741\t2\n91742\t2\n91744\t2\n91751\t2\n91759\t2\n91764\t2\n91765\t2\n91773\t2\n91780\t2\n91787\t2\n91796\t2\n91802\t2\n91807\t2\n91816\t2\n91818\t2\n91822\t2\n91835\t2\n91836\t2\n91837\t2\n91841\t2\n91843\t2\n91844\t2\n91845\t2\n91853\t2\n91863\t2\n91877\t2\n91879\t2\n91880\t2\n91882\t2\n91884\t2\n91887\t2\n91900\t2\n91906\t2\n91909\t2\n91916\t2\n91925\t2\n91926\t2\n91933\t2\n91934\t2\n91941\t2\n91946\t2\n91947\t2\n91949\t2\n91951\t2\n91960\t2\n91962\t2\n91967\t2\n91974\t2\n91979\t2\n91987\t2\n91993\t2\n92007\t2\n92036\t2\n92043\t2\n92045\t2\n92046\t2\n92050\t2\n92070\t2\n92081\t2\n92086\t2\n92088\t2\n92093\t2\n92113\t2\n92116\t2\n92120\t2\n92128\t2\n92130\t2\n92138\t2\n92140\t2\n92146\t2\n92149\t2\n92156\t2\n92162\t2\n92176\t2\n92180\t2\n92181\t2\n92183\t2\n92188\t2\n92195\t2\n92203\t2\n92204\t2\n92219\t2\n92227\t2\n92228\t2\n92234\t2\n92238\t2\n92241\t2\n92244\t2\n92245\t2\n92252\t2\n92253\t2\n92258\t2\n92260\t2\n92265\t2\n92267\t2\n92268\t2\n92273\t2\n92279\t2\n92280\t2\n92282\t2\n92284\t2\n92294\t2\n92295\t2\n92314\t2\n92322\t2\n92323\t2\n92325\t2\n92327\t2\n92328\t2\n92334\t2\n92338\t2\n92344\t2\n92345\t2\n92371\t2\n92372\t2\n92380\t2\n92385\t2\n92386\t2\n92391\t2\n92393\t2\n92395\t2\n92403\t2\n92410\t2\n92412\t2\n92420\t2\n92439\t2\n92445\t2\n92452\t2\n92455\t2\n92469\t2\n92475\t2\n92481\t2\n92492\t2\n92500\t2\n92511\t2\n92512\t2\n92521\t2\n92537\t2\n92539\t2\n92557\t2\n92558\t2\n92560\t2\n92561\t2\n92566\t2\n92569\t2\n92572\t2\n92574\t2\n92579\t2\n92580\t2\n92587\t2\n92594\t2\n92622\t2\n92625\t2\n92627\t2\n92630\t2\n92631\t2\n92639\t2\n92663\t2\n92672\t2\n92676\t2\n92691\t2\n92707\t2\n92740\t2\n92750\t2\n92751\t2\n92752\t2\n92753\t2\n92763\t2\n92767\t2\n92785\t2\n92796\t2\n92799\t2\n92801\t2\n92805\t2\n92843\t2\n92847\t2\n92851\t2\n92854\t2\n92857\t2\n92868\t2\n92869\t2\n92874\t2\n92875\t2\n92878\t2\n92887\t2\n92895\t2\n92896\t2\n92900\t2\n92914\t2\n92918\t2\n92920\t2\n92936\t2\n92941\t2\n92944\t2\n92949\t2\n92950\t2\n92952\t2\n92955\t2\n92962\t2\n92970\t2\n92982\t2\n92983\t2\n92987\t2\n92988\t2\n92990\t2\n92992\t2\n93009\t2\n93011\t2\n93017\t2\n93023\t2\n93036\t2\n93037\t2\n93038\t2\n93040\t2\n93048\t2\n93067\t2\n93068\t2\n93072\t2\n93081\t2\n93084\t2\n93088\t2\n93090\t2\n93094\t2\n93099\t2\n93107\t2\n93108\t2\n93110\t2\n93113\t2\n93117\t2\n93120\t2\n93130\t2\n93131\t2\n93134\t2\n93138\t2\n93141\t2\n93148\t2\n93159\t2\n93163\t2\n93169\t2\n93172\t2\n93177\t2\n93184\t2\n93186\t2\n93193\t2\n93216\t2\n93217\t2\n93218\t2\n93227\t2\n93233\t2\n93243\t2\n93245\t2\n93250\t2\n93257\t2\n93265\t2\n93267\t2\n93274\t2\n93275\t2\n93277\t2\n93278\t2\n93279\t2\n93288\t2\n93303\t2\n93314\t2\n93319\t2\n93322\t2\n93324\t2\n93325\t2\n93342\t2\n93353\t2\n93360\t2\n93375\t2\n93384\t2\n93392\t2\n93394\t2\n93395\t2\n93402\t2\n93413\t2\n93453\t2\n93455\t2\n93459\t2\n93464\t2\n93470\t2\n93479\t2\n93486\t2\n93489\t2\n93495\t2\n93507\t2\n93510\t2\n93513\t2\n93514\t2\n93520\t2\n93531\t2\n93535\t2\n93545\t2\n93547\t2\n93548\t2\n93551\t2\n93552\t2\n93563\t2\n93564\t2\n93569\t2\n93571\t2\n93585\t2\n93586\t2\n93600\t2\n93606\t2\n93618\t2\n93623\t2\n93624\t2\n93635\t2\n93645\t2\n93648\t2\n93653\t2\n93672\t2\n93673\t2\n93676\t2\n93681\t2\n93683\t2\n93691\t2\n93695\t2\n93702\t2\n93710\t2\n93713\t2\n93717\t2\n93718\t2\n93728\t2\n93730\t2\n93731\t2\n93736\t2\n93739\t2\n93743\t2\n93747\t2\n93751\t2\n93752\t2\n93754\t2\n93757\t2\n93770\t2\n93782\t2\n93786\t2\n93788\t2\n93804\t2\n93805\t2\n93810\t2\n93811\t2\n93818\t2\n93832\t2\n93838\t2\n93841\t2\n93856\t2\n93865\t2\n93881\t2\n93891\t2\n93898\t2\n93917\t2\n93920\t2\n93923\t2\n93928\t2\n93929\t2\n93946\t2\n93956\t2\n93958\t2\n93960\t2\n93969\t2\n93970\t2\n93985\t2\n93992\t2\n93998\t2\n94000\t2\n94005\t2\n94011\t2\n94014\t2\n94021\t2\n94038\t2\n94044\t2\n94056\t2\n94060\t2\n94061\t2\n94063\t2\n94076\t2\n94077\t2\n94087\t2\n94090\t2\n94092\t2\n94105\t2\n94106\t2\n94115\t2\n94123\t2\n94127\t2\n94132\t2\n94134\t2\n94139\t2\n94140\t2\n94145\t2\n94147\t2\n94150\t2\n94151\t2\n94159\t2\n94169\t2\n94173\t2\n94183\t2\n94197\t2\n94205\t2\n94206\t2\n94211\t2\n94212\t2\n94220\t2\n94224\t2\n94236\t2\n94246\t2\n94247\t2\n94252\t2\n94253\t2\n94259\t2\n94260\t2\n94264\t2\n94278\t2\n94296\t2\n94312\t2\n94314\t2\n94316\t2\n94319\t2\n94321\t2\n94325\t2\n94335\t2\n94337\t2\n94338\t2\n94341\t2\n94356\t2\n94361\t2\n94364\t2\n94369\t2\n94382\t2\n94392\t2\n94403\t2\n94407\t2\n94410\t2\n94420\t2\n94423\t2\n94432\t2\n94437\t2\n94442\t2\n94447\t2\n94448\t2\n94453\t2\n94458\t2\n94461\t2\n94462\t2\n94465\t2\n94472\t2\n94474\t2\n94480\t2\n94499\t2\n94511\t2\n94514\t2\n94518\t2\n94519\t2\n94521\t2\n94529\t2\n94547\t2\n94548\t2\n94554\t2\n94558\t2\n94559\t2\n94565\t2\n94573\t2\n94574\t2\n94590\t2\n94593\t2\n94614\t2\n94618\t2\n94623\t2\n94625\t2\n94646\t2\n94663\t2\n94665\t2\n94666\t2\n94668\t2\n94678\t2\n94681\t2\n94684\t2\n94693\t2\n94696\t2\n94700\t2\n94703\t2\n94715\t2\n94716\t2\n94721\t2\n94730\t2\n94735\t2\n94736\t2\n94745\t2\n94756\t2\n94757\t2\n94759\t2\n94761\t2\n94772\t2\n94776\t2\n94779\t2\n94780\t2\n94793\t2\n94802\t2\n94803\t2\n94805\t2\n94807\t2\n94812\t2\n94816\t2\n94828\t2\n94829\t2\n94830\t2\n94839\t2\n94842\t2\n94843\t2\n94849\t2\n94858\t2\n94862\t2\n94875\t2\n94886\t2\n94888\t2\n94889\t2\n94895\t2\n94900\t2\n94910\t2\n94912\t2\n94913\t2\n94927\t2\n94930\t2\n94931\t2\n94945\t2\n94946\t2\n94949\t2\n94955\t2\n94983\t2\n94985\t2\n94992\t2\n95009\t2\n95010\t2\n95027\t2\n95037\t2\n95044\t2\n95045\t2\n95051\t2\n95057\t2\n95061\t2\n95063\t2\n95070\t2\n95082\t2\n95083\t2\n95092\t2\n95098\t2\n95102\t2\n95111\t2\n95120\t2\n95122\t2\n95143\t2\n95145\t2\n95153\t2\n95158\t2\n95161\t2\n95162\t2\n95182\t2\n95183\t2\n95186\t2\n95190\t2\n95191\t2\n95195\t2\n95199\t2\n95202\t2\n95209\t2\n95213\t2\n95218\t2\n95250\t2\n95252\t2\n95253\t2\n95261\t2\n95270\t2\n95276\t2\n95277\t2\n95279\t2\n95286\t2\n95289\t2\n95291\t2\n95302\t2\n95304\t2\n95321\t2\n95322\t2\n95332\t2\n95334\t2\n95336\t2\n95341\t2\n95343\t2\n95344\t2\n95348\t2\n95353\t2\n95356\t2\n95366\t2\n95417\t2\n95418\t2\n95419\t2\n95426\t2\n95428\t2\n95429\t2\n95448\t2\n95453\t2\n95454\t2\n95456\t2\n95459\t2\n95467\t2\n95485\t2\n95505\t2\n95509\t2\n95513\t2\n95524\t2\n95531\t2\n95532\t2\n95536\t2\n95539\t2\n95543\t2\n95549\t2\n95550\t2\n95553\t2\n95558\t2\n95569\t2\n95576\t2\n95581\t2\n95584\t2\n95585\t2\n95588\t2\n95589\t2\n95594\t2\n95600\t2\n95604\t2\n95615\t2\n95617\t2\n95619\t2\n95628\t2\n95634\t2\n95636\t2\n95644\t2\n95649\t2\n95661\t2\n95670\t2\n95678\t2\n95679\t2\n95685\t2\n95690\t2\n95697\t2\n95702\t2\n95704\t2\n95706\t2\n95713\t2\n95721\t2\n95725\t2\n95729\t2\n95740\t2\n95768\t2\n95775\t2\n95776\t2\n95786\t2\n95787\t2\n95792\t2\n95794\t2\n95795\t2\n95805\t2\n95809\t2\n95813\t2\n95816\t2\n95820\t2\n95821\t2\n95823\t2\n95833\t2\n95845\t2\n95850\t2\n95863\t2\n95865\t2\n95878\t2\n95879\t2\n95887\t2\n95901\t2\n95905\t2\n95906\t2\n95910\t2\n95918\t2\n95923\t2\n95927\t2\n95930\t2\n95946\t2\n95964\t2\n95969\t2\n95970\t2\n95977\t2\n95981\t2\n95983\t2\n95985\t2\n95988\t2\n96004\t2\n96005\t2\n96008\t2\n96031\t2\n96039\t2\n96046\t2\n96061\t2\n96067\t2\n96072\t2\n96074\t2\n96076\t2\n96084\t2\n96089\t2\n96096\t2\n96097\t2\n96099\t2\n96100\t2\n96103\t2\n96123\t2\n96163\t2\n96170\t2\n96178\t2\n96182\t2\n96186\t2\n96193\t2\n96195\t2\n96218\t2\n96225\t2\n96231\t2\n96233\t2\n96240\t2\n96243\t2\n96254\t2\n96255\t2\n96260\t2\n96271\t2\n96273\t2\n96276\t2\n96280\t2\n96287\t2\n96289\t2\n96292\t2\n96299\t2\n96302\t2\n96305\t2\n96320\t2\n96325\t2\n96332\t2\n96337\t2\n96338\t2\n96341\t2\n96353\t2\n96354\t2\n96368\t2\n96370\t2\n96376\t2\n96377\t2\n96382\t2\n96388\t2\n96391\t2\n96395\t2\n96397\t2\n96402\t2\n96425\t2\n96434\t2\n96449\t2\n96453\t2\n96459\t2\n96464\t2\n96465\t2\n96483\t2\n96485\t2\n96490\t2\n96492\t2\n96493\t2\n96504\t2\n96513\t2\n96516\t2\n96517\t2\n96518\t2\n96520\t2\n96542\t2\n96555\t2\n96564\t2\n96596\t2\n96605\t2\n96606\t2\n96609\t2\n96612\t2\n96628\t2\n96635\t2\n96636\t2\n96641\t2\n96644\t2\n96647\t2\n96651\t2\n96655\t2\n96657\t2\n96669\t2\n96675\t2\n96684\t2\n96686\t2\n96687\t2\n96691\t2\n96693\t2\n96695\t2\n96699\t2\n96702\t2\n96709\t2\n96713\t2\n96719\t2\n96720\t2\n96721\t2\n96723\t2\n96725\t2\n96726\t2\n96730\t2\n96747\t2\n96750\t2\n96753\t2\n96756\t2\n96758\t2\n96763\t2\n96764\t2\n96765\t2\n96772\t2\n96775\t2\n96797\t2\n96804\t2\n96824\t2\n96825\t2\n96831\t2\n96834\t2\n96835\t2\n96839\t2\n96845\t2\n96846\t2\n96849\t2\n96852\t2\n96863\t2\n96869\t2\n96872\t2\n96888\t2\n96891\t2\n96892\t2\n96903\t2\n96905\t2\n96912\t2\n96915\t2\n96916\t2\n96920\t2\n96921\t2\n96922\t2\n96924\t2\n96933\t2\n96942\t2\n96947\t2\n96949\t2\n96956\t2\n96960\t2\n96961\t2\n96963\t2\n96966\t2\n96971\t2\n96973\t2\n96974\t2\n96976\t2\n96980\t2\n96983\t2\n96987\t2\n96998\t2\n97005\t2\n97008\t2\n97011\t2\n97014\t2\n97016\t2\n97020\t2\n97021\t2\n97026\t2\n97027\t2\n97031\t2\n97035\t2\n97054\t2\n97059\t2\n97078\t2\n97083\t2\n97084\t2\n97086\t2\n97094\t2\n97095\t2\n97098\t2\n97106\t2\n97123\t2\n97129\t2\n97131\t2\n97135\t2\n97140\t2\n97147\t2\n97155\t2\n97156\t2\n97159\t2\n97163\t2\n97164\t2\n97167\t2\n97168\t2\n97177\t2\n97183\t2\n97192\t2\n97207\t2\n97213\t2\n97215\t2\n97220\t2\n97223\t2\n97226\t2\n97229\t2\n97235\t2\n97236\t2\n97241\t2\n97246\t2\n97247\t2\n97248\t2\n97251\t2\n97271\t2\n97273\t2\n97274\t2\n97276\t2\n97288\t2\n97300\t2\n97304\t2\n97308\t2\n97315\t2\n97320\t2\n97321\t2\n97327\t2\n97341\t2\n97348\t2\n97349\t2\n97350\t2\n97355\t2\n97362\t2\n97371\t2\n97388\t2\n97389\t2\n97397\t2\n97414\t2\n97415\t2\n97418\t2\n97422\t2\n97437\t2\n97439\t2\n97440\t2\n97443\t2\n97448\t2\n97449\t2\n97450\t2\n97461\t2\n97472\t2\n97484\t2\n97489\t2\n97490\t2\n97494\t2\n97499\t2\n97507\t2\n97517\t2\n97520\t2\n97530\t2\n97532\t2\n97533\t2\n97535\t2\n97564\t2\n97570\t2\n97578\t2\n97580\t2\n97581\t2\n97584\t2\n97586\t2\n97597\t2\n97601\t2\n97604\t2\n97608\t2\n97609\t2\n97625\t2\n97629\t2\n97638\t2\n97641\t2\n97646\t2\n97649\t2\n97655\t2\n97662\t2\n97667\t2\n97675\t2\n97679\t2\n97683\t2\n97701\t2\n97702\t2\n97711\t2\n97712\t2\n97724\t2\n97738\t2\n97741\t2\n97751\t2\n97758\t2\n97763\t2\n97764\t2\n97765\t2\n97771\t2\n97778\t2\n97783\t2\n97793\t2\n97795\t2\n97796\t2\n97800\t2\n97806\t2\n97807\t2\n97810\t2\n97828\t2\n97833\t2\n97834\t2\n97840\t2\n97848\t2\n97854\t2\n97855\t2\n97857\t2\n97860\t2\n97872\t2\n97877\t2\n97879\t2\n97883\t2\n97902\t2\n97906\t2\n97913\t2\n97919\t2\n97945\t2\n97950\t2\n97952\t2\n97959\t2\n97965\t2\n97966\t2\n97967\t2\n97970\t2\n97971\t2\n97975\t2\n97980\t2\n97982\t2\n97986\t2\n97997\t2\n98001\t2\n98005\t2\n98016\t2\n98021\t2\n98028\t2\n98029\t2\n98034\t2\n98036\t2\n98040\t2\n98063\t2\n98070\t2\n98076\t2\n98084\t2\n98091\t2\n98096\t2\n98100\t2\n98102\t2\n98109\t2\n98110\t2\n98113\t2\n98119\t2\n98128\t2\n98132\t2\n98153\t2\n98154\t2\n98162\t2\n98163\t2\n98166\t2\n98173\t2\n98185\t2\n98191\t2\n98192\t2\n98204\t2\n98207\t2\n98214\t2\n98217\t2\n98219\t2\n98224\t2\n98227\t2\n98233\t2\n98234\t2\n98242\t2\n98243\t2\n98260\t2\n98263\t2\n98264\t2\n98268\t2\n98287\t2\n98297\t2\n98315\t2\n98331\t2\n98345\t2\n98371\t2\n98375\t2\n98389\t2\n98390\t2\n98395\t2\n98396\t2\n98405\t2\n98406\t2\n98411\t2\n98424\t2\n98433\t2\n98439\t2\n98443\t2\n98445\t2\n98457\t2\n98463\t2\n98466\t2\n98467\t2\n98469\t2\n98483\t2\n98491\t2\n98492\t2\n98495\t2\n98507\t2\n98511\t2\n98519\t2\n98523\t2\n98524\t2\n98534\t2\n98538\t2\n98542\t2\n98544\t2\n98549\t2\n98556\t2\n98561\t2\n98566\t2\n98570\t2\n98575\t2\n98579\t2\n98586\t2\n98589\t2\n98593\t2\n98594\t2\n98599\t2\n98604\t2\n98607\t2\n98610\t2\n98616\t2\n98629\t2\n98631\t2\n98644\t2\n98652\t2\n98653\t2\n98668\t2\n98669\t2\n98690\t2\n98696\t2\n98703\t2\n98706\t2\n98710\t2\n98711\t2\n98712\t2\n98717\t2\n98720\t2\n98748\t2\n98758\t2\n98770\t2\n98779\t2\n98782\t2\n98784\t2\n98786\t2\n98787\t2\n98795\t2\n98797\t2\n98802\t2\n98809\t2\n98813\t2\n98825\t2\n98829\t2\n98846\t2\n98886\t2\n98888\t2\n98891\t2\n98892\t2\n98897\t2\n98907\t2\n98911\t2\n98919\t2\n98922\t2\n98929\t2\n98937\t2\n98938\t2\n98940\t2\n98941\t2\n98942\t2\n98943\t2\n98946\t2\n98949\t2\n98964\t2\n98970\t2\n98971\t2\n98978\t2\n98992\t2\n98999\t2\n4\t3\n12\t3\n16\t3\n24\t3\n34\t3\n39\t3\n42\t3\n48\t3\n49\t3\n53\t3\n57\t3\n78\t3\n79\t3\n81\t3\n94\t3\n98\t3\n100\t3\n102\t3\n104\t3\n106\t3\n114\t3\n117\t3\n120\t3\n124\t3\n131\t3\n135\t3\n137\t3\n139\t3\n141\t3\n144\t3\n150\t3\n155\t3\n164\t3\n178\t3\n179\t3\n181\t3\n192\t3\n195\t3\n203\t3\n207\t3\n208\t3\n217\t3\n221\t3\n230\t3\n232\t3\n235\t3\n237\t3\n238\t3\n241\t3\n246\t3\n248\t3\n250\t3\n251\t3\n252\t3\n253\t3\n257\t3\n263\t3\n275\t3\n284\t3\n288\t3\n300\t3\n306\t3\n308\t3\n315\t3\n321\t3\n338\t3\n339\t3\n341\t3\n344\t3\n351\t3\n356\t3\n374\t3\n380\t3\n383\t3\n384\t3\n406\t3\n413\t3\n420\t3\n423\t3\n436\t3\n437\t3\n438\t3\n441\t3\n443\t3\n453\t3\n463\t3\n467\t3\n481\t3\n510\t3\n511\t3\n513\t3\n516\t3\n521\t3\n531\t3\n537\t3\n543\t3\n545\t3\n552\t3\n557\t3\n558\t3\n559\t3\n562\t3\n571\t3\n574\t3\n576\t3\n582\t3\n584\t3\n585\t3\n594\t3\n601\t3\n603\t3\n607\t3\n614\t3\n616\t3\n618\t3\n643\t3\n645\t3\n670\t3\n682\t3\n690\t3\n691\t3\n694\t3\n695\t3\n705\t3\n708\t3\n714\t3\n715\t3\n716\t3\n723\t3\n727\t3\n732\t3\n736\t3\n737\t3\n747\t3\n749\t3\n757\t3\n761\t3\n762\t3\n769\t3\n772\t3\n783\t3\n784\t3\n795\t3\n798\t3\n812\t3\n821\t3\n834\t3\n841\t3\n842\t3\n861\t3\n870\t3\n880\t3\n906\t3\n924\t3\n926\t3\n928\t3\n931\t3\n932\t3\n935\t3\n959\t3\n964\t3\n967\t3\n970\t3\n973\t3\n974\t3\n977\t3\n980\t3\n991\t3\n998\t3\n1009\t3\n1010\t3\n1014\t3\n1020\t3\n1023\t3\n1025\t3\n1027\t3\n1040\t3\n1041\t3\n1047\t3\n1050\t3\n1052\t3\n1054\t3\n1057\t3\n1060\t3\n1067\t3\n1073\t3\n1074\t3\n1075\t3\n1078\t3\n1083\t3\n1088\t3\n1089\t3\n1096\t3\n1099\t3\n1112\t3\n1120\t3\n1130\t3\n1132\t3\n1144\t3\n1147\t3\n1148\t3\n1151\t3\n1157\t3\n1162\t3\n1168\t3\n1172\t3\n1176\t3\n1188\t3\n1191\t3\n1199\t3\n1200\t3\n1216\t3\n1218\t3\n1219\t3\n1222\t3\n1227\t3\n1232\t3\n1235\t3\n1243\t3\n1247\t3\n1249\t3\n1251\t3\n1263\t3\n1264\t3\n1267\t3\n1268\t3\n1272\t3\n1279\t3\n1285\t3\n1286\t3\n1287\t3\n1288\t3\n1306\t3\n1326\t3\n1330\t3\n1343\t3\n1350\t3\n1354\t3\n1357\t3\n1375\t3\n1385\t3\n1395\t3\n1419\t3\n1422\t3\n1423\t3\n1445\t3\n1447\t3\n1451\t3\n1452\t3\n1457\t3\n1464\t3\n1467\t3\n1482\t3\n1483\t3\n1484\t3\n1493\t3\n1494\t3\n1499\t3\n1502\t3\n1504\t3\n1505\t3\n1517\t3\n1518\t3\n1522\t3\n1532\t3\n1536\t3\n1539\t3\n1541\t3\n1544\t3\n1551\t3\n1560\t3\n1563\t3\n1572\t3\n1575\t3\n1583\t3\n1584\t3\n1585\t3\n1586\t3\n1589\t3\n1591\t3\n1592\t3\n1601\t3\n1607\t3\n1613\t3\n1614\t3\n1623\t3\n1624\t3\n1635\t3\n1646\t3\n1651\t3\n1657\t3\n1665\t3\n1670\t3\n1673\t3\n1678\t3\n1682\t3\n1685\t3\n1687\t3\n1701\t3\n1706\t3\n1708\t3\n1714\t3\n1719\t3\n1725\t3\n1727\t3\n1731\t3\n1732\t3\n1735\t3\n1737\t3\n1745\t3\n1749\t3\n1753\t3\n1754\t3\n1755\t3\n1756\t3\n1760\t3\n1761\t3\n1768\t3\n1772\t3\n1775\t3\n1776\t3\n1791\t3\n1793\t3\n1794\t3\n1800\t3\n1804\t3\n1812\t3\n1818\t3\n1822\t3\n1832\t3\n1839\t3\n1840\t3\n1842\t3\n1845\t3\n1846\t3\n1852\t3\n1856\t3\n1871\t3\n1874\t3\n1875\t3\n1888\t3\n1891\t3\n1894\t3\n1906\t3\n1910\t3\n1912\t3\n1918\t3\n1920\t3\n1921\t3\n1922\t3\n1927\t3\n1930\t3\n1937\t3\n1948\t3\n1950\t3\n1951\t3\n1952\t3\n1958\t3\n1960\t3\n1973\t3\n1998\t3\n1999\t3\n2003\t3\n2004\t3\n2016\t3\n2017\t3\n2025\t3\n2027\t3\n2038\t3\n2055\t3\n2057\t3\n2071\t3\n2074\t3\n2075\t3\n2083\t3\n2085\t3\n2091\t3\n2109\t3\n2120\t3\n2127\t3\n2129\t3\n2133\t3\n2137\t3\n2148\t3\n2171\t3\n2179\t3\n2184\t3\n2189\t3\n2204\t3\n2206\t3\n2225\t3\n2227\t3\n2231\t3\n2233\t3\n2244\t3\n2251\t3\n2261\t3\n2264\t3\n2267\t3\n2268\t3\n2275\t3\n2277\t3\n2279\t3\n2280\t3\n2284\t3\n2300\t3\n2304\t3\n2307\t3\n2309\t3\n2317\t3\n2323\t3\n2330\t3\n2338\t3\n2340\t3\n2341\t3\n2345\t3\n2349\t3\n2362\t3\n2363\t3\n2368\t3\n2374\t3\n2377\t3\n2380\t3\n2401\t3\n2414\t3\n2432\t3\n2433\t3\n2435\t3\n2440\t3\n2450\t3\n2457\t3\n2464\t3\n2465\t3\n2466\t3\n2468\t3\n2471\t3\n2490\t3\n2492\t3\n2510\t3\n2514\t3\n2519\t3\n2520\t3\n2521\t3\n2528\t3\n2529\t3\n2543\t3\n2547\t3\n2556\t3\n2557\t3\n2575\t3\n2582\t3\n2588\t3\n2589\t3\n2592\t3\n2594\t3\n2597\t3\n2617\t3\n2620\t3\n2625\t3\n2629\t3\n2630\t3\n2633\t3\n2636\t3\n2641\t3\n2655\t3\n2659\t3\n2663\t3\n2666\t3\n2672\t3\n2680\t3\n2689\t3\n2692\t3\n2697\t3\n2702\t3\n2704\t3\n2709\t3\n2729\t3\n2737\t3\n2738\t3\n2740\t3\n2749\t3\n2763\t3\n2768\t3\n2782\t3\n2785\t3\n2788\t3\n2797\t3\n2809\t3\n2811\t3\n2816\t3\n2824\t3\n2848\t3\n2850\t3\n2851\t3\n2853\t3\n2855\t3\n2863\t3\n2867\t3\n2875\t3\n2879\t3\n2886\t3\n2893\t3\n2901\t3\n2912\t3\n2918\t3\n2929\t3\n2947\t3\n2959\t3\n2961\t3\n2962\t3\n2966\t3\n2969\t3\n2986\t3\n2987\t3\n2997\t3\n3002\t3\n3024\t3\n3025\t3\n3028\t3\n3046\t3\n3052\t3\n3057\t3\n3061\t3\n3069\t3\n3078\t3\n3083\t3\n3097\t3\n3108\t3\n3110\t3\n3113\t3\n3115\t3\n3125\t3\n3126\t3\n3140\t3\n3141\t3\n3161\t3\n3166\t3\n3172\t3\n3176\t3\n3177\t3\n3187\t3\n3193\t3\n3194\t3\n3203\t3\n3208\t3\n3211\t3\n3217\t3\n3219\t3\n3229\t3\n3234\t3\n3254\t3\n3256\t3\n3257\t3\n3265\t3\n3268\t3\n3274\t3\n3279\t3\n3282\t3\n3286\t3\n3290\t3\n3291\t3\n3294\t3\n3317\t3\n3327\t3\n3330\t3\n3350\t3\n3354\t3\n3357\t3\n3367\t3\n3374\t3\n3375\t3\n3391\t3\n3402\t3\n3408\t3\n3413\t3\n3423\t3\n3424\t3\n3429\t3\n3434\t3\n3457\t3\n3459\t3\n3462\t3\n3469\t3\n3472\t3\n3477\t3\n3478\t3\n3496\t3\n3505\t3\n3511\t3\n3513\t3\n3514\t3\n3534\t3\n3537\t3\n3538\t3\n3547\t3\n3555\t3\n3558\t3\n3562\t3\n3583\t3\n3589\t3\n3591\t3\n3594\t3\n3603\t3\n3630\t3\n3632\t3\n3638\t3\n3640\t3\n3645\t3\n3651\t3\n3655\t3\n3657\t3\n3659\t3\n3672\t3\n3675\t3\n3680\t3\n3681\t3\n3682\t3\n3683\t3\n3688\t3\n3699\t3\n3705\t3\n3706\t3\n3708\t3\n3710\t3\n3718\t3\n3726\t3\n3728\t3\n3733\t3\n3734\t3\n3739\t3\n3746\t3\n3749\t3\n3751\t3\n3752\t3\n3754\t3\n3756\t3\n3759\t3\n3766\t3\n3770\t3\n3784\t3\n3785\t3\n3796\t3\n3800\t3\n3803\t3\n3811\t3\n3812\t3\n3819\t3\n3828\t3\n3830\t3\n3832\t3\n3833\t3\n3834\t3\n3839\t3\n3840\t3\n3841\t3\n3843\t3\n3852\t3\n3854\t3\n3855\t3\n3867\t3\n3884\t3\n3891\t3\n3892\t3\n3897\t3\n3906\t3\n3913\t3\n3930\t3\n3932\t3\n3939\t3\n3942\t3\n3943\t3\n3952\t3\n3957\t3\n3958\t3\n3967\t3\n3970\t3\n3979\t3\n3982\t3\n4014\t3\n4016\t3\n4023\t3\n4027\t3\n4029\t3\n4042\t3\n4045\t3\n4066\t3\n4094\t3\n4100\t3\n4101\t3\n4102\t3\n4124\t3\n4131\t3\n4132\t3\n4139\t3\n4145\t3\n4152\t3\n4153\t3\n4161\t3\n4169\t3\n4170\t3\n4173\t3\n4178\t3\n4179\t3\n4182\t3\n4188\t3\n4195\t3\n4196\t3\n4203\t3\n4205\t3\n4221\t3\n4246\t3\n4250\t3\n4260\t3\n4262\t3\n4280\t3\n4282\t3\n4292\t3\n4293\t3\n4300\t3\n4308\t3\n4310\t3\n4313\t3\n4323\t3\n4352\t3\n4356\t3\n4362\t3\n4384\t3\n4405\t3\n4407\t3\n4417\t3\n4425\t3\n4432\t3\n4445\t3\n4451\t3\n4455\t3\n4468\t3\n4471\t3\n4476\t3\n4488\t3\n4491\t3\n4493\t3\n4495\t3\n4501\t3\n4502\t3\n4504\t3\n4505\t3\n4513\t3\n4515\t3\n4519\t3\n4530\t3\n4532\t3\n4535\t3\n4537\t3\n4538\t3\n4539\t3\n4547\t3\n4548\t3\n4552\t3\n4555\t3\n4562\t3\n4568\t3\n4574\t3\n4590\t3\n4594\t3\n4603\t3\n4605\t3\n4613\t3\n4634\t3\n4641\t3\n4645\t3\n4657\t3\n4670\t3\n4673\t3\n4674\t3\n4677\t3\n4679\t3\n4684\t3\n4688\t3\n4696\t3\n4703\t3\n4704\t3\n4707\t3\n4714\t3\n4720\t3\n4729\t3\n4731\t3\n4733\t3\n4734\t3\n4736\t3\n4738\t3\n4757\t3\n4761\t3\n4767\t3\n4770\t3\n4774\t3\n4777\t3\n4778\t3\n4783\t3\n4797\t3\n4801\t3\n4806\t3\n4810\t3\n4815\t3\n4816\t3\n4825\t3\n4837\t3\n4845\t3\n4858\t3\n4859\t3\n4867\t3\n4878\t3\n4883\t3\n4885\t3\n4894\t3\n4903\t3\n4904\t3\n4910\t3\n4926\t3\n4927\t3\n4932\t3\n4933\t3\n4949\t3\n4957\t3\n4965\t3\n4970\t3\n4975\t3\n4982\t3\n4987\t3\n4997\t3\n5005\t3\n5013\t3\n5019\t3\n5020\t3\n5023\t3\n5025\t3\n5030\t3\n5032\t3\n5033\t3\n5043\t3\n5060\t3\n5061\t3\n5063\t3\n5071\t3\n5099\t3\n5108\t3\n5114\t3\n5119\t3\n5121\t3\n5123\t3\n5126\t3\n5129\t3\n5131\t3\n5135\t3\n5141\t3\n5143\t3\n5145\t3\n5155\t3\n5179\t3\n5182\t3\n5190\t3\n5192\t3\n5197\t3\n5198\t3\n5201\t3\n5202\t3\n5204\t3\n5214\t3\n5217\t3\n5223\t3\n5226\t3\n5228\t3\n5239\t3\n5242\t3\n5243\t3\n5244\t3\n5255\t3\n5264\t3\n5279\t3\n5291\t3\n5294\t3\n5298\t3\n5299\t3\n5300\t3\n5305\t3\n5309\t3\n5314\t3\n5318\t3\n5319\t3\n5320\t3\n5322\t3\n5325\t3\n5329\t3\n5330\t3\n5331\t3\n5345\t3\n5350\t3\n5358\t3\n5366\t3\n5369\t3\n5372\t3\n5381\t3\n5384\t3\n5386\t3\n5387\t3\n5390\t3\n5398\t3\n5401\t3\n5404\t3\n5407\t3\n5408\t3\n5414\t3\n5418\t3\n5420\t3\n5429\t3\n5431\t3\n5443\t3\n5452\t3\n5454\t3\n5456\t3\n5474\t3\n5475\t3\n5479\t3\n5495\t3\n5500\t3\n5507\t3\n5516\t3\n5518\t3\n5520\t3\n5525\t3\n5535\t3\n5546\t3\n5547\t3\n5551\t3\n5560\t3\n5563\t3\n5564\t3\n5566\t3\n5596\t3\n5599\t3\n5600\t3\n5611\t3\n5620\t3\n5644\t3\n5645\t3\n5646\t3\n5653\t3\n5655\t3\n5657\t3\n5661\t3\n5667\t3\n5684\t3\n5687\t3\n5689\t3\n5692\t3\n5694\t3\n5714\t3\n5727\t3\n5728\t3\n5729\t3\n5741\t3\n5764\t3\n5771\t3\n5775\t3\n5776\t3\n5778\t3\n5785\t3\n5791\t3\n5794\t3\n5795\t3\n5808\t3\n5812\t3\n5825\t3\n5829\t3\n5832\t3\n5835\t3\n5838\t3\n5846\t3\n5853\t3\n5858\t3\n5870\t3\n5871\t3\n5882\t3\n5884\t3\n5887\t3\n5891\t3\n5892\t3\n5901\t3\n5909\t3\n5916\t3\n5939\t3\n5952\t3\n5958\t3\n5963\t3\n5973\t3\n5977\t3\n5978\t3\n5979\t3\n5992\t3\n5996\t3\n5997\t3\n6007\t3\n6009\t3\n6016\t3\n6017\t3\n6019\t3\n6030\t3\n6032\t3\n6034\t3\n6041\t3\n6042\t3\n6047\t3\n6062\t3\n6073\t3\n6086\t3\n6104\t3\n6105\t3\n6108\t3\n6109\t3\n6111\t3\n6114\t3\n6126\t3\n6128\t3\n6136\t3\n6137\t3\n6159\t3\n6169\t3\n6172\t3\n6176\t3\n6179\t3\n6182\t3\n6186\t3\n6193\t3\n6213\t3\n6227\t3\n6228\t3\n6229\t3\n6234\t3\n6256\t3\n6257\t3\n6264\t3\n6272\t3\n6273\t3\n6278\t3\n6279\t3\n6282\t3\n6289\t3\n6302\t3\n6310\t3\n6313\t3\n6314\t3\n6321\t3\n6324\t3\n6333\t3\n6337\t3\n6350\t3\n6352\t3\n6357\t3\n6358\t3\n6369\t3\n6372\t3\n6375\t3\n6390\t3\n6391\t3\n6395\t3\n6398\t3\n6399\t3\n6401\t3\n6402\t3\n6405\t3\n6407\t3\n6413\t3\n6421\t3\n6428\t3\n6430\t3\n6431\t3\n6441\t3\n6444\t3\n6447\t3\n6450\t3\n6456\t3\n6470\t3\n6479\t3\n6491\t3\n6494\t3\n6501\t3\n6503\t3\n6511\t3\n6513\t3\n6514\t3\n6524\t3\n6531\t3\n6537\t3\n6539\t3\n6541\t3\n6545\t3\n6546\t3\n6552\t3\n6555\t3\n6558\t3\n6567\t3\n6568\t3\n6571\t3\n6572\t3\n6573\t3\n6583\t3\n6588\t3\n6593\t3\n6600\t3\n6601\t3\n6607\t3\n6608\t3\n6612\t3\n6638\t3\n6641\t3\n6647\t3\n6671\t3\n6675\t3\n6689\t3\n6691\t3\n6693\t3\n6709\t3\n6714\t3\n6719\t3\n6720\t3\n6725\t3\n6742\t3\n6752\t3\n6767\t3\n6770\t3\n6773\t3\n6780\t3\n6807\t3\n6813\t3\n6815\t3\n6818\t3\n6823\t3\n6824\t3\n6828\t3\n6832\t3\n6843\t3\n6866\t3\n6885\t3\n6894\t3\n6899\t3\n6901\t3\n6907\t3\n6909\t3\n6910\t3\n6917\t3\n6929\t3\n6939\t3\n6940\t3\n6943\t3\n6950\t3\n6954\t3\n6961\t3\n6971\t3\n6975\t3\n6979\t3\n6983\t3\n7006\t3\n7022\t3\n7031\t3\n7033\t3\n7036\t3\n7042\t3\n7055\t3\n7067\t3\n7074\t3\n7075\t3\n7086\t3\n7087\t3\n7108\t3\n7113\t3\n7115\t3\n7120\t3\n7122\t3\n7127\t3\n7130\t3\n7131\t3\n7135\t3\n7141\t3\n7158\t3\n7167\t3\n7176\t3\n7181\t3\n7199\t3\n7202\t3\n7204\t3\n7213\t3\n7223\t3\n7227\t3\n7255\t3\n7257\t3\n7265\t3\n7269\t3\n7271\t3\n7287\t3\n7292\t3\n7300\t3\n7301\t3\n7325\t3\n7329\t3\n7330\t3\n7337\t3\n7341\t3\n7349\t3\n7363\t3\n7373\t3\n7375\t3\n7378\t3\n7388\t3\n7398\t3\n7400\t3\n7418\t3\n7419\t3\n7421\t3\n7424\t3\n7425\t3\n7427\t3\n7430\t3\n7433\t3\n7434\t3\n7435\t3\n7439\t3\n7442\t3\n7456\t3\n7461\t3\n7463\t3\n7467\t3\n7479\t3\n7480\t3\n7482\t3\n7484\t3\n7494\t3\n7498\t3\n7500\t3\n7509\t3\n7513\t3\n7518\t3\n7530\t3\n7533\t3\n7539\t3\n7554\t3\n7558\t3\n7567\t3\n7571\t3\n7577\t3\n7590\t3\n7592\t3\n7594\t3\n7601\t3\n7602\t3\n7607\t3\n7638\t3\n7640\t3\n7648\t3\n7650\t3\n7653\t3\n7658\t3\n7668\t3\n7673\t3\n7683\t3\n7686\t3\n7694\t3\n7695\t3\n7697\t3\n7699\t3\n7703\t3\n7705\t3\n7719\t3\n7723\t3\n7728\t3\n7733\t3\n7735\t3\n7737\t3\n7750\t3\n7764\t3\n7775\t3\n7794\t3\n7796\t3\n7800\t3\n7804\t3\n7808\t3\n7810\t3\n7818\t3\n7820\t3\n7822\t3\n7829\t3\n7832\t3\n7838\t3\n7844\t3\n7876\t3\n7877\t3\n7882\t3\n7887\t3\n7892\t3\n7895\t3\n7897\t3\n7907\t3\n7909\t3\n7910\t3\n7911\t3\n7918\t3\n7919\t3\n7921\t3\n7927\t3\n7946\t3\n7947\t3\n7954\t3\n7972\t3\n7975\t3\n7976\t3\n7978\t3\n7979\t3\n7981\t3\n7989\t3\n7998\t3\n8001\t3\n8007\t3\n8009\t3\n8029\t3\n8030\t3\n8042\t3\n8055\t3\n8065\t3\n8074\t3\n8076\t3\n8092\t3\n8093\t3\n8112\t3\n8129\t3\n8131\t3\n8132\t3\n8136\t3\n8137\t3\n8158\t3\n8167\t3\n8172\t3\n8181\t3\n8182\t3\n8201\t3\n8202\t3\n8207\t3\n8212\t3\n8213\t3\n8218\t3\n8227\t3\n8228\t3\n8245\t3\n8249\t3\n8252\t3\n8259\t3\n8262\t3\n8274\t3\n8292\t3\n8302\t3\n8308\t3\n8310\t3\n8311\t3\n8312\t3\n8314\t3\n8315\t3\n8319\t3\n8321\t3\n8332\t3\n8337\t3\n8339\t3\n8354\t3\n8356\t3\n8361\t3\n8362\t3\n8364\t3\n8368\t3\n8373\t3\n8375\t3\n8381\t3\n8384\t3\n8388\t3\n8406\t3\n8409\t3\n8413\t3\n8414\t3\n8427\t3\n8433\t3\n8434\t3\n8436\t3\n8438\t3\n8440\t3\n8444\t3\n8447\t3\n8464\t3\n8490\t3\n8497\t3\n8509\t3\n8528\t3\n8529\t3\n8530\t3\n8531\t3\n8533\t3\n8536\t3\n8537\t3\n8538\t3\n8543\t3\n8562\t3\n8569\t3\n8572\t3\n8579\t3\n8584\t3\n8591\t3\n8592\t3\n8599\t3\n8609\t3\n8613\t3\n8624\t3\n8625\t3\n8633\t3\n8634\t3\n8639\t3\n8642\t3\n8650\t3\n8652\t3\n8654\t3\n8657\t3\n8660\t3\n8666\t3\n8669\t3\n8670\t3\n8671\t3\n8672\t3\n8678\t3\n8681\t3\n8682\t3\n8684\t3\n8686\t3\n8688\t3\n8701\t3\n8710\t3\n8711\t3\n8719\t3\n8721\t3\n8723\t3\n8725\t3\n8730\t3\n8734\t3\n8735\t3\n8750\t3\n8755\t3\n8758\t3\n8760\t3\n8779\t3\n8784\t3\n8787\t3\n8789\t3\n8795\t3\n8798\t3\n8804\t3\n8805\t3\n8809\t3\n8811\t3\n8816\t3\n8819\t3\n8823\t3\n8832\t3\n8841\t3\n8853\t3\n8855\t3\n8868\t3\n8870\t3\n8873\t3\n8881\t3\n8885\t3\n8887\t3\n8905\t3\n8922\t3\n8923\t3\n8927\t3\n8930\t3\n8934\t3\n8937\t3\n8943\t3\n8945\t3\n8948\t3\n8953\t3\n8974\t3\n8983\t3\n8998\t3\n9002\t3\n9006\t3\n9009\t3\n9013\t3\n9017\t3\n9019\t3\n9033\t3\n9035\t3\n9043\t3\n9050\t3\n9055\t3\n9056\t3\n9057\t3\n9066\t3\n9069\t3\n9079\t3\n9082\t3\n9087\t3\n9093\t3\n9097\t3\n9106\t3\n9123\t3\n9126\t3\n9134\t3\n9140\t3\n9147\t3\n9162\t3\n9163\t3\n9165\t3\n9174\t3\n9177\t3\n9181\t3\n9191\t3\n9200\t3\n9203\t3\n9207\t3\n9215\t3\n9229\t3\n9232\t3\n9234\t3\n9243\t3\n9248\t3\n9250\t3\n9253\t3\n9257\t3\n9262\t3\n9271\t3\n9289\t3\n9291\t3\n9311\t3\n9315\t3\n9316\t3\n9324\t3\n9330\t3\n9336\t3\n9341\t3\n9357\t3\n9358\t3\n9375\t3\n9378\t3\n9380\t3\n9403\t3\n9404\t3\n9412\t3\n9415\t3\n9416\t3\n9423\t3\n9424\t3\n9438\t3\n9446\t3\n9453\t3\n9456\t3\n9469\t3\n9478\t3\n9479\t3\n9480\t3\n9482\t3\n9486\t3\n9487\t3\n9490\t3\n9491\t3\n9500\t3\n9509\t3\n9512\t3\n9521\t3\n9524\t3\n9528\t3\n9545\t3\n9559\t3\n9567\t3\n9568\t3\n9575\t3\n9576\t3\n9591\t3\n9599\t3\n9604\t3\n9616\t3\n9621\t3\n9638\t3\n9645\t3\n9647\t3\n9652\t3\n9659\t3\n9673\t3\n9680\t3\n9686\t3\n9699\t3\n9700\t3\n9702\t3\n9709\t3\n9716\t3\n9734\t3\n9741\t3\n9742\t3\n9753\t3\n9754\t3\n9756\t3\n9762\t3\n9770\t3\n9772\t3\n9777\t3\n9779\t3\n9780\t3\n9786\t3\n9789\t3\n9792\t3\n9796\t3\n9801\t3\n9804\t3\n9856\t3\n9857\t3\n9871\t3\n9878\t3\n9885\t3\n9886\t3\n9887\t3\n9912\t3\n9918\t3\n9919\t3\n9924\t3\n9927\t3\n9930\t3\n9934\t3\n9949\t3\n9957\t3\n9964\t3\n9968\t3\n9972\t3\n9975\t3\n9977\t3\n9984\t3\n9994\t3\n9998\t3\n10000\t3\n10003\t3\n10012\t3\n10019\t3\n10021\t3\n10024\t3\n10031\t3\n10037\t3\n10038\t3\n10042\t3\n10043\t3\n10049\t3\n10053\t3\n10057\t3\n10058\t3\n10070\t3\n10077\t3\n10078\t3\n10083\t3\n10087\t3\n10088\t3\n10091\t3\n10093\t3\n10115\t3\n10116\t3\n10117\t3\n10119\t3\n10128\t3\n10133\t3\n10147\t3\n10149\t3\n10157\t3\n10163\t3\n10171\t3\n10195\t3\n10197\t3\n10199\t3\n10203\t3\n10204\t3\n10208\t3\n10217\t3\n10227\t3\n10231\t3\n10237\t3\n10248\t3\n10263\t3\n10265\t3\n10269\t3\n10271\t3\n10278\t3\n10286\t3\n10289\t3\n10294\t3\n10296\t3\n10298\t3\n10307\t3\n10308\t3\n10320\t3\n10321\t3\n10322\t3\n10328\t3\n10332\t3\n10341\t3\n10343\t3\n10348\t3\n10350\t3\n10370\t3\n10372\t3\n10390\t3\n10391\t3\n10397\t3\n10405\t3\n10406\t3\n10410\t3\n10414\t3\n10421\t3\n10423\t3\n10426\t3\n10427\t3\n10430\t3\n10437\t3\n10453\t3\n10457\t3\n10462\t3\n10470\t3\n10477\t3\n10478\t3\n10485\t3\n10489\t3\n10494\t3\n10497\t3\n10503\t3\n10517\t3\n10521\t3\n10528\t3\n10533\t3\n10538\t3\n10542\t3\n10544\t3\n10546\t3\n10550\t3\n10555\t3\n10565\t3\n10572\t3\n10573\t3\n10575\t3\n10576\t3\n10577\t3\n10581\t3\n10586\t3\n10587\t3\n10588\t3\n10590\t3\n10600\t3\n10603\t3\n10604\t3\n10605\t3\n10628\t3\n10646\t3\n10657\t3\n10665\t3\n10670\t3\n10672\t3\n10695\t3\n10697\t3\n10701\t3\n10702\t3\n10715\t3\n10738\t3\n10766\t3\n10770\t3\n10771\t3\n10773\t3\n10779\t3\n10786\t3\n10787\t3\n10789\t3\n10791\t3\n10796\t3\n10798\t3\n10799\t3\n10806\t3\n10812\t3\n10817\t3\n10819\t3\n10823\t3\n10824\t3\n10831\t3\n10838\t3\n10839\t3\n10840\t3\n10848\t3\n10850\t3\n10854\t3\n10866\t3\n10868\t3\n10870\t3\n10878\t3\n10886\t3\n10887\t3\n10900\t3\n10908\t3\n10909\t3\n10911\t3\n10928\t3\n10931\t3\n10932\t3\n10944\t3\n10951\t3\n10954\t3\n10958\t3\n10962\t3\n10970\t3\n10971\t3\n10979\t3\n10980\t3\n10991\t3\n10994\t3\n11000\t3\n11004\t3\n11012\t3\n11025\t3\n11026\t3\n11034\t3\n11035\t3\n11038\t3\n11042\t3\n11056\t3\n11063\t3\n11073\t3\n11080\t3\n11115\t3\n11123\t3\n11131\t3\n11133\t3\n11137\t3\n11155\t3\n11158\t3\n11159\t3\n11160\t3\n11168\t3\n11169\t3\n11181\t3\n11183\t3\n11185\t3\n11187\t3\n11192\t3\n11198\t3\n11199\t3\n11200\t3\n11204\t3\n11221\t3\n11223\t3\n11227\t3\n11230\t3\n11234\t3\n11236\t3\n11238\t3\n11240\t3\n11245\t3\n11251\t3\n11253\t3\n11259\t3\n11262\t3\n11263\t3\n11269\t3\n11272\t3\n11279\t3\n11283\t3\n11285\t3\n11290\t3\n11296\t3\n11298\t3\n11317\t3\n11318\t3\n11335\t3\n11343\t3\n11347\t3\n11361\t3\n11366\t3\n11371\t3\n11374\t3\n11377\t3\n11382\t3\n11384\t3\n11394\t3\n11395\t3\n11399\t3\n11402\t3\n11404\t3\n11406\t3\n11407\t3\n11417\t3\n11423\t3\n11429\t3\n11446\t3\n11453\t3\n11454\t3\n11455\t3\n11458\t3\n11463\t3\n11473\t3\n11486\t3\n11487\t3\n11492\t3\n11501\t3\n11506\t3\n11507\t3\n11513\t3\n11527\t3\n11543\t3\n11557\t3\n11559\t3\n11569\t3\n11584\t3\n11585\t3\n11586\t3\n11588\t3\n11602\t3\n11610\t3\n11611\t3\n11627\t3\n11636\t3\n11646\t3\n11652\t3\n11653\t3\n11657\t3\n11658\t3\n11661\t3\n11668\t3\n11671\t3\n11674\t3\n11675\t3\n11676\t3\n11681\t3\n11684\t3\n11695\t3\n11704\t3\n11707\t3\n11719\t3\n11720\t3\n11732\t3\n11737\t3\n11738\t3\n11740\t3\n11744\t3\n11745\t3\n11748\t3\n11750\t3\n11757\t3\n11763\t3\n11772\t3\n11776\t3\n11785\t3\n11808\t3\n11817\t3\n11820\t3\n11825\t3\n11826\t3\n11827\t3\n11831\t3\n11833\t3\n11834\t3\n11840\t3\n11847\t3\n11848\t3\n11851\t3\n11873\t3\n11884\t3\n11886\t3\n11892\t3\n11893\t3\n11894\t3\n11896\t3\n11903\t3\n11907\t3\n11908\t3\n11917\t3\n11923\t3\n11924\t3\n11934\t3\n11953\t3\n11955\t3\n11958\t3\n11986\t3\n11994\t3\n11995\t3\n12007\t3\n12010\t3\n12013\t3\n12024\t3\n12025\t3\n12031\t3\n12039\t3\n12042\t3\n12043\t3\n12051\t3\n12052\t3\n12056\t3\n12061\t3\n12065\t3\n12070\t3\n12072\t3\n12073\t3\n12076\t3\n12090\t3\n12092\t3\n12096\t3\n12097\t3\n12106\t3\n12112\t3\n12118\t3\n12120\t3\n12121\t3\n12134\t3\n12142\t3\n12144\t3\n12147\t3\n12152\t3\n12155\t3\n12164\t3\n12172\t3\n12177\t3\n12178\t3\n12181\t3\n12193\t3\n12200\t3\n12203\t3\n12211\t3\n12220\t3\n12228\t3\n12239\t3\n12245\t3\n12249\t3\n12252\t3\n12255\t3\n12260\t3\n12261\t3\n12272\t3\n12285\t3\n12287\t3\n12297\t3\n12299\t3\n12308\t3\n12309\t3\n12338\t3\n12339\t3\n12343\t3\n12345\t3\n12348\t3\n12355\t3\n12360\t3\n12363\t3\n12365\t3\n12370\t3\n12374\t3\n12381\t3\n12383\t3\n12388\t3\n12389\t3\n12390\t3\n12398\t3\n12412\t3\n12417\t3\n12427\t3\n12439\t3\n12440\t3\n12443\t3\n12456\t3\n12461\t3\n12462\t3\n12464\t3\n12465\t3\n12467\t3\n12488\t3\n12490\t3\n12508\t3\n12509\t3\n12515\t3\n12528\t3\n12531\t3\n12540\t3\n12552\t3\n12553\t3\n12557\t3\n12561\t3\n12565\t3\n12567\t3\n12582\t3\n12592\t3\n12594\t3\n12599\t3\n12612\t3\n12622\t3\n12625\t3\n12630\t3\n12639\t3\n12645\t3\n12646\t3\n12651\t3\n12655\t3\n12656\t3\n12664\t3\n12665\t3\n12667\t3\n12671\t3\n12677\t3\n12679\t3\n12688\t3\n12695\t3\n12698\t3\n12704\t3\n12716\t3\n12728\t3\n12748\t3\n12763\t3\n12768\t3\n12770\t3\n12771\t3\n12772\t3\n12775\t3\n12780\t3\n12783\t3\n12785\t3\n12789\t3\n12798\t3\n12801\t3\n12803\t3\n12811\t3\n12816\t3\n12829\t3\n12837\t3\n12840\t3\n12841\t3\n12847\t3\n12849\t3\n12858\t3\n12864\t3\n12867\t3\n12877\t3\n12882\t3\n12883\t3\n12888\t3\n12897\t3\n12898\t3\n12904\t3\n12911\t3\n12923\t3\n12925\t3\n12931\t3\n12932\t3\n12934\t3\n12935\t3\n12953\t3\n12959\t3\n12965\t3\n12968\t3\n12969\t3\n12973\t3\n12974\t3\n12977\t3\n12981\t3\n12984\t3\n12990\t3\n12991\t3\n13024\t3\n13032\t3\n13050\t3\n13063\t3\n13070\t3\n13073\t3\n13089\t3\n13125\t3\n13128\t3\n13132\t3\n13147\t3\n13148\t3\n13150\t3\n13160\t3\n13184\t3\n13218\t3\n13240\t3\n13242\t3\n13253\t3\n13256\t3\n13257\t3\n13258\t3\n13263\t3\n13264\t3\n13273\t3\n13284\t3\n13295\t3\n13298\t3\n13300\t3\n13305\t3\n13306\t3\n13320\t3\n13324\t3\n13332\t3\n13337\t3\n13339\t3\n13340\t3\n13348\t3\n13349\t3\n13359\t3\n13362\t3\n13363\t3\n13373\t3\n13379\t3\n13382\t3\n13383\t3\n13385\t3\n13391\t3\n13396\t3\n13399\t3\n13401\t3\n13406\t3\n13407\t3\n13410\t3\n13413\t3\n13415\t3\n13421\t3\n13425\t3\n13430\t3\n13439\t3\n13441\t3\n13443\t3\n13447\t3\n13461\t3\n13480\t3\n13485\t3\n13487\t3\n13499\t3\n13500\t3\n13503\t3\n13512\t3\n13516\t3\n13522\t3\n13523\t3\n13525\t3\n13531\t3\n13538\t3\n13558\t3\n13561\t3\n13568\t3\n13573\t3\n13587\t3\n13589\t3\n13591\t3\n13601\t3\n13603\t3\n13607\t3\n13608\t3\n13615\t3\n13617\t3\n13618\t3\n13620\t3\n13623\t3\n13653\t3\n13657\t3\n13664\t3\n13668\t3\n13671\t3\n13674\t3\n13676\t3\n13677\t3\n13686\t3\n13687\t3\n13691\t3\n13694\t3\n13696\t3\n13714\t3\n13716\t3\n13717\t3\n13722\t3\n13731\t3\n13748\t3\n13762\t3\n13767\t3\n13769\t3\n13777\t3\n13807\t3\n13812\t3\n13817\t3\n13819\t3\n13832\t3\n13839\t3\n13840\t3\n13851\t3\n13860\t3\n13866\t3\n13883\t3\n13899\t3\n13910\t3\n13911\t3\n13919\t3\n13930\t3\n13935\t3\n13942\t3\n13946\t3\n13947\t3\n13949\t3\n13955\t3\n13975\t3\n13985\t3\n13995\t3\n13996\t3\n14004\t3\n14005\t3\n14006\t3\n14009\t3\n14012\t3\n14018\t3\n14023\t3\n14029\t3\n14032\t3\n14053\t3\n14056\t3\n14061\t3\n14063\t3\n14068\t3\n14072\t3\n14075\t3\n14079\t3\n14081\t3\n14086\t3\n14096\t3\n14097\t3\n14098\t3\n14101\t3\n14102\t3\n14104\t3\n14112\t3\n14124\t3\n14126\t3\n14129\t3\n14135\t3\n14136\t3\n14139\t3\n14148\t3\n14156\t3\n14160\t3\n14175\t3\n14186\t3\n14187\t3\n14189\t3\n14198\t3\n14201\t3\n14204\t3\n14205\t3\n14210\t3\n14215\t3\n14223\t3\n14233\t3\n14239\t3\n14253\t3\n14255\t3\n14260\t3\n14266\t3\n14270\t3\n14283\t3\n14296\t3\n14297\t3\n14301\t3\n14303\t3\n14307\t3\n14317\t3\n14325\t3\n14332\t3\n14334\t3\n14335\t3\n14339\t3\n14340\t3\n14345\t3\n14350\t3\n14353\t3\n14354\t3\n14359\t3\n14360\t3\n14365\t3\n14372\t3\n14377\t3\n14384\t3\n14389\t3\n14395\t3\n14397\t3\n14402\t3\n14406\t3\n14412\t3\n14415\t3\n14423\t3\n14434\t3\n14450\t3\n14453\t3\n14457\t3\n14458\t3\n14459\t3\n14464\t3\n14478\t3\n14483\t3\n14486\t3\n14488\t3\n14490\t3\n14492\t3\n14495\t3\n14497\t3\n14499\t3\n14501\t3\n14505\t3\n14521\t3\n14528\t3\n14530\t3\n14531\t3\n14534\t3\n14539\t3\n14540\t3\n14554\t3\n14555\t3\n14573\t3\n14577\t3\n14587\t3\n14588\t3\n14595\t3\n14597\t3\n14601\t3\n14616\t3\n14622\t3\n14631\t3\n14633\t3\n14637\t3\n14653\t3\n14657\t3\n14660\t3\n14669\t3\n14671\t3\n14674\t3\n14677\t3\n14681\t3\n14688\t3\n14693\t3\n14695\t3\n14705\t3\n14706\t3\n14707\t3\n14719\t3\n14723\t3\n14725\t3\n14730\t3\n14733\t3\n14736\t3\n14737\t3\n14746\t3\n14751\t3\n14761\t3\n14773\t3\n14774\t3\n14778\t3\n14789\t3\n14792\t3\n14796\t3\n14799\t3\n14802\t3\n14808\t3\n14828\t3\n14829\t3\n14831\t3\n14846\t3\n14848\t3\n14852\t3\n14874\t3\n14876\t3\n14888\t3\n14891\t3\n14906\t3\n14907\t3\n14918\t3\n14923\t3\n14924\t3\n14938\t3\n14942\t3\n14949\t3\n14960\t3\n14973\t3\n14979\t3\n14985\t3\n14995\t3\n15009\t3\n15013\t3\n15015\t3\n15021\t3\n15024\t3\n15028\t3\n15034\t3\n15036\t3\n15043\t3\n15048\t3\n15052\t3\n15054\t3\n15056\t3\n15058\t3\n15065\t3\n15076\t3\n15083\t3\n15085\t3\n15092\t3\n15094\t3\n15097\t3\n15098\t3\n15102\t3\n15103\t3\n15104\t3\n15111\t3\n15112\t3\n15116\t3\n15131\t3\n15136\t3\n15138\t3\n15140\t3\n15159\t3\n15165\t3\n15172\t3\n15177\t3\n15184\t3\n15189\t3\n15204\t3\n15216\t3\n15225\t3\n15231\t3\n15232\t3\n15237\t3\n15238\t3\n15240\t3\n15246\t3\n15248\t3\n15251\t3\n15258\t3\n15259\t3\n15266\t3\n15276\t3\n15282\t3\n15297\t3\n15310\t3\n15327\t3\n15331\t3\n15335\t3\n15338\t3\n15339\t3\n15346\t3\n15348\t3\n15354\t3\n15363\t3\n15364\t3\n15371\t3\n15378\t3\n15388\t3\n15389\t3\n15393\t3\n15415\t3\n15417\t3\n15418\t3\n15423\t3\n15437\t3\n15442\t3\n15443\t3\n15457\t3\n15464\t3\n15473\t3\n15486\t3\n15490\t3\n15495\t3\n15502\t3\n15505\t3\n15511\t3\n15518\t3\n15519\t3\n15551\t3\n15556\t3\n15558\t3\n15559\t3\n15565\t3\n15566\t3\n15579\t3\n15584\t3\n15587\t3\n15593\t3\n15619\t3\n15627\t3\n15631\t3\n15639\t3\n15644\t3\n15646\t3\n15648\t3\n15649\t3\n15653\t3\n15655\t3\n15667\t3\n15675\t3\n15688\t3\n15696\t3\n15698\t3\n15710\t3\n15714\t3\n15715\t3\n15721\t3\n15725\t3\n15746\t3\n15748\t3\n15755\t3\n15757\t3\n15759\t3\n15762\t3\n15764\t3\n15770\t3\n15771\t3\n15797\t3\n15804\t3\n15808\t3\n15810\t3\n15820\t3\n15838\t3\n15839\t3\n15852\t3\n15854\t3\n15859\t3\n15862\t3\n15867\t3\n15871\t3\n15883\t3\n15888\t3\n15892\t3\n15906\t3\n15907\t3\n15912\t3\n15913\t3\n15914\t3\n15922\t3\n15949\t3\n15953\t3\n15954\t3\n15961\t3\n15965\t3\n15968\t3\n15979\t3\n15983\t3\n15986\t3\n15988\t3\n15990\t3\n16014\t3\n16022\t3\n16026\t3\n16038\t3\n16041\t3\n16047\t3\n16050\t3\n16056\t3\n16058\t3\n16071\t3\n16073\t3\n16087\t3\n16096\t3\n16104\t3\n16122\t3\n16123\t3\n16130\t3\n16154\t3\n16155\t3\n16167\t3\n16170\t3\n16173\t3\n16181\t3\n16186\t3\n16191\t3\n16206\t3\n16208\t3\n16211\t3\n16212\t3\n16216\t3\n16218\t3\n16232\t3\n16241\t3\n16244\t3\n16249\t3\n16258\t3\n16259\t3\n16264\t3\n16278\t3\n16282\t3\n16294\t3\n16301\t3\n16302\t3\n16306\t3\n16307\t3\n16308\t3\n16309\t3\n16312\t3\n16329\t3\n16337\t3\n16339\t3\n16343\t3\n16345\t3\n16346\t3\n16360\t3\n16369\t3\n16372\t3\n16373\t3\n16378\t3\n16384\t3\n16386\t3\n16394\t3\n16398\t3\n16405\t3\n16409\t3\n16414\t3\n16422\t3\n16434\t3\n16436\t3\n16441\t3\n16446\t3\n16449\t3\n16453\t3\n16456\t3\n16465\t3\n16470\t3\n16491\t3\n16496\t3\n16505\t3\n16509\t3\n16518\t3\n16522\t3\n16536\t3\n16540\t3\n16542\t3\n16543\t3\n16566\t3\n16567\t3\n16576\t3\n16585\t3\n16589\t3\n16596\t3\n16597\t3\n16598\t3\n16603\t3\n16604\t3\n16605\t3\n16619\t3\n16631\t3\n16635\t3\n16647\t3\n16651\t3\n16652\t3\n16654\t3\n16659\t3\n16669\t3\n16683\t3\n16688\t3\n16690\t3\n16694\t3\n16697\t3\n16700\t3\n16703\t3\n16712\t3\n16717\t3\n16721\t3\n16723\t3\n16724\t3\n16729\t3\n16732\t3\n16735\t3\n16740\t3\n16743\t3\n16757\t3\n16758\t3\n16768\t3\n16780\t3\n16784\t3\n16789\t3\n16791\t3\n16797\t3\n16800\t3\n16803\t3\n16805\t3\n16807\t3\n16808\t3\n16809\t3\n16821\t3\n16835\t3\n16839\t3\n16850\t3\n16852\t3\n16853\t3\n16854\t3\n16868\t3\n16881\t3\n16889\t3\n16909\t3\n16918\t3\n16921\t3\n16930\t3\n16935\t3\n16951\t3\n16963\t3\n16969\t3\n16975\t3\n16983\t3\n16989\t3\n17019\t3\n17023\t3\n17032\t3\n17034\t3\n17068\t3\n17070\t3\n17076\t3\n17091\t3\n17092\t3\n17097\t3\n17098\t3\n17110\t3\n17115\t3\n17117\t3\n17129\t3\n17130\t3\n17131\t3\n17141\t3\n17151\t3\n17161\t3\n17169\t3\n17189\t3\n17191\t3\n17196\t3\n17197\t3\n17199\t3\n17208\t3\n17221\t3\n17227\t3\n17233\t3\n17235\t3\n17236\t3\n17238\t3\n17239\t3\n17242\t3\n17251\t3\n17267\t3\n17268\t3\n17274\t3\n17278\t3\n17283\t3\n17292\t3\n17305\t3\n17309\t3\n17311\t3\n17319\t3\n17327\t3\n17333\t3\n17345\t3\n17351\t3\n17359\t3\n17379\t3\n17385\t3\n17391\t3\n17395\t3\n17418\t3\n17432\t3\n17438\t3\n17453\t3\n17455\t3\n17456\t3\n17459\t3\n17463\t3\n17468\t3\n17469\t3\n17470\t3\n17474\t3\n17477\t3\n17479\t3\n17482\t3\n17488\t3\n17492\t3\n17493\t3\n17497\t3\n17509\t3\n17529\t3\n17536\t3\n17544\t3\n17554\t3\n17556\t3\n17560\t3\n17566\t3\n17575\t3\n17586\t3\n17615\t3\n17648\t3\n17649\t3\n17650\t3\n17651\t3\n17658\t3\n17662\t3\n17675\t3\n17684\t3\n17695\t3\n17702\t3\n17709\t3\n17713\t3\n17716\t3\n17726\t3\n17727\t3\n17733\t3\n17737\t3\n17739\t3\n17754\t3\n17768\t3\n17775\t3\n17779\t3\n17780\t3\n17789\t3\n17799\t3\n17801\t3\n17805\t3\n17807\t3\n17808\t3\n17828\t3\n17830\t3\n17837\t3\n17839\t3\n17845\t3\n17858\t3\n17865\t3\n17875\t3\n17877\t3\n17898\t3\n17915\t3\n17917\t3\n17922\t3\n17928\t3\n17929\t3\n17934\t3\n17939\t3\n17944\t3\n17945\t3\n17960\t3\n17973\t3\n17975\t3\n17977\t3\n17986\t3\n17999\t3\n18003\t3\n18007\t3\n18019\t3\n18027\t3\n18028\t3\n18034\t3\n18038\t3\n18040\t3\n18042\t3\n18047\t3\n18051\t3\n18065\t3\n18070\t3\n18077\t3\n18081\t3\n18083\t3\n18086\t3\n18093\t3\n18094\t3\n18097\t3\n18098\t3\n18110\t3\n18114\t3\n18125\t3\n18135\t3\n18139\t3\n18153\t3\n18154\t3\n18179\t3\n18187\t3\n18190\t3\n18194\t3\n18199\t3\n18204\t3\n18205\t3\n18207\t3\n18227\t3\n18250\t3\n18254\t3\n18257\t3\n18263\t3\n18265\t3\n18271\t3\n18282\t3\n18283\t3\n18285\t3\n18304\t3\n18313\t3\n18327\t3\n18343\t3\n18345\t3\n18353\t3\n18354\t3\n18358\t3\n18362\t3\n18365\t3\n18366\t3\n18374\t3\n18375\t3\n18377\t3\n18383\t3\n18385\t3\n18402\t3\n18404\t3\n18405\t3\n18407\t3\n18416\t3\n18420\t3\n18427\t3\n18428\t3\n18430\t3\n18432\t3\n18438\t3\n18443\t3\n18446\t3\n18450\t3\n18457\t3\n18460\t3\n18461\t3\n18476\t3\n18480\t3\n18491\t3\n18498\t3\n18501\t3\n18511\t3\n18519\t3\n18520\t3\n18524\t3\n18525\t3\n18532\t3\n18534\t3\n18538\t3\n18571\t3\n18573\t3\n18581\t3\n18583\t3\n18584\t3\n18588\t3\n18592\t3\n18599\t3\n18611\t3\n18612\t3\n18622\t3\n18623\t3\n18629\t3\n18630\t3\n18633\t3\n18634\t3\n18644\t3\n18649\t3\n18662\t3\n18667\t3\n18671\t3\n18672\t3\n18676\t3\n18678\t3\n18690\t3\n18696\t3\n18700\t3\n18701\t3\n18712\t3\n18714\t3\n18715\t3\n18719\t3\n18721\t3\n18758\t3\n18760\t3\n18773\t3\n18774\t3\n18778\t3\n18779\t3\n18786\t3\n18798\t3\n18801\t3\n18803\t3\n18810\t3\n18815\t3\n18820\t3\n18825\t3\n18829\t3\n18830\t3\n18842\t3\n18845\t3\n18854\t3\n18857\t3\n18860\t3\n18863\t3\n18866\t3\n18867\t3\n18880\t3\n18896\t3\n18899\t3\n18902\t3\n18912\t3\n18920\t3\n18921\t3\n18928\t3\n18930\t3\n18950\t3\n18958\t3\n18960\t3\n18961\t3\n18964\t3\n18965\t3\n18978\t3\n19021\t3\n19027\t3\n19030\t3\n19031\t3\n19033\t3\n19036\t3\n19039\t3\n19042\t3\n19048\t3\n19056\t3\n19064\t3\n19066\t3\n19069\t3\n19070\t3\n19104\t3\n19125\t3\n19127\t3\n19131\t3\n19135\t3\n19137\t3\n19141\t3\n19159\t3\n19162\t3\n19165\t3\n19171\t3\n19172\t3\n19175\t3\n19176\t3\n19179\t3\n19193\t3\n19195\t3\n19208\t3\n19215\t3\n19223\t3\n19239\t3\n19251\t3\n19268\t3\n19270\t3\n19295\t3\n19296\t3\n19301\t3\n19305\t3\n19306\t3\n19317\t3\n19318\t3\n19331\t3\n19332\t3\n19337\t3\n19354\t3\n19357\t3\n19359\t3\n19364\t3\n19368\t3\n19376\t3\n19380\t3\n19381\t3\n19385\t3\n19387\t3\n19388\t3\n19409\t3\n19414\t3\n19419\t3\n19424\t3\n19427\t3\n19430\t3\n19432\t3\n19434\t3\n19435\t3\n19460\t3\n19463\t3\n19467\t3\n19469\t3\n19476\t3\n19478\t3\n19481\t3\n19482\t3\n19486\t3\n19494\t3\n19501\t3\n19507\t3\n19511\t3\n19517\t3\n19519\t3\n19523\t3\n19524\t3\n19526\t3\n19527\t3\n19528\t3\n19529\t3\n19531\t3\n19532\t3\n19566\t3\n19576\t3\n19577\t3\n19582\t3\n19587\t3\n19592\t3\n19594\t3\n19595\t3\n19601\t3\n19602\t3\n19604\t3\n19607\t3\n19611\t3\n19613\t3\n19614\t3\n19619\t3\n19621\t3\n19623\t3\n19632\t3\n19636\t3\n19649\t3\n19650\t3\n19655\t3\n19662\t3\n19663\t3\n19664\t3\n19694\t3\n19700\t3\n19709\t3\n19713\t3\n19723\t3\n19724\t3\n19725\t3\n19727\t3\n19730\t3\n19731\t3\n19735\t3\n19737\t3\n19745\t3\n19746\t3\n19751\t3\n19753\t3\n19754\t3\n19762\t3\n19765\t3\n19785\t3\n19789\t3\n19790\t3\n19791\t3\n19792\t3\n19803\t3\n19805\t3\n19812\t3\n19813\t3\n19820\t3\n19835\t3\n19836\t3\n19842\t3\n19843\t3\n19848\t3\n19855\t3\n19860\t3\n19867\t3\n19871\t3\n19872\t3\n19874\t3\n19880\t3\n19886\t3\n19887\t3\n19897\t3\n19898\t3\n19912\t3\n19914\t3\n19926\t3\n19931\t3\n19954\t3\n19958\t3\n19965\t3\n19969\t3\n19983\t3\n19988\t3\n19989\t3\n20006\t3\n20016\t3\n20019\t3\n20020\t3\n20023\t3\n20028\t3\n20030\t3\n20032\t3\n20037\t3\n20044\t3\n20047\t3\n20057\t3\n20058\t3\n20069\t3\n20076\t3\n20082\t3\n20083\t3\n20089\t3\n20093\t3\n20099\t3\n20102\t3\n20103\t3\n20104\t3\n20106\t3\n20107\t3\n20113\t3\n20121\t3\n20127\t3\n20128\t3\n20137\t3\n20161\t3\n20162\t3\n20164\t3\n20166\t3\n20171\t3\n20178\t3\n20180\t3\n20191\t3\n20198\t3\n20219\t3\n20222\t3\n20238\t3\n20239\t3\n20243\t3\n20246\t3\n20259\t3\n20262\t3\n20297\t3\n20298\t3\n20311\t3\n20314\t3\n20315\t3\n20320\t3\n20322\t3\n20323\t3\n20329\t3\n20340\t3\n20343\t3\n20355\t3\n20359\t3\n20360\t3\n20369\t3\n20370\t3\n20382\t3\n20383\t3\n20384\t3\n20388\t3\n20395\t3\n20407\t3\n20421\t3\n20430\t3\n20431\t3\n20438\t3\n20439\t3\n20465\t3\n20471\t3\n20484\t3\n20485\t3\n20495\t3\n20500\t3\n20507\t3\n20508\t3\n20513\t3\n20525\t3\n20527\t3\n20528\t3\n20558\t3\n20563\t3\n20571\t3\n20573\t3\n20588\t3\n20596\t3\n20598\t3\n20602\t3\n20627\t3\n20653\t3\n20673\t3\n20675\t3\n20685\t3\n20709\t3\n20710\t3\n20715\t3\n20720\t3\n20724\t3\n20725\t3\n20727\t3\n20728\t3\n20731\t3\n20734\t3\n20736\t3\n20740\t3\n20742\t3\n20752\t3\n20753\t3\n20754\t3\n20762\t3\n20763\t3\n20771\t3\n20772\t3\n20780\t3\n20781\t3\n20782\t3\n20785\t3\n20795\t3\n20796\t3\n20807\t3\n20808\t3\n20816\t3\n20819\t3\n20820\t3\n20827\t3\n20847\t3\n20851\t3\n20856\t3\n20861\t3\n20869\t3\n20878\t3\n20901\t3\n20909\t3\n20910\t3\n20913\t3\n20926\t3\n20927\t3\n20930\t3\n20933\t3\n20936\t3\n20952\t3\n20953\t3\n20959\t3\n20960\t3\n20962\t3\n20977\t3\n20982\t3\n20983\t3\n20985\t3\n20987\t3\n20991\t3\n21000\t3\n21001\t3\n21003\t3\n21009\t3\n21020\t3\n21023\t3\n21040\t3\n21053\t3\n21055\t3\n21057\t3\n21064\t3\n21069\t3\n21085\t3\n21091\t3\n21092\t3\n21099\t3\n21101\t3\n21103\t3\n21113\t3\n21114\t3\n21118\t3\n21124\t3\n21127\t3\n21129\t3\n21141\t3\n21146\t3\n21155\t3\n21166\t3\n21173\t3\n21182\t3\n21195\t3\n21196\t3\n21199\t3\n21205\t3\n21209\t3\n21214\t3\n21215\t3\n21223\t3\n21229\t3\n21236\t3\n21239\t3\n21240\t3\n21242\t3\n21243\t3\n21247\t3\n21250\t3\n21254\t3\n21264\t3\n21265\t3\n21267\t3\n21268\t3\n21277\t3\n21284\t3\n21287\t3\n21293\t3\n21298\t3\n21306\t3\n21307\t3\n21309\t3\n21311\t3\n21317\t3\n21318\t3\n21344\t3\n21346\t3\n21364\t3\n21365\t3\n21367\t3\n21371\t3\n21372\t3\n21382\t3\n21383\t3\n21400\t3\n21402\t3\n21404\t3\n21409\t3\n21417\t3\n21425\t3\n21431\t3\n21432\t3\n21436\t3\n21441\t3\n21446\t3\n21450\t3\n21462\t3\n21463\t3\n21466\t3\n21469\t3\n21473\t3\n21478\t3\n21479\t3\n21491\t3\n21495\t3\n21496\t3\n21498\t3\n21502\t3\n21505\t3\n21508\t3\n21512\t3\n21532\t3\n21535\t3\n21556\t3\n21561\t3\n21565\t3\n21570\t3\n21576\t3\n21585\t3\n21586\t3\n21590\t3\n21595\t3\n21596\t3\n21598\t3\n21599\t3\n21602\t3\n21606\t3\n21609\t3\n21611\t3\n21616\t3\n21617\t3\n21622\t3\n21623\t3\n21625\t3\n21626\t3\n21633\t3\n21641\t3\n21655\t3\n21658\t3\n21661\t3\n21669\t3\n21687\t3\n21702\t3\n21706\t3\n21714\t3\n21718\t3\n21725\t3\n21729\t3\n21731\t3\n21734\t3\n21741\t3\n21754\t3\n21767\t3\n21779\t3\n21780\t3\n21788\t3\n21793\t3\n21797\t3\n21798\t3\n21806\t3\n21812\t3\n21813\t3\n21818\t3\n21824\t3\n21825\t3\n21827\t3\n21836\t3\n21845\t3\n21861\t3\n21865\t3\n21866\t3\n21879\t3\n21891\t3\n21915\t3\n21916\t3\n21928\t3\n21938\t3\n21942\t3\n21950\t3\n21955\t3\n21959\t3\n21965\t3\n21968\t3\n21973\t3\n21975\t3\n21983\t3\n21985\t3\n21991\t3\n21992\t3\n22001\t3\n22003\t3\n22013\t3\n22016\t3\n22019\t3\n22022\t3\n22036\t3\n22044\t3\n22046\t3\n22048\t3\n22049\t3\n22050\t3\n22051\t3\n22055\t3\n22057\t3\n22074\t3\n22078\t3\n22088\t3\n22089\t3\n22099\t3\n22105\t3\n22108\t3\n22109\t3\n22118\t3\n22120\t3\n22123\t3\n22124\t3\n22137\t3\n22153\t3\n22170\t3\n22177\t3\n22186\t3\n22196\t3\n22204\t3\n22206\t3\n22207\t3\n22208\t3\n22216\t3\n22219\t3\n22228\t3\n22233\t3\n22235\t3\n22242\t3\n22244\t3\n22249\t3\n22257\t3\n22259\t3\n22260\t3\n22264\t3\n22267\t3\n22269\t3\n22270\t3\n22273\t3\n22279\t3\n22282\t3\n22284\t3\n22287\t3\n22291\t3\n22296\t3\n22301\t3\n22311\t3\n22314\t3\n22316\t3\n22318\t3\n22320\t3\n22323\t3\n22331\t3\n22332\t3\n22337\t3\n22338\t3\n22339\t3\n22346\t3\n22350\t3\n22357\t3\n22363\t3\n22365\t3\n22368\t3\n22384\t3\n22393\t3\n22401\t3\n22402\t3\n22437\t3\n22438\t3\n22447\t3\n22454\t3\n22461\t3\n22485\t3\n22502\t3\n22510\t3\n22521\t3\n22523\t3\n22533\t3\n22538\t3\n22545\t3\n22546\t3\n22549\t3\n22555\t3\n22556\t3\n22557\t3\n22564\t3\n22565\t3\n22573\t3\n22574\t3\n22575\t3\n22576\t3\n22593\t3\n22596\t3\n22599\t3\n22601\t3\n22602\t3\n22604\t3\n22606\t3\n22612\t3\n22629\t3\n22643\t3\n22647\t3\n22650\t3\n22654\t3\n22661\t3\n22662\t3\n22668\t3\n22675\t3\n22682\t3\n22686\t3\n22696\t3\n22701\t3\n22703\t3\n22708\t3\n22723\t3\n22725\t3\n22734\t3\n22736\t3\n22739\t3\n22742\t3\n22758\t3\n22761\t3\n22767\t3\n22774\t3\n22775\t3\n22792\t3\n22805\t3\n22806\t3\n22807\t3\n22810\t3\n22814\t3\n22815\t3\n22817\t3\n22818\t3\n22836\t3\n22838\t3\n22840\t3\n22864\t3\n22869\t3\n22870\t3\n22881\t3\n22883\t3\n22886\t3\n22897\t3\n22900\t3\n22905\t3\n22913\t3\n22914\t3\n22928\t3\n22929\t3\n22931\t3\n22933\t3\n22938\t3\n22944\t3\n22946\t3\n22950\t3\n22953\t3\n22968\t3\n22980\t3\n22987\t3\n22988\t3\n22990\t3\n22993\t3\n22995\t3\n22998\t3\n23000\t3\n23004\t3\n23020\t3\n23022\t3\n23027\t3\n23033\t3\n23034\t3\n23042\t3\n23045\t3\n23051\t3\n23053\t3\n23057\t3\n23077\t3\n23082\t3\n23086\t3\n23087\t3\n23098\t3\n23099\t3\n23100\t3\n23102\t3\n23107\t3\n23121\t3\n23123\t3\n23125\t3\n23129\t3\n23138\t3\n23139\t3\n23150\t3\n23162\t3\n23165\t3\n23173\t3\n23177\t3\n23185\t3\n23189\t3\n23194\t3\n23200\t3\n23207\t3\n23210\t3\n23217\t3\n23221\t3\n23223\t3\n23228\t3\n23230\t3\n23235\t3\n23242\t3\n23254\t3\n23259\t3\n23261\t3\n23269\t3\n23271\t3\n23278\t3\n23281\t3\n23292\t3\n23297\t3\n23311\t3\n23313\t3\n23322\t3\n23323\t3\n23345\t3\n23352\t3\n23353\t3\n23360\t3\n23364\t3\n23368\t3\n23371\t3\n23372\t3\n23374\t3\n23381\t3\n23382\t3\n23385\t3\n23393\t3\n23406\t3\n23411\t3\n23414\t3\n23415\t3\n23425\t3\n23427\t3\n23434\t3\n23439\t3\n23446\t3\n23454\t3\n23458\t3\n23461\t3\n23463\t3\n23465\t3\n23477\t3\n23484\t3\n23491\t3\n23505\t3\n23513\t3\n23520\t3\n23527\t3\n23529\t3\n23530\t3\n23533\t3\n23551\t3\n23564\t3\n23565\t3\n23573\t3\n23591\t3\n23592\t3\n23594\t3\n23598\t3\n23601\t3\n23625\t3\n23626\t3\n23627\t3\n23635\t3\n23637\t3\n23638\t3\n23645\t3\n23653\t3\n23659\t3\n23674\t3\n23679\t3\n23682\t3\n23702\t3\n23720\t3\n23728\t3\n23737\t3\n23738\t3\n23740\t3\n23758\t3\n23765\t3\n23766\t3\n23770\t3\n23771\t3\n23774\t3\n23780\t3\n23782\t3\n23789\t3\n23793\t3\n23798\t3\n23802\t3\n23804\t3\n23808\t3\n23809\t3\n23812\t3\n23819\t3\n23834\t3\n23835\t3\n23839\t3\n23850\t3\n23861\t3\n23865\t3\n23871\t3\n23878\t3\n23880\t3\n23888\t3\n23900\t3\n23903\t3\n23907\t3\n23909\t3\n23915\t3\n23922\t3\n23923\t3\n23926\t3\n23931\t3\n23932\t3\n23933\t3\n23936\t3\n23954\t3\n23958\t3\n23962\t3\n23965\t3\n23972\t3\n23984\t3\n23986\t3\n23994\t3\n24000\t3\n24004\t3\n24013\t3\n24018\t3\n24021\t3\n24025\t3\n24027\t3\n24031\t3\n24051\t3\n24067\t3\n24074\t3\n24076\t3\n24080\t3\n24083\t3\n24092\t3\n24102\t3\n24123\t3\n24144\t3\n24146\t3\n24148\t3\n24159\t3\n24162\t3\n24174\t3\n24182\t3\n24187\t3\n24194\t3\n24196\t3\n24200\t3\n24201\t3\n24202\t3\n24207\t3\n24216\t3\n24223\t3\n24226\t3\n24228\t3\n24242\t3\n24247\t3\n24250\t3\n24257\t3\n24261\t3\n24262\t3\n24276\t3\n24300\t3\n24302\t3\n24307\t3\n24309\t3\n24315\t3\n24317\t3\n24321\t3\n24328\t3\n24329\t3\n24331\t3\n24332\t3\n24340\t3\n24347\t3\n24355\t3\n24358\t3\n24366\t3\n24370\t3\n24376\t3\n24379\t3\n24382\t3\n24389\t3\n24394\t3\n24397\t3\n24403\t3\n24416\t3\n24417\t3\n24427\t3\n24430\t3\n24437\t3\n24444\t3\n24447\t3\n24449\t3\n24457\t3\n24468\t3\n24481\t3\n24490\t3\n24491\t3\n24492\t3\n24493\t3\n24494\t3\n24504\t3\n24505\t3\n24510\t3\n24513\t3\n24523\t3\n24525\t3\n24529\t3\n24530\t3\n24539\t3\n24541\t3\n24549\t3\n24551\t3\n24556\t3\n24561\t3\n24564\t3\n24566\t3\n24574\t3\n24575\t3\n24582\t3\n24591\t3\n24592\t3\n24599\t3\n24601\t3\n24602\t3\n24609\t3\n24630\t3\n24631\t3\n24641\t3\n24651\t3\n24652\t3\n24654\t3\n24661\t3\n24673\t3\n24675\t3\n24676\t3\n24682\t3\n24687\t3\n24694\t3\n24695\t3\n24720\t3\n24733\t3\n24740\t3\n24752\t3\n24753\t3\n24756\t3\n24758\t3\n24761\t3\n24762\t3\n24765\t3\n24768\t3\n24773\t3\n24778\t3\n24785\t3\n24791\t3\n24797\t3\n24804\t3\n24819\t3\n24824\t3\n24829\t3\n24834\t3\n24835\t3\n24842\t3\n24844\t3\n24851\t3\n24852\t3\n24855\t3\n24882\t3\n24892\t3\n24899\t3\n24901\t3\n24902\t3\n24908\t3\n24922\t3\n24925\t3\n24927\t3\n24934\t3\n24935\t3\n24938\t3\n24940\t3\n24941\t3\n24942\t3\n24943\t3\n24952\t3\n24984\t3\n24993\t3\n24999\t3\n25003\t3\n25012\t3\n25021\t3\n25024\t3\n25038\t3\n25042\t3\n25051\t3\n25053\t3\n25056\t3\n25062\t3\n25063\t3\n25069\t3\n25075\t3\n25076\t3\n25091\t3\n25096\t3\n25104\t3\n25105\t3\n25115\t3\n25117\t3\n25125\t3\n25128\t3\n25129\t3\n25133\t3\n25137\t3\n25138\t3\n25147\t3\n25159\t3\n25160\t3\n25164\t3\n25177\t3\n25178\t3\n25181\t3\n25184\t3\n25186\t3\n25189\t3\n25190\t3\n25206\t3\n25220\t3\n25254\t3\n25255\t3\n25265\t3\n25270\t3\n25286\t3\n25300\t3\n25303\t3\n25323\t3\n25330\t3\n25335\t3\n25339\t3\n25340\t3\n25345\t3\n25351\t3\n25355\t3\n25366\t3\n25370\t3\n25379\t3\n25385\t3\n25386\t3\n25389\t3\n25392\t3\n25393\t3\n25404\t3\n25411\t3\n25414\t3\n25415\t3\n25421\t3\n25435\t3\n25442\t3\n25445\t3\n25448\t3\n25453\t3\n25458\t3\n25462\t3\n25484\t3\n25488\t3\n25494\t3\n25502\t3\n25506\t3\n25510\t3\n25514\t3\n25538\t3\n25542\t3\n25543\t3\n25549\t3\n25555\t3\n25568\t3\n25571\t3\n25575\t3\n25579\t3\n25584\t3\n25590\t3\n25594\t3\n25599\t3\n25604\t3\n25610\t3\n25612\t3\n25613\t3\n25618\t3\n25622\t3\n25636\t3\n25642\t3\n25648\t3\n25653\t3\n25655\t3\n25662\t3\n25669\t3\n25670\t3\n25674\t3\n25678\t3\n25687\t3\n25705\t3\n25714\t3\n25718\t3\n25732\t3\n25741\t3\n25756\t3\n25763\t3\n25766\t3\n25775\t3\n25787\t3\n25791\t3\n25801\t3\n25803\t3\n25807\t3\n25808\t3\n25811\t3\n25836\t3\n25850\t3\n25873\t3\n25876\t3\n25885\t3\n25886\t3\n25899\t3\n25907\t3\n25909\t3\n25914\t3\n25916\t3\n25918\t3\n25949\t3\n25962\t3\n25969\t3\n25974\t3\n25978\t3\n25991\t3\n25996\t3\n25999\t3\n26003\t3\n26008\t3\n26010\t3\n26031\t3\n26034\t3\n26037\t3\n26040\t3\n26041\t3\n26043\t3\n26050\t3\n26057\t3\n26060\t3\n26062\t3\n26063\t3\n26076\t3\n26086\t3\n26087\t3\n26096\t3\n26108\t3\n26116\t3\n26117\t3\n26118\t3\n26121\t3\n26122\t3\n26137\t3\n26146\t3\n26149\t3\n26153\t3\n26164\t3\n26170\t3\n26172\t3\n26177\t3\n26188\t3\n26189\t3\n26198\t3\n26207\t3\n26208\t3\n26214\t3\n26216\t3\n26224\t3\n26234\t3\n26236\t3\n26238\t3\n26240\t3\n26245\t3\n26246\t3\n26252\t3\n26259\t3\n26261\t3\n26263\t3\n26266\t3\n26273\t3\n26275\t3\n26277\t3\n26278\t3\n26280\t3\n26302\t3\n26306\t3\n26308\t3\n26312\t3\n26351\t3\n26353\t3\n26361\t3\n26373\t3\n26390\t3\n26393\t3\n26394\t3\n26397\t3\n26413\t3\n26414\t3\n26416\t3\n26417\t3\n26421\t3\n26431\t3\n26440\t3\n26450\t3\n26451\t3\n26455\t3\n26470\t3\n26472\t3\n26489\t3\n26492\t3\n26504\t3\n26508\t3\n26530\t3\n26531\t3\n26532\t3\n26535\t3\n26556\t3\n26559\t3\n26566\t3\n26570\t3\n26577\t3\n26585\t3\n26590\t3\n26591\t3\n26598\t3\n26600\t3\n26604\t3\n26605\t3\n26617\t3\n26618\t3\n26619\t3\n26628\t3\n26649\t3\n26656\t3\n26667\t3\n26668\t3\n26680\t3\n26682\t3\n26684\t3\n26689\t3\n26690\t3\n26695\t3\n26704\t3\n26708\t3\n26715\t3\n26720\t3\n26725\t3\n26741\t3\n26745\t3\n26746\t3\n26747\t3\n26753\t3\n26756\t3\n26766\t3\n26767\t3\n26768\t3\n26771\t3\n26779\t3\n26781\t3\n26783\t3\n26789\t3\n26791\t3\n26793\t3\n26794\t3\n26811\t3\n26817\t3\n26828\t3\n26839\t3\n26848\t3\n26849\t3\n26853\t3\n26874\t3\n26890\t3\n26905\t3\n26908\t3\n26916\t3\n26920\t3\n26928\t3\n26930\t3\n26941\t3\n26945\t3\n26960\t3\n26962\t3\n26973\t3\n26984\t3\n26994\t3\n26996\t3\n27001\t3\n27008\t3\n27010\t3\n27013\t3\n27033\t3\n27037\t3\n27038\t3\n27048\t3\n27049\t3\n27058\t3\n27073\t3\n27074\t3\n27082\t3\n27089\t3\n27091\t3\n27092\t3\n27095\t3\n27098\t3\n27099\t3\n27119\t3\n27126\t3\n27131\t3\n27132\t3\n27135\t3\n27136\t3\n27139\t3\n27145\t3\n27156\t3\n27157\t3\n27160\t3\n27172\t3\n27173\t3\n27174\t3\n27187\t3\n27190\t3\n27193\t3\n27198\t3\n27206\t3\n27208\t3\n27212\t3\n27214\t3\n27224\t3\n27225\t3\n27227\t3\n27234\t3\n27239\t3\n27244\t3\n27246\t3\n27253\t3\n27255\t3\n27261\t3\n27264\t3\n27271\t3\n27292\t3\n27294\t3\n27296\t3\n27313\t3\n27316\t3\n27318\t3\n27321\t3\n27334\t3\n27337\t3\n27343\t3\n27345\t3\n27346\t3\n27352\t3\n27357\t3\n27383\t3\n27390\t3\n27398\t3\n27421\t3\n27422\t3\n27424\t3\n27428\t3\n27432\t3\n27438\t3\n27441\t3\n27444\t3\n27451\t3\n27452\t3\n27455\t3\n27465\t3\n27470\t3\n27479\t3\n27486\t3\n27494\t3\n27498\t3\n27505\t3\n27512\t3\n27518\t3\n27519\t3\n27520\t3\n27533\t3\n27547\t3\n27557\t3\n27584\t3\n27593\t3\n27595\t3\n27598\t3\n27604\t3\n27606\t3\n27613\t3\n27614\t3\n27625\t3\n27642\t3\n27649\t3\n27653\t3\n27655\t3\n27657\t3\n27664\t3\n27669\t3\n27671\t3\n27672\t3\n27708\t3\n27711\t3\n27717\t3\n27721\t3\n27725\t3\n27727\t3\n27729\t3\n27730\t3\n27733\t3\n27743\t3\n27756\t3\n27764\t3\n27765\t3\n27776\t3\n27782\t3\n27797\t3\n27806\t3\n27809\t3\n27818\t3\n27820\t3\n27822\t3\n27827\t3\n27846\t3\n27848\t3\n27854\t3\n27856\t3\n27864\t3\n27870\t3\n27875\t3\n27879\t3\n27880\t3\n27884\t3\n27902\t3\n27905\t3\n27914\t3\n27929\t3\n27931\t3\n27935\t3\n27938\t3\n27939\t3\n27942\t3\n27943\t3\n27945\t3\n27946\t3\n27948\t3\n27951\t3\n27960\t3\n27961\t3\n27989\t3\n27990\t3\n27991\t3\n27998\t3\n27999\t3\n28002\t3\n28003\t3\n28006\t3\n28007\t3\n28009\t3\n28011\t3\n28014\t3\n28023\t3\n28028\t3\n28061\t3\n28062\t3\n28066\t3\n28067\t3\n28070\t3\n28086\t3\n28088\t3\n28089\t3\n28095\t3\n28101\t3\n28111\t3\n28115\t3\n28120\t3\n28129\t3\n28131\t3\n28132\t3\n28139\t3\n28142\t3\n28145\t3\n28146\t3\n28155\t3\n28170\t3\n28173\t3\n28184\t3\n28188\t3\n28189\t3\n28191\t3\n28197\t3\n28201\t3\n28204\t3\n28206\t3\n28219\t3\n28221\t3\n28236\t3\n28238\t3\n28240\t3\n28242\t3\n28246\t3\n28250\t3\n28252\t3\n28253\t3\n28256\t3\n28259\t3\n28262\t3\n28266\t3\n28281\t3\n28299\t3\n28304\t3\n28307\t3\n28308\t3\n28315\t3\n28319\t3\n28321\t3\n28324\t3\n28325\t3\n28327\t3\n28334\t3\n28339\t3\n28340\t3\n28348\t3\n28352\t3\n28355\t3\n28357\t3\n28363\t3\n28372\t3\n28381\t3\n28405\t3\n28419\t3\n28425\t3\n28427\t3\n28431\t3\n28441\t3\n28443\t3\n28447\t3\n28454\t3\n28460\t3\n28471\t3\n28474\t3\n28482\t3\n28492\t3\n28494\t3\n28502\t3\n28515\t3\n28520\t3\n28530\t3\n28531\t3\n28538\t3\n28552\t3\n28562\t3\n28564\t3\n28570\t3\n28578\t3\n28579\t3\n28580\t3\n28583\t3\n28594\t3\n28600\t3\n28602\t3\n28608\t3\n28622\t3\n28631\t3\n28632\t3\n28641\t3\n28651\t3\n28652\t3\n28657\t3\n28660\t3\n28666\t3\n28685\t3\n28690\t3\n28702\t3\n28706\t3\n28707\t3\n28725\t3\n28736\t3\n28737\t3\n28750\t3\n28751\t3\n28766\t3\n28767\t3\n28769\t3\n28779\t3\n28784\t3\n28789\t3\n28791\t3\n28794\t3\n28798\t3\n28807\t3\n28808\t3\n28813\t3\n28819\t3\n28821\t3\n28826\t3\n28837\t3\n28844\t3\n28849\t3\n28852\t3\n28861\t3\n28863\t3\n28867\t3\n28872\t3\n28874\t3\n28879\t3\n28901\t3\n28908\t3\n28918\t3\n28937\t3\n28945\t3\n28946\t3\n28951\t3\n28968\t3\n28969\t3\n28970\t3\n28972\t3\n28974\t3\n28983\t3\n28985\t3\n28990\t3\n28991\t3\n28995\t3\n29001\t3\n29003\t3\n29009\t3\n29012\t3\n29015\t3\n29025\t3\n29028\t3\n29032\t3\n29033\t3\n29034\t3\n29035\t3\n29040\t3\n29041\t3\n29055\t3\n29059\t3\n29064\t3\n29065\t3\n29085\t3\n29089\t3\n29091\t3\n29092\t3\n29094\t3\n29098\t3\n29099\t3\n29102\t3\n29103\t3\n29104\t3\n29114\t3\n29120\t3\n29138\t3\n29147\t3\n29148\t3\n29153\t3\n29155\t3\n29167\t3\n29170\t3\n29182\t3\n29189\t3\n29191\t3\n29192\t3\n29196\t3\n29197\t3\n29205\t3\n29207\t3\n29209\t3\n29211\t3\n29222\t3\n29223\t3\n29227\t3\n29235\t3\n29236\t3\n29239\t3\n29245\t3\n29246\t3\n29255\t3\n29261\t3\n29264\t3\n29266\t3\n29267\t3\n29270\t3\n29271\t3\n29274\t3\n29289\t3\n29291\t3\n29300\t3\n29307\t3\n29313\t3\n29314\t3\n29321\t3\n29328\t3\n29330\t3\n29343\t3\n29344\t3\n29346\t3\n29350\t3\n29351\t3\n29355\t3\n29356\t3\n29357\t3\n29361\t3\n29368\t3\n29369\t3\n29389\t3\n29390\t3\n29393\t3\n29394\t3\n29403\t3\n29411\t3\n29413\t3\n29415\t3\n29423\t3\n29432\t3\n29445\t3\n29452\t3\n29462\t3\n29463\t3\n29464\t3\n29473\t3\n29475\t3\n29476\t3\n29479\t3\n29487\t3\n29495\t3\n29498\t3\n29505\t3\n29509\t3\n29514\t3\n29515\t3\n29516\t3\n29526\t3\n29528\t3\n29534\t3\n29544\t3\n29593\t3\n29594\t3\n29595\t3\n29597\t3\n29598\t3\n29605\t3\n29607\t3\n29615\t3\n29617\t3\n29619\t3\n29622\t3\n29630\t3\n29638\t3\n29639\t3\n29644\t3\n29653\t3\n29654\t3\n29656\t3\n29660\t3\n29661\t3\n29663\t3\n29678\t3\n29679\t3\n29694\t3\n29698\t3\n29702\t3\n29705\t3\n29713\t3\n29716\t3\n29718\t3\n29720\t3\n29734\t3\n29757\t3\n29771\t3\n29781\t3\n29787\t3\n29793\t3\n29796\t3\n29798\t3\n29804\t3\n29806\t3\n29812\t3\n29820\t3\n29822\t3\n29828\t3\n29837\t3\n29839\t3\n29848\t3\n29859\t3\n29862\t3\n29868\t3\n29876\t3\n29888\t3\n29889\t3\n29890\t3\n29925\t3\n29928\t3\n29930\t3\n29932\t3\n29934\t3\n29954\t3\n29978\t3\n29986\t3\n30000\t3\n30003\t3\n30014\t3\n30035\t3\n30042\t3\n30051\t3\n30058\t3\n30065\t3\n30075\t3\n30084\t3\n30098\t3\n30100\t3\n30101\t3\n30108\t3\n30109\t3\n30114\t3\n30116\t3\n30120\t3\n30144\t3\n30145\t3\n30149\t3\n30150\t3\n30152\t3\n30156\t3\n30169\t3\n30171\t3\n30173\t3\n30174\t3\n30178\t3\n30179\t3\n30216\t3\n30221\t3\n30223\t3\n30232\t3\n30238\t3\n30241\t3\n30242\t3\n30250\t3\n30253\t3\n30254\t3\n30255\t3\n30256\t3\n30257\t3\n30272\t3\n30275\t3\n30279\t3\n30283\t3\n30288\t3\n30291\t3\n30292\t3\n30296\t3\n30301\t3\n30305\t3\n30312\t3\n30313\t3\n30314\t3\n30321\t3\n30323\t3\n30331\t3\n30335\t3\n30337\t3\n30338\t3\n30343\t3\n30348\t3\n30350\t3\n30361\t3\n30362\t3\n30364\t3\n30366\t3\n30370\t3\n30372\t3\n30373\t3\n30375\t3\n30379\t3\n30380\t3\n30389\t3\n30394\t3\n30397\t3\n30412\t3\n30421\t3\n30422\t3\n30433\t3\n30435\t3\n30444\t3\n30464\t3\n30466\t3\n30467\t3\n30468\t3\n30472\t3\n30481\t3\n30495\t3\n30502\t3\n30510\t3\n30514\t3\n30516\t3\n30518\t3\n30521\t3\n30523\t3\n30530\t3\n30537\t3\n30538\t3\n30539\t3\n30540\t3\n30543\t3\n30549\t3\n30554\t3\n30565\t3\n30575\t3\n30581\t3\n30585\t3\n30586\t3\n30588\t3\n30599\t3\n30603\t3\n30613\t3\n30618\t3\n30619\t3\n30621\t3\n30622\t3\n30623\t3\n30624\t3\n30625\t3\n30630\t3\n30631\t3\n30637\t3\n30646\t3\n30659\t3\n30672\t3\n30682\t3\n30694\t3\n30697\t3\n30700\t3\n30704\t3\n30706\t3\n30713\t3\n30723\t3\n30738\t3\n30743\t3\n30744\t3\n30746\t3\n30750\t3\n30752\t3\n30759\t3\n30762\t3\n30771\t3\n30780\t3\n30788\t3\n30793\t3\n30802\t3\n30803\t3\n30804\t3\n30814\t3\n30815\t3\n30817\t3\n30819\t3\n30825\t3\n30827\t3\n30830\t3\n30843\t3\n30847\t3\n30848\t3\n30856\t3\n30857\t3\n30871\t3\n30874\t3\n30881\t3\n30887\t3\n30889\t3\n30893\t3\n30905\t3\n30909\t3\n30911\t3\n30912\t3\n30915\t3\n30935\t3\n30938\t3\n30939\t3\n30944\t3\n30947\t3\n30949\t3\n30975\t3\n31003\t3\n31009\t3\n31018\t3\n31022\t3\n31026\t3\n31032\t3\n31037\t3\n31044\t3\n31046\t3\n31047\t3\n31052\t3\n31064\t3\n31067\t3\n31070\t3\n31072\t3\n31079\t3\n31080\t3\n31090\t3\n31094\t3\n31097\t3\n31103\t3\n31107\t3\n31108\t3\n31110\t3\n31112\t3\n31122\t3\n31127\t3\n31136\t3\n31138\t3\n31155\t3\n31159\t3\n31161\t3\n31162\t3\n31164\t3\n31170\t3\n31174\t3\n31177\t3\n31182\t3\n31189\t3\n31206\t3\n31227\t3\n31228\t3\n31242\t3\n31244\t3\n31265\t3\n31289\t3\n31291\t3\n31303\t3\n31314\t3\n31325\t3\n31327\t3\n31336\t3\n31337\t3\n31356\t3\n31365\t3\n31367\t3\n31371\t3\n31379\t3\n31384\t3\n31392\t3\n31394\t3\n31397\t3\n31403\t3\n31413\t3\n31416\t3\n31418\t3\n31435\t3\n31448\t3\n31451\t3\n31453\t3\n31455\t3\n31473\t3\n31475\t3\n31476\t3\n31481\t3\n31483\t3\n31491\t3\n31496\t3\n31501\t3\n31507\t3\n31516\t3\n31524\t3\n31525\t3\n31531\t3\n31535\t3\n31538\t3\n31549\t3\n31550\t3\n31559\t3\n31568\t3\n31571\t3\n31585\t3\n31590\t3\n31597\t3\n31601\t3\n31602\t3\n31617\t3\n31623\t3\n31628\t3\n31642\t3\n31652\t3\n31653\t3\n31656\t3\n31664\t3\n31667\t3\n31670\t3\n31672\t3\n31681\t3\n31688\t3\n31690\t3\n31695\t3\n31702\t3\n31708\t3\n31717\t3\n31740\t3\n31742\t3\n31744\t3\n31745\t3\n31746\t3\n31762\t3\n31769\t3\n31772\t3\n31792\t3\n31805\t3\n31815\t3\n31817\t3\n31818\t3\n31821\t3\n31826\t3\n31827\t3\n31835\t3\n31842\t3\n31845\t3\n31854\t3\n31866\t3\n31876\t3\n31880\t3\n31892\t3\n31908\t3\n31914\t3\n31916\t3\n31922\t3\n31927\t3\n31929\t3\n31934\t3\n31935\t3\n31942\t3\n31945\t3\n31951\t3\n31953\t3\n31973\t3\n31986\t3\n31987\t3\n32023\t3\n32024\t3\n32035\t3\n32047\t3\n32052\t3\n32056\t3\n32066\t3\n32070\t3\n32071\t3\n32083\t3\n32084\t3\n32096\t3\n32097\t3\n32099\t3\n32110\t3\n32123\t3\n32129\t3\n32134\t3\n32147\t3\n32152\t3\n32173\t3\n32174\t3\n32178\t3\n32183\t3\n32196\t3\n32202\t3\n32204\t3\n32216\t3\n32217\t3\n32222\t3\n32225\t3\n32242\t3\n32244\t3\n32245\t3\n32256\t3\n32265\t3\n32266\t3\n32274\t3\n32276\t3\n32278\t3\n32285\t3\n32291\t3\n32299\t3\n32301\t3\n32303\t3\n32306\t3\n32310\t3\n32317\t3\n32318\t3\n32319\t3\n32326\t3\n32336\t3\n32338\t3\n32341\t3\n32348\t3\n32358\t3\n32359\t3\n32366\t3\n32369\t3\n32375\t3\n32377\t3\n32398\t3\n32406\t3\n32414\t3\n32416\t3\n32424\t3\n32426\t3\n32427\t3\n32439\t3\n32445\t3\n32446\t3\n32449\t3\n32455\t3\n32459\t3\n32489\t3\n32509\t3\n32518\t3\n32519\t3\n32522\t3\n32529\t3\n32536\t3\n32544\t3\n32546\t3\n32550\t3\n32552\t3\n32561\t3\n32576\t3\n32578\t3\n32583\t3\n32584\t3\n32587\t3\n32601\t3\n32606\t3\n32608\t3\n32609\t3\n32617\t3\n32626\t3\n32657\t3\n32661\t3\n32665\t3\n32668\t3\n32674\t3\n32676\t3\n32678\t3\n32685\t3\n32688\t3\n32699\t3\n32702\t3\n32716\t3\n32718\t3\n32720\t3\n32739\t3\n32745\t3\n32749\t3\n32750\t3\n32753\t3\n32756\t3\n32758\t3\n32763\t3\n32767\t3\n32777\t3\n32779\t3\n32780\t3\n32781\t3\n32782\t3\n32787\t3\n32792\t3\n32802\t3\n32812\t3\n32815\t3\n32820\t3\n32821\t3\n32823\t3\n32825\t3\n32827\t3\n32842\t3\n32851\t3\n32855\t3\n32859\t3\n32860\t3\n32892\t3\n32893\t3\n32900\t3\n32902\t3\n32924\t3\n32931\t3\n32934\t3\n32942\t3\n32945\t3\n32998\t3\n33009\t3\n33017\t3\n33024\t3\n33031\t3\n33032\t3\n33036\t3\n33042\t3\n33050\t3\n33062\t3\n33064\t3\n33072\t3\n33073\t3\n33079\t3\n33093\t3\n33095\t3\n33099\t3\n33106\t3\n33113\t3\n33116\t3\n33118\t3\n33121\t3\n33124\t3\n33129\t3\n33130\t3\n33134\t3\n33135\t3\n33136\t3\n33137\t3\n33140\t3\n33143\t3\n33147\t3\n33149\t3\n33155\t3\n33159\t3\n33162\t3\n33186\t3\n33187\t3\n33198\t3\n33202\t3\n33203\t3\n33221\t3\n33233\t3\n33236\t3\n33247\t3\n33259\t3\n33261\t3\n33266\t3\n33269\t3\n33275\t3\n33276\t3\n33279\t3\n33282\t3\n33287\t3\n33289\t3\n33291\t3\n33292\t3\n33294\t3\n33295\t3\n33297\t3\n33301\t3\n33302\t3\n33309\t3\n33311\t3\n33312\t3\n33315\t3\n33322\t3\n33323\t3\n33324\t3\n33325\t3\n33335\t3\n33342\t3\n33344\t3\n33358\t3\n33360\t3\n33370\t3\n33371\t3\n33374\t3\n33375\t3\n33377\t3\n33389\t3\n33392\t3\n33404\t3\n33405\t3\n33430\t3\n33433\t3\n33437\t3\n33443\t3\n33459\t3\n33460\t3\n33465\t3\n33471\t3\n33474\t3\n33476\t3\n33478\t3\n33485\t3\n33491\t3\n33507\t3\n33509\t3\n33513\t3\n33523\t3\n33542\t3\n33552\t3\n33560\t3\n33567\t3\n33569\t3\n33576\t3\n33577\t3\n33581\t3\n33586\t3\n33595\t3\n33597\t3\n33605\t3\n33614\t3\n33628\t3\n33634\t3\n33635\t3\n33640\t3\n33655\t3\n33663\t3\n33665\t3\n33670\t3\n33693\t3\n33694\t3\n33696\t3\n33704\t3\n33705\t3\n33707\t3\n33712\t3\n33720\t3\n33724\t3\n33736\t3\n33737\t3\n33746\t3\n33747\t3\n33755\t3\n33756\t3\n33759\t3\n33761\t3\n33762\t3\n33764\t3\n33766\t3\n33769\t3\n33772\t3\n33777\t3\n33778\t3\n33790\t3\n33791\t3\n33792\t3\n33794\t3\n33805\t3\n33808\t3\n33817\t3\n33822\t3\n33830\t3\n33831\t3\n33835\t3\n33841\t3\n33843\t3\n33850\t3\n33859\t3\n33870\t3\n33876\t3\n33883\t3\n33886\t3\n33887\t3\n33898\t3\n33904\t3\n33906\t3\n33907\t3\n33910\t3\n33929\t3\n33934\t3\n33938\t3\n33946\t3\n33947\t3\n33948\t3\n33955\t3\n33956\t3\n33959\t3\n33970\t3\n33976\t3\n33983\t3\n33985\t3\n33993\t3\n33994\t3\n34004\t3\n34006\t3\n34032\t3\n34038\t3\n34042\t3\n34060\t3\n34064\t3\n34085\t3\n34097\t3\n34111\t3\n34134\t3\n34136\t3\n34141\t3\n34144\t3\n34149\t3\n34158\t3\n34164\t3\n34169\t3\n34171\t3\n34180\t3\n34183\t3\n34191\t3\n34196\t3\n34198\t3\n34201\t3\n34204\t3\n34205\t3\n34218\t3\n34221\t3\n34222\t3\n34224\t3\n34228\t3\n34230\t3\n34238\t3\n34251\t3\n34264\t3\n34279\t3\n34288\t3\n34290\t3\n34291\t3\n34292\t3\n34296\t3\n34321\t3\n34325\t3\n34334\t3\n34338\t3\n34341\t3\n34344\t3\n34355\t3\n34366\t3\n34371\t3\n34373\t3\n34376\t3\n34385\t3\n34390\t3\n34392\t3\n34395\t3\n34400\t3\n34402\t3\n34407\t3\n34419\t3\n34424\t3\n34430\t3\n34438\t3\n34440\t3\n34441\t3\n34449\t3\n34480\t3\n34482\t3\n34486\t3\n34495\t3\n34496\t3\n34508\t3\n34513\t3\n34515\t3\n34517\t3\n34521\t3\n34524\t3\n34526\t3\n34531\t3\n34536\t3\n34538\t3\n34546\t3\n34560\t3\n34577\t3\n34583\t3\n34586\t3\n34588\t3\n34594\t3\n34597\t3\n34610\t3\n34611\t3\n34614\t3\n34615\t3\n34628\t3\n34630\t3\n34637\t3\n34646\t3\n34647\t3\n34653\t3\n34658\t3\n34662\t3\n34670\t3\n34675\t3\n34676\t3\n34677\t3\n34682\t3\n34688\t3\n34690\t3\n34698\t3\n34703\t3\n34704\t3\n34708\t3\n34709\t3\n34710\t3\n34715\t3\n34731\t3\n34735\t3\n34737\t3\n34750\t3\n34751\t3\n34752\t3\n34753\t3\n34755\t3\n34758\t3\n34766\t3\n34769\t3\n34794\t3\n34809\t3\n34811\t3\n34813\t3\n34824\t3\n34825\t3\n34836\t3\n34839\t3\n34840\t3\n34843\t3\n34852\t3\n34853\t3\n34860\t3\n34863\t3\n34864\t3\n34875\t3\n34882\t3\n34883\t3\n34884\t3\n34887\t3\n34889\t3\n34890\t3\n34893\t3\n34895\t3\n34896\t3\n34911\t3\n34929\t3\n34936\t3\n34941\t3\n34943\t3\n34944\t3\n34946\t3\n34948\t3\n34951\t3\n34955\t3\n34958\t3\n34964\t3\n34966\t3\n34971\t3\n34972\t3\n34975\t3\n34980\t3\n34983\t3\n35000\t3\n35001\t3\n35015\t3\n35024\t3\n35036\t3\n35048\t3\n35051\t3\n35056\t3\n35074\t3\n35091\t3\n35105\t3\n35107\t3\n35108\t3\n35109\t3\n35115\t3\n35124\t3\n35135\t3\n35141\t3\n35151\t3\n35152\t3\n35174\t3\n35178\t3\n35185\t3\n35187\t3\n35194\t3\n35198\t3\n35210\t3\n35223\t3\n35225\t3\n35226\t3\n35231\t3\n35233\t3\n35237\t3\n35247\t3\n35249\t3\n35256\t3\n35257\t3\n35259\t3\n35260\t3\n35263\t3\n35264\t3\n35275\t3\n35276\t3\n35293\t3\n35295\t3\n35302\t3\n35303\t3\n35310\t3\n35314\t3\n35315\t3\n35326\t3\n35348\t3\n35350\t3\n35354\t3\n35355\t3\n35363\t3\n35368\t3\n35369\t3\n35376\t3\n35390\t3\n35402\t3\n35409\t3\n35411\t3\n35421\t3\n35424\t3\n35432\t3\n35433\t3\n35448\t3\n35464\t3\n35465\t3\n35474\t3\n35476\t3\n35477\t3\n35485\t3\n35492\t3\n35499\t3\n35500\t3\n35501\t3\n35505\t3\n35508\t3\n35515\t3\n35519\t3\n35526\t3\n35527\t3\n35531\t3\n35532\t3\n35534\t3\n35544\t3\n35551\t3\n35567\t3\n35579\t3\n35588\t3\n35589\t3\n35599\t3\n35604\t3\n35614\t3\n35626\t3\n35638\t3\n35642\t3\n35645\t3\n35648\t3\n35651\t3\n35662\t3\n35665\t3\n35672\t3\n35675\t3\n35680\t3\n35681\t3\n35684\t3\n35695\t3\n35700\t3\n35701\t3\n35703\t3\n35704\t3\n35707\t3\n35711\t3\n35714\t3\n35719\t3\n35723\t3\n35724\t3\n35726\t3\n35727\t3\n35733\t3\n35734\t3\n35741\t3\n35744\t3\n35749\t3\n35750\t3\n35755\t3\n35779\t3\n35787\t3\n35791\t3\n35797\t3\n35816\t3\n35831\t3\n35833\t3\n35837\t3\n35846\t3\n35847\t3\n35850\t3\n35851\t3\n35856\t3\n35859\t3\n35860\t3\n35869\t3\n35873\t3\n35874\t3\n35884\t3\n35890\t3\n35894\t3\n35896\t3\n35904\t3\n35915\t3\n35920\t3\n35925\t3\n35926\t3\n35928\t3\n35935\t3\n35938\t3\n35940\t3\n35944\t3\n35945\t3\n35953\t3\n35959\t3\n35961\t3\n35963\t3\n35972\t3\n35982\t3\n35986\t3\n35991\t3\n35992\t3\n35993\t3\n35995\t3\n35999\t3\n36004\t3\n36007\t3\n36008\t3\n36012\t3\n36023\t3\n36039\t3\n36040\t3\n36043\t3\n36047\t3\n36048\t3\n36066\t3\n36070\t3\n36097\t3\n36099\t3\n36101\t3\n36104\t3\n36107\t3\n36149\t3\n36155\t3\n36158\t3\n36167\t3\n36168\t3\n36169\t3\n36170\t3\n36175\t3\n36179\t3\n36191\t3\n36193\t3\n36194\t3\n36196\t3\n36200\t3\n36209\t3\n36213\t3\n36217\t3\n36223\t3\n36241\t3\n36250\t3\n36260\t3\n36261\t3\n36270\t3\n36273\t3\n36278\t3\n36289\t3\n36293\t3\n36305\t3\n36310\t3\n36338\t3\n36343\t3\n36350\t3\n36351\t3\n36365\t3\n36369\t3\n36372\t3\n36414\t3\n36428\t3\n36431\t3\n36446\t3\n36458\t3\n36460\t3\n36462\t3\n36466\t3\n36469\t3\n36473\t3\n36481\t3\n36485\t3\n36486\t3\n36495\t3\n36498\t3\n36504\t3\n36513\t3\n36516\t3\n36517\t3\n36524\t3\n36545\t3\n36551\t3\n36553\t3\n36555\t3\n36565\t3\n36568\t3\n36578\t3\n36593\t3\n36599\t3\n36606\t3\n36615\t3\n36616\t3\n36620\t3\n36625\t3\n36626\t3\n36634\t3\n36637\t3\n36640\t3\n36643\t3\n36653\t3\n36672\t3\n36678\t3\n36680\t3\n36682\t3\n36690\t3\n36692\t3\n36699\t3\n36718\t3\n36720\t3\n36723\t3\n36724\t3\n36725\t3\n36727\t3\n36728\t3\n36741\t3\n36743\t3\n36749\t3\n36752\t3\n36763\t3\n36764\t3\n36768\t3\n36802\t3\n36807\t3\n36809\t3\n36811\t3\n36812\t3\n36826\t3\n36836\t3\n36837\t3\n36852\t3\n36854\t3\n36858\t3\n36871\t3\n36872\t3\n36893\t3\n36896\t3\n36905\t3\n36907\t3\n36908\t3\n36910\t3\n36916\t3\n36919\t3\n36926\t3\n36929\t3\n36930\t3\n36932\t3\n36938\t3\n36939\t3\n36964\t3\n36969\t3\n36974\t3\n36975\t3\n36978\t3\n36985\t3\n36990\t3\n36995\t3\n36996\t3\n37003\t3\n37008\t3\n37009\t3\n37011\t3\n37021\t3\n37030\t3\n37033\t3\n37034\t3\n37039\t3\n37040\t3\n37050\t3\n37054\t3\n37072\t3\n37074\t3\n37076\t3\n37082\t3\n37084\t3\n37091\t3\n37108\t3\n37114\t3\n37118\t3\n37119\t3\n37128\t3\n37130\t3\n37133\t3\n37138\t3\n37140\t3\n37144\t3\n37160\t3\n37171\t3\n37183\t3\n37214\t3\n37223\t3\n37232\t3\n37243\t3\n37244\t3\n37251\t3\n37267\t3\n37274\t3\n37290\t3\n37294\t3\n37296\t3\n37299\t3\n37300\t3\n37301\t3\n37305\t3\n37313\t3\n37322\t3\n37330\t3\n37340\t3\n37352\t3\n37375\t3\n37378\t3\n37382\t3\n37393\t3\n37396\t3\n37399\t3\n37401\t3\n37409\t3\n37421\t3\n37423\t3\n37425\t3\n37435\t3\n37448\t3\n37449\t3\n37451\t3\n37460\t3\n37465\t3\n37468\t3\n37471\t3\n37473\t3\n37481\t3\n37492\t3\n37505\t3\n37509\t3\n37515\t3\n37516\t3\n37524\t3\n37539\t3\n37542\t3\n37543\t3\n37558\t3\n37567\t3\n37570\t3\n37572\t3\n37575\t3\n37582\t3\n37585\t3\n37594\t3\n37600\t3\n37605\t3\n37606\t3\n37611\t3\n37616\t3\n37617\t3\n37627\t3\n37632\t3\n37641\t3\n37644\t3\n37647\t3\n37652\t3\n37654\t3\n37657\t3\n37667\t3\n37672\t3\n37677\t3\n37688\t3\n37692\t3\n37728\t3\n37730\t3\n37735\t3\n37747\t3\n37748\t3\n37752\t3\n37780\t3\n37785\t3\n37805\t3\n37810\t3\n37811\t3\n37812\t3\n37815\t3\n37816\t3\n37818\t3\n37819\t3\n37823\t3\n37843\t3\n37851\t3\n37852\t3\n37866\t3\n37871\t3\n37873\t3\n37875\t3\n37884\t3\n37890\t3\n37895\t3\n37897\t3\n37900\t3\n37912\t3\n37916\t3\n37923\t3\n37924\t3\n37932\t3\n37942\t3\n37967\t3\n37970\t3\n37979\t3\n37980\t3\n37983\t3\n37988\t3\n37995\t3\n37997\t3\n38007\t3\n38012\t3\n38014\t3\n38015\t3\n38017\t3\n38018\t3\n38019\t3\n38026\t3\n38030\t3\n38044\t3\n38054\t3\n38058\t3\n38069\t3\n38077\t3\n38078\t3\n38081\t3\n38083\t3\n38101\t3\n38104\t3\n38109\t3\n38115\t3\n38116\t3\n38118\t3\n38119\t3\n38121\t3\n38124\t3\n38127\t3\n38133\t3\n38140\t3\n38144\t3\n38146\t3\n38158\t3\n38164\t3\n38166\t3\n38175\t3\n38182\t3\n38188\t3\n38192\t3\n38203\t3\n38210\t3\n38213\t3\n38214\t3\n38216\t3\n38233\t3\n38236\t3\n38242\t3\n38245\t3\n38247\t3\n38249\t3\n38257\t3\n38258\t3\n38262\t3\n38264\t3\n38275\t3\n38279\t3\n38289\t3\n38294\t3\n38298\t3\n38302\t3\n38307\t3\n38310\t3\n38315\t3\n38316\t3\n38321\t3\n38323\t3\n38327\t3\n38346\t3\n38359\t3\n38360\t3\n38369\t3\n38371\t3\n38375\t3\n38392\t3\n38397\t3\n38398\t3\n38410\t3\n38418\t3\n38419\t3\n38443\t3\n38452\t3\n38454\t3\n38466\t3\n38469\t3\n38481\t3\n38494\t3\n38526\t3\n38534\t3\n38540\t3\n38542\t3\n38546\t3\n38556\t3\n38561\t3\n38575\t3\n38576\t3\n38580\t3\n38581\t3\n38587\t3\n38596\t3\n38603\t3\n38605\t3\n38609\t3\n38616\t3\n38618\t3\n38629\t3\n38645\t3\n38650\t3\n38663\t3\n38666\t3\n38671\t3\n38675\t3\n38682\t3\n38719\t3\n38722\t3\n38723\t3\n38729\t3\n38736\t3\n38739\t3\n38743\t3\n38745\t3\n38750\t3\n38758\t3\n38760\t3\n38772\t3\n38778\t3\n38781\t3\n38784\t3\n38786\t3\n38790\t3\n38802\t3\n38809\t3\n38816\t3\n38818\t3\n38819\t3\n38834\t3\n38840\t3\n38844\t3\n38846\t3\n38854\t3\n38862\t3\n38870\t3\n38871\t3\n38873\t3\n38881\t3\n38893\t3\n38901\t3\n38907\t3\n38917\t3\n38935\t3\n38943\t3\n38944\t3\n38948\t3\n38950\t3\n38952\t3\n38961\t3\n38986\t3\n38994\t3\n38995\t3\n38997\t3\n39000\t3\n39003\t3\n39021\t3\n39028\t3\n39033\t3\n39037\t3\n39053\t3\n39056\t3\n39060\t3\n39061\t3\n39072\t3\n39074\t3\n39079\t3\n39085\t3\n39091\t3\n39093\t3\n39095\t3\n39107\t3\n39110\t3\n39111\t3\n39118\t3\n39119\t3\n39131\t3\n39132\t3\n39133\t3\n39137\t3\n39139\t3\n39146\t3\n39183\t3\n39184\t3\n39185\t3\n39190\t3\n39200\t3\n39202\t3\n39218\t3\n39229\t3\n39248\t3\n39253\t3\n39254\t3\n39266\t3\n39267\t3\n39268\t3\n39283\t3\n39295\t3\n39300\t3\n39320\t3\n39325\t3\n39333\t3\n39335\t3\n39339\t3\n39346\t3\n39347\t3\n39350\t3\n39370\t3\n39378\t3\n39380\t3\n39388\t3\n39393\t3\n39403\t3\n39405\t3\n39415\t3\n39422\t3\n39427\t3\n39438\t3\n39441\t3\n39445\t3\n39451\t3\n39456\t3\n39458\t3\n39466\t3\n39467\t3\n39474\t3\n39480\t3\n39481\t3\n39492\t3\n39495\t3\n39503\t3\n39510\t3\n39511\t3\n39513\t3\n39522\t3\n39526\t3\n39528\t3\n39542\t3\n39551\t3\n39552\t3\n39559\t3\n39568\t3\n39578\t3\n39585\t3\n39594\t3\n39597\t3\n39603\t3\n39609\t3\n39611\t3\n39614\t3\n39619\t3\n39623\t3\n39627\t3\n39632\t3\n39633\t3\n39634\t3\n39637\t3\n39642\t3\n39664\t3\n39666\t3\n39692\t3\n39694\t3\n39695\t3\n39697\t3\n39701\t3\n39703\t3\n39715\t3\n39719\t3\n39723\t3\n39724\t3\n39727\t3\n39732\t3\n39733\t3\n39737\t3\n39751\t3\n39755\t3\n39766\t3\n39776\t3\n39784\t3\n39788\t3\n39789\t3\n39791\t3\n39793\t3\n39794\t3\n39803\t3\n39813\t3\n39831\t3\n39842\t3\n39862\t3\n39866\t3\n39869\t3\n39871\t3\n39874\t3\n39880\t3\n39884\t3\n39886\t3\n39889\t3\n39898\t3\n39905\t3\n39922\t3\n39927\t3\n39928\t3\n39930\t3\n39936\t3\n39941\t3\n39945\t3\n39965\t3\n39968\t3\n39971\t3\n39972\t3\n39979\t3\n39980\t3\n39988\t3\n39992\t3\n40003\t3\n40007\t3\n40018\t3\n40023\t3\n40024\t3\n40031\t3\n40034\t3\n40038\t3\n40041\t3\n40043\t3\n40050\t3\n40058\t3\n40059\t3\n40068\t3\n40071\t3\n40076\t3\n40081\t3\n40086\t3\n40092\t3\n40094\t3\n40096\t3\n40099\t3\n40111\t3\n40116\t3\n40119\t3\n40125\t3\n40127\t3\n40133\t3\n40138\t3\n40142\t3\n40149\t3\n40154\t3\n40155\t3\n40166\t3\n40168\t3\n40171\t3\n40181\t3\n40185\t3\n40187\t3\n40188\t3\n40192\t3\n40193\t3\n40206\t3\n40220\t3\n40234\t3\n40236\t3\n40239\t3\n40244\t3\n40259\t3\n40262\t3\n40270\t3\n40280\t3\n40285\t3\n40287\t3\n40302\t3\n40304\t3\n40308\t3\n40321\t3\n40330\t3\n40334\t3\n40336\t3\n40342\t3\n40344\t3\n40345\t3\n40358\t3\n40368\t3\n40369\t3\n40370\t3\n40372\t3\n40386\t3\n40396\t3\n40403\t3\n40416\t3\n40417\t3\n40423\t3\n40426\t3\n40429\t3\n40431\t3\n40438\t3\n40439\t3\n40444\t3\n40447\t3\n40467\t3\n40478\t3\n40502\t3\n40506\t3\n40531\t3\n40536\t3\n40547\t3\n40549\t3\n40560\t3\n40578\t3\n40581\t3\n40582\t3\n40595\t3\n40598\t3\n40607\t3\n40609\t3\n40632\t3\n40633\t3\n40641\t3\n40649\t3\n40660\t3\n40673\t3\n40685\t3\n40697\t3\n40701\t3\n40708\t3\n40716\t3\n40723\t3\n40732\t3\n40746\t3\n40767\t3\n40768\t3\n40771\t3\n40785\t3\n40793\t3\n40807\t3\n40808\t3\n40815\t3\n40826\t3\n40829\t3\n40840\t3\n40845\t3\n40847\t3\n40849\t3\n40859\t3\n40862\t3\n40865\t3\n40871\t3\n40872\t3\n40898\t3\n40902\t3\n40907\t3\n40911\t3\n40917\t3\n40926\t3\n40930\t3\n40932\t3\n40973\t3\n40978\t3\n40980\t3\n40981\t3\n40990\t3\n41005\t3\n41008\t3\n41013\t3\n41017\t3\n41022\t3\n41030\t3\n41064\t3\n41065\t3\n41066\t3\n41086\t3\n41091\t3\n41093\t3\n41095\t3\n41096\t3\n41099\t3\n41103\t3\n41109\t3\n41111\t3\n41122\t3\n41132\t3\n41136\t3\n41142\t3\n41147\t3\n41150\t3\n41156\t3\n41165\t3\n41169\t3\n41173\t3\n41224\t3\n41231\t3\n41257\t3\n41266\t3\n41274\t3\n41278\t3\n41288\t3\n41296\t3\n41310\t3\n41313\t3\n41314\t3\n41319\t3\n41320\t3\n41335\t3\n41343\t3\n41350\t3\n41356\t3\n41357\t3\n41360\t3\n41373\t3\n41381\t3\n41389\t3\n41396\t3\n41400\t3\n41407\t3\n41419\t3\n41427\t3\n41432\t3\n41441\t3\n41448\t3\n41454\t3\n41466\t3\n41468\t3\n41473\t3\n41477\t3\n41478\t3\n41485\t3\n41494\t3\n41505\t3\n41506\t3\n41508\t3\n41513\t3\n41518\t3\n41533\t3\n41539\t3\n41542\t3\n41544\t3\n41555\t3\n41556\t3\n41557\t3\n41558\t3\n41561\t3\n41573\t3\n41577\t3\n41592\t3\n41594\t3\n41606\t3\n41608\t3\n41620\t3\n41624\t3\n41628\t3\n41637\t3\n41639\t3\n41643\t3\n41644\t3\n41648\t3\n41650\t3\n41651\t3\n41665\t3\n41669\t3\n41699\t3\n41702\t3\n41706\t3\n41708\t3\n41718\t3\n41728\t3\n41729\t3\n41732\t3\n41733\t3\n41741\t3\n41745\t3\n41765\t3\n41769\t3\n41773\t3\n41774\t3\n41775\t3\n41776\t3\n41795\t3\n41797\t3\n41799\t3\n41810\t3\n41811\t3\n41813\t3\n41815\t3\n41818\t3\n41830\t3\n41833\t3\n41834\t3\n41838\t3\n41845\t3\n41858\t3\n41865\t3\n41866\t3\n41867\t3\n41873\t3\n41875\t3\n41876\t3\n41883\t3\n41893\t3\n41895\t3\n41900\t3\n41904\t3\n41934\t3\n41940\t3\n41942\t3\n41954\t3\n41956\t3\n41959\t3\n41962\t3\n41967\t3\n41971\t3\n41973\t3\n41983\t3\n41993\t3\n41999\t3\n42002\t3\n42004\t3\n42009\t3\n42013\t3\n42023\t3\n42024\t3\n42026\t3\n42035\t3\n42037\t3\n42040\t3\n42042\t3\n42052\t3\n42060\t3\n42064\t3\n42065\t3\n42067\t3\n42070\t3\n42075\t3\n42077\t3\n42084\t3\n42085\t3\n42089\t3\n42094\t3\n42102\t3\n42116\t3\n42118\t3\n42124\t3\n42160\t3\n42168\t3\n42169\t3\n42181\t3\n42184\t3\n42189\t3\n42194\t3\n42196\t3\n42197\t3\n42205\t3\n42206\t3\n42216\t3\n42220\t3\n42230\t3\n42231\t3\n42237\t3\n42238\t3\n42242\t3\n42246\t3\n42254\t3\n42273\t3\n42282\t3\n42289\t3\n42320\t3\n42323\t3\n42339\t3\n42341\t3\n42342\t3\n42345\t3\n42347\t3\n42360\t3\n42370\t3\n42371\t3\n42376\t3\n42378\t3\n42383\t3\n42387\t3\n42388\t3\n42389\t3\n42390\t3\n42391\t3\n42397\t3\n42417\t3\n42423\t3\n42428\t3\n42429\t3\n42435\t3\n42436\t3\n42440\t3\n42446\t3\n42449\t3\n42452\t3\n42461\t3\n42465\t3\n42468\t3\n42474\t3\n42485\t3\n42486\t3\n42518\t3\n42529\t3\n42537\t3\n42539\t3\n42541\t3\n42551\t3\n42552\t3\n42560\t3\n42562\t3\n42569\t3\n42576\t3\n42578\t3\n42579\t3\n42591\t3\n42595\t3\n42607\t3\n42612\t3\n42617\t3\n42619\t3\n42630\t3\n42639\t3\n42650\t3\n42651\t3\n42654\t3\n42657\t3\n42662\t3\n42670\t3\n42688\t3\n42694\t3\n42702\t3\n42704\t3\n42706\t3\n42708\t3\n42712\t3\n42722\t3\n42726\t3\n42736\t3\n42742\t3\n42754\t3\n42755\t3\n42759\t3\n42766\t3\n42767\t3\n42770\t3\n42774\t3\n42775\t3\n42776\t3\n42783\t3\n42784\t3\n42790\t3\n42791\t3\n42792\t3\n42793\t3\n42795\t3\n42802\t3\n42807\t3\n42810\t3\n42820\t3\n42825\t3\n42827\t3\n42835\t3\n42836\t3\n42839\t3\n42850\t3\n42857\t3\n42861\t3\n42862\t3\n42863\t3\n42868\t3\n42887\t3\n42890\t3\n42897\t3\n42900\t3\n42903\t3\n42907\t3\n42919\t3\n42920\t3\n42922\t3\n42929\t3\n42942\t3\n42956\t3\n42958\t3\n42960\t3\n42961\t3\n42964\t3\n42967\t3\n42973\t3\n42978\t3\n42984\t3\n43004\t3\n43012\t3\n43014\t3\n43016\t3\n43017\t3\n43022\t3\n43024\t3\n43030\t3\n43031\t3\n43036\t3\n43037\t3\n43038\t3\n43042\t3\n43045\t3\n43047\t3\n43053\t3\n43054\t3\n43064\t3\n43071\t3\n43074\t3\n43075\t3\n43076\t3\n43080\t3\n43086\t3\n43105\t3\n43115\t3\n43124\t3\n43125\t3\n43127\t3\n43130\t3\n43139\t3\n43145\t3\n43152\t3\n43160\t3\n43164\t3\n43168\t3\n43179\t3\n43181\t3\n43194\t3\n43195\t3\n43196\t3\n43198\t3\n43205\t3\n43212\t3\n43213\t3\n43224\t3\n43226\t3\n43232\t3\n43235\t3\n43239\t3\n43243\t3\n43245\t3\n43259\t3\n43267\t3\n43273\t3\n43278\t3\n43298\t3\n43299\t3\n43303\t3\n43308\t3\n43316\t3\n43327\t3\n43336\t3\n43370\t3\n43371\t3\n43374\t3\n43379\t3\n43385\t3\n43398\t3\n43401\t3\n43412\t3\n43415\t3\n43422\t3\n43426\t3\n43427\t3\n43435\t3\n43439\t3\n43441\t3\n43453\t3\n43466\t3\n43468\t3\n43474\t3\n43479\t3\n43482\t3\n43487\t3\n43493\t3\n43494\t3\n43496\t3\n43504\t3\n43505\t3\n43508\t3\n43511\t3\n43512\t3\n43517\t3\n43519\t3\n43523\t3\n43528\t3\n43537\t3\n43540\t3\n43544\t3\n43545\t3\n43547\t3\n43561\t3\n43562\t3\n43570\t3\n43572\t3\n43575\t3\n43584\t3\n43586\t3\n43587\t3\n43591\t3\n43592\t3\n43594\t3\n43595\t3\n43597\t3\n43598\t3\n43606\t3\n43608\t3\n43617\t3\n43619\t3\n43620\t3\n43622\t3\n43635\t3\n43639\t3\n43643\t3\n43644\t3\n43645\t3\n43667\t3\n43675\t3\n43678\t3\n43679\t3\n43681\t3\n43687\t3\n43692\t3\n43697\t3\n43701\t3\n43704\t3\n43707\t3\n43712\t3\n43713\t3\n43728\t3\n43731\t3\n43733\t3\n43735\t3\n43748\t3\n43758\t3\n43760\t3\n43762\t3\n43764\t3\n43770\t3\n43771\t3\n43774\t3\n43775\t3\n43779\t3\n43787\t3\n43791\t3\n43793\t3\n43794\t3\n43800\t3\n43803\t3\n43829\t3\n43831\t3\n43837\t3\n43841\t3\n43861\t3\n43863\t3\n43864\t3\n43865\t3\n43872\t3\n43880\t3\n43882\t3\n43885\t3\n43889\t3\n43890\t3\n43898\t3\n43917\t3\n43923\t3\n43943\t3\n43947\t3\n43950\t3\n43952\t3\n43953\t3\n43955\t3\n43961\t3\n43963\t3\n43966\t3\n43967\t3\n43970\t3\n43979\t3\n43987\t3\n43997\t3\n44001\t3\n44010\t3\n44026\t3\n44041\t3\n44043\t3\n44045\t3\n44046\t3\n44047\t3\n44051\t3\n44052\t3\n44075\t3\n44077\t3\n44079\t3\n44080\t3\n44083\t3\n44084\t3\n44099\t3\n44103\t3\n44106\t3\n44109\t3\n44110\t3\n44115\t3\n44122\t3\n44125\t3\n44126\t3\n44131\t3\n44133\t3\n44141\t3\n44155\t3\n44157\t3\n44161\t3\n44174\t3\n44177\t3\n44178\t3\n44179\t3\n44187\t3\n44189\t3\n44190\t3\n44196\t3\n44198\t3\n44199\t3\n44209\t3\n44211\t3\n44219\t3\n44224\t3\n44228\t3\n44229\t3\n44236\t3\n44238\t3\n44249\t3\n44254\t3\n44260\t3\n44261\t3\n44262\t3\n44267\t3\n44270\t3\n44282\t3\n44283\t3\n44297\t3\n44299\t3\n44301\t3\n44302\t3\n44308\t3\n44309\t3\n44314\t3\n44320\t3\n44327\t3\n44332\t3\n44335\t3\n44341\t3\n44344\t3\n44355\t3\n44386\t3\n44389\t3\n44396\t3\n44397\t3\n44402\t3\n44408\t3\n44414\t3\n44416\t3\n44424\t3\n44427\t3\n44430\t3\n44448\t3\n44453\t3\n44454\t3\n44462\t3\n44467\t3\n44475\t3\n44477\t3\n44480\t3\n44483\t3\n44493\t3\n44499\t3\n44507\t3\n44519\t3\n44528\t3\n44530\t3\n44537\t3\n44543\t3\n44553\t3\n44558\t3\n44567\t3\n44568\t3\n44570\t3\n44574\t3\n44580\t3\n44600\t3\n44606\t3\n44610\t3\n44621\t3\n44626\t3\n44633\t3\n44634\t3\n44638\t3\n44650\t3\n44658\t3\n44664\t3\n44678\t3\n44680\t3\n44681\t3\n44689\t3\n44690\t3\n44695\t3\n44696\t3\n44698\t3\n44707\t3\n44709\t3\n44710\t3\n44715\t3\n44719\t3\n44722\t3\n44731\t3\n44734\t3\n44736\t3\n44748\t3\n44762\t3\n44766\t3\n44768\t3\n44774\t3\n44782\t3\n44795\t3\n44797\t3\n44798\t3\n44799\t3\n44804\t3\n44805\t3\n44807\t3\n44809\t3\n44815\t3\n44817\t3\n44828\t3\n44833\t3\n44834\t3\n44837\t3\n44841\t3\n44852\t3\n44859\t3\n44869\t3\n44873\t3\n44878\t3\n44881\t3\n44882\t3\n44884\t3\n44915\t3\n44918\t3\n44919\t3\n44921\t3\n44938\t3\n44956\t3\n44959\t3\n44966\t3\n44986\t3\n45003\t3\n45005\t3\n45013\t3\n45014\t3\n45036\t3\n45040\t3\n45041\t3\n45046\t3\n45056\t3\n45062\t3\n45063\t3\n45069\t3\n45080\t3\n45085\t3\n45086\t3\n45088\t3\n45096\t3\n45100\t3\n45101\t3\n45111\t3\n45125\t3\n45126\t3\n45137\t3\n45141\t3\n45142\t3\n45143\t3\n45151\t3\n45153\t3\n45154\t3\n45162\t3\n45167\t3\n45171\t3\n45176\t3\n45185\t3\n45186\t3\n45211\t3\n45215\t3\n45225\t3\n45229\t3\n45232\t3\n45236\t3\n45241\t3\n45249\t3\n45256\t3\n45258\t3\n45259\t3\n45269\t3\n45271\t3\n45275\t3\n45280\t3\n45281\t3\n45287\t3\n45290\t3\n45301\t3\n45310\t3\n45311\t3\n45317\t3\n45332\t3\n45341\t3\n45355\t3\n45373\t3\n45376\t3\n45379\t3\n45380\t3\n45406\t3\n45416\t3\n45418\t3\n45423\t3\n45424\t3\n45427\t3\n45432\t3\n45435\t3\n45437\t3\n45448\t3\n45455\t3\n45458\t3\n45464\t3\n45475\t3\n45478\t3\n45481\t3\n45489\t3\n45492\t3\n45501\t3\n45515\t3\n45548\t3\n45554\t3\n45557\t3\n45562\t3\n45563\t3\n45568\t3\n45576\t3\n45577\t3\n45578\t3\n45581\t3\n45585\t3\n45588\t3\n45607\t3\n45613\t3\n45614\t3\n45622\t3\n45635\t3\n45637\t3\n45641\t3\n45644\t3\n45646\t3\n45670\t3\n45671\t3\n45673\t3\n45675\t3\n45683\t3\n45684\t3\n45689\t3\n45694\t3\n45695\t3\n45696\t3\n45697\t3\n45698\t3\n45703\t3\n45705\t3\n45737\t3\n45747\t3\n45748\t3\n45759\t3\n45789\t3\n45801\t3\n45805\t3\n45806\t3\n45808\t3\n45816\t3\n45818\t3\n45823\t3\n45826\t3\n45829\t3\n45830\t3\n45832\t3\n45839\t3\n45853\t3\n45864\t3\n45878\t3\n45881\t3\n45886\t3\n45893\t3\n45895\t3\n45897\t3\n45901\t3\n45905\t3\n45913\t3\n45914\t3\n45917\t3\n45924\t3\n45925\t3\n45928\t3\n45933\t3\n45941\t3\n45957\t3\n45962\t3\n45975\t3\n45984\t3\n45991\t3\n45996\t3\n46003\t3\n46009\t3\n46013\t3\n46016\t3\n46020\t3\n46035\t3\n46039\t3\n46063\t3\n46075\t3\n46084\t3\n46086\t3\n46090\t3\n46097\t3\n46100\t3\n46101\t3\n46114\t3\n46121\t3\n46129\t3\n46137\t3\n46139\t3\n46147\t3\n46151\t3\n46157\t3\n46159\t3\n46161\t3\n46164\t3\n46167\t3\n46173\t3\n46178\t3\n46179\t3\n46191\t3\n46197\t3\n46207\t3\n46216\t3\n46226\t3\n46240\t3\n46245\t3\n46247\t3\n46256\t3\n46277\t3\n46284\t3\n46294\t3\n46295\t3\n46305\t3\n46313\t3\n46317\t3\n46318\t3\n46321\t3\n46340\t3\n46341\t3\n46344\t3\n46351\t3\n46374\t3\n46376\t3\n46386\t3\n46387\t3\n46396\t3\n46398\t3\n46412\t3\n46414\t3\n46419\t3\n46424\t3\n46431\t3\n46438\t3\n46447\t3\n46448\t3\n46456\t3\n46461\t3\n46462\t3\n46464\t3\n46466\t3\n46494\t3\n46495\t3\n46497\t3\n46498\t3\n46503\t3\n46506\t3\n46511\t3\n46512\t3\n46526\t3\n46528\t3\n46530\t3\n46538\t3\n46539\t3\n46540\t3\n46550\t3\n46556\t3\n46557\t3\n46558\t3\n46560\t3\n46564\t3\n46569\t3\n46574\t3\n46576\t3\n46581\t3\n46585\t3\n46593\t3\n46605\t3\n46613\t3\n46616\t3\n46623\t3\n46629\t3\n46641\t3\n46644\t3\n46650\t3\n46666\t3\n46669\t3\n46674\t3\n46681\t3\n46685\t3\n46686\t3\n46687\t3\n46700\t3\n46701\t3\n46703\t3\n46706\t3\n46709\t3\n46710\t3\n46717\t3\n46722\t3\n46726\t3\n46728\t3\n46734\t3\n46736\t3\n46740\t3\n46752\t3\n46756\t3\n46763\t3\n46775\t3\n46779\t3\n46780\t3\n46781\t3\n46782\t3\n46790\t3\n46797\t3\n46800\t3\n46803\t3\n46809\t3\n46813\t3\n46817\t3\n46835\t3\n46836\t3\n46838\t3\n46840\t3\n46853\t3\n46854\t3\n46860\t3\n46863\t3\n46864\t3\n46865\t3\n46880\t3\n46882\t3\n46884\t3\n46885\t3\n46886\t3\n46889\t3\n46901\t3\n46907\t3\n46921\t3\n46922\t3\n46924\t3\n46928\t3\n46932\t3\n46939\t3\n46940\t3\n46946\t3\n46959\t3\n46967\t3\n46968\t3\n46973\t3\n46979\t3\n46980\t3\n46981\t3\n46985\t3\n46996\t3\n46997\t3\n46999\t3\n47001\t3\n47014\t3\n47019\t3\n47047\t3\n47059\t3\n47063\t3\n47064\t3\n47066\t3\n47078\t3\n47081\t3\n47082\t3\n47083\t3\n47099\t3\n47108\t3\n47115\t3\n47116\t3\n47124\t3\n47128\t3\n47132\t3\n47139\t3\n47145\t3\n47146\t3\n47150\t3\n47151\t3\n47160\t3\n47163\t3\n47164\t3\n47171\t3\n47179\t3\n47181\t3\n47182\t3\n47195\t3\n47198\t3\n47200\t3\n47207\t3\n47209\t3\n47214\t3\n47223\t3\n47230\t3\n47241\t3\n47252\t3\n47254\t3\n47265\t3\n47266\t3\n47273\t3\n47284\t3\n47294\t3\n47308\t3\n47312\t3\n47316\t3\n47326\t3\n47327\t3\n47329\t3\n47330\t3\n47332\t3\n47338\t3\n47346\t3\n47354\t3\n47359\t3\n47360\t3\n47385\t3\n47390\t3\n47397\t3\n47411\t3\n47412\t3\n47413\t3\n47414\t3\n47429\t3\n47435\t3\n47446\t3\n47448\t3\n47450\t3\n47456\t3\n47460\t3\n47463\t3\n47464\t3\n47466\t3\n47467\t3\n47473\t3\n47484\t3\n47489\t3\n47495\t3\n47502\t3\n47503\t3\n47509\t3\n47510\t3\n47512\t3\n47516\t3\n47522\t3\n47526\t3\n47530\t3\n47533\t3\n47534\t3\n47535\t3\n47537\t3\n47552\t3\n47559\t3\n47571\t3\n47573\t3\n47577\t3\n47580\t3\n47583\t3\n47592\t3\n47596\t3\n47597\t3\n47616\t3\n47617\t3\n47618\t3\n47624\t3\n47631\t3\n47644\t3\n47649\t3\n47650\t3\n47655\t3\n47656\t3\n47657\t3\n47660\t3\n47661\t3\n47666\t3\n47672\t3\n47673\t3\n47675\t3\n47678\t3\n47695\t3\n47707\t3\n47709\t3\n47720\t3\n47732\t3\n47733\t3\n47750\t3\n47757\t3\n47758\t3\n47760\t3\n47765\t3\n47768\t3\n47777\t3\n47780\t3\n47781\t3\n47784\t3\n47793\t3\n47799\t3\n47801\t3\n47805\t3\n47806\t3\n47808\t3\n47811\t3\n47816\t3\n47820\t3\n47827\t3\n47833\t3\n47835\t3\n47836\t3\n47838\t3\n47841\t3\n47851\t3\n47853\t3\n47863\t3\n47864\t3\n47865\t3\n47874\t3\n47883\t3\n47886\t3\n47887\t3\n47896\t3\n47901\t3\n47908\t3\n47920\t3\n47922\t3\n47927\t3\n47929\t3\n47931\t3\n47941\t3\n47943\t3\n47949\t3\n47952\t3\n47966\t3\n47969\t3\n47970\t3\n47982\t3\n47990\t3\n47991\t3\n47995\t3\n48026\t3\n48028\t3\n48044\t3\n48045\t3\n48053\t3\n48062\t3\n48074\t3\n48075\t3\n48076\t3\n48088\t3\n48091\t3\n48095\t3\n48099\t3\n48105\t3\n48113\t3\n48114\t3\n48119\t3\n48127\t3\n48130\t3\n48131\t3\n48133\t3\n48144\t3\n48146\t3\n48149\t3\n48152\t3\n48156\t3\n48158\t3\n48173\t3\n48193\t3\n48199\t3\n48210\t3\n48212\t3\n48214\t3\n48217\t3\n48226\t3\n48227\t3\n48234\t3\n48238\t3\n48242\t3\n48244\t3\n48249\t3\n48253\t3\n48258\t3\n48259\t3\n48263\t3\n48266\t3\n48276\t3\n48283\t3\n48285\t3\n48291\t3\n48292\t3\n48300\t3\n48313\t3\n48325\t3\n48333\t3\n48337\t3\n48339\t3\n48340\t3\n48346\t3\n48349\t3\n48351\t3\n48352\t3\n48359\t3\n48360\t3\n48362\t3\n48371\t3\n48374\t3\n48376\t3\n48380\t3\n48387\t3\n48390\t3\n48413\t3\n48415\t3\n48418\t3\n48420\t3\n48421\t3\n48423\t3\n48425\t3\n48433\t3\n48438\t3\n48440\t3\n48448\t3\n48456\t3\n48466\t3\n48467\t3\n48470\t3\n48479\t3\n48480\t3\n48481\t3\n48492\t3\n48494\t3\n48502\t3\n48504\t3\n48510\t3\n48519\t3\n48524\t3\n48528\t3\n48530\t3\n48533\t3\n48538\t3\n48544\t3\n48546\t3\n48562\t3\n48563\t3\n48570\t3\n48571\t3\n48575\t3\n48578\t3\n48585\t3\n48587\t3\n48590\t3\n48591\t3\n48595\t3\n48597\t3\n48601\t3\n48610\t3\n48629\t3\n48633\t3\n48635\t3\n48637\t3\n48644\t3\n48650\t3\n48656\t3\n48658\t3\n48659\t3\n48660\t3\n48668\t3\n48674\t3\n48675\t3\n48680\t3\n48682\t3\n48694\t3\n48695\t3\n48700\t3\n48705\t3\n48710\t3\n48714\t3\n48715\t3\n48716\t3\n48737\t3\n48754\t3\n48769\t3\n48770\t3\n48772\t3\n48774\t3\n48779\t3\n48782\t3\n48783\t3\n48785\t3\n48791\t3\n48792\t3\n48795\t3\n48799\t3\n48800\t3\n48803\t3\n48809\t3\n48817\t3\n48818\t3\n48825\t3\n48826\t3\n48832\t3\n48835\t3\n48836\t3\n48839\t3\n48840\t3\n48845\t3\n48851\t3\n48852\t3\n48856\t3\n48858\t3\n48866\t3\n48872\t3\n48878\t3\n48879\t3\n48894\t3\n48895\t3\n48905\t3\n48908\t3\n48920\t3\n48923\t3\n48927\t3\n48928\t3\n48930\t3\n48932\t3\n48943\t3\n48947\t3\n48964\t3\n48972\t3\n48976\t3\n48983\t3\n48995\t3\n48996\t3\n49005\t3\n49010\t3\n49014\t3\n49020\t3\n49021\t3\n49025\t3\n49041\t3\n49071\t3\n49076\t3\n49087\t3\n49089\t3\n49093\t3\n49099\t3\n49103\t3\n49110\t3\n49129\t3\n49131\t3\n49153\t3\n49154\t3\n49161\t3\n49163\t3\n49167\t3\n49172\t3\n49187\t3\n49193\t3\n49195\t3\n49203\t3\n49205\t3\n49211\t3\n49214\t3\n49217\t3\n49222\t3\n49228\t3\n49230\t3\n49235\t3\n49239\t3\n49240\t3\n49242\t3\n49243\t3\n49262\t3\n49269\t3\n49270\t3\n49277\t3\n49289\t3\n49320\t3\n49321\t3\n49326\t3\n49340\t3\n49344\t3\n49347\t3\n49350\t3\n49351\t3\n49362\t3\n49366\t3\n49367\t3\n49372\t3\n49380\t3\n49384\t3\n49386\t3\n49398\t3\n49400\t3\n49408\t3\n49428\t3\n49437\t3\n49438\t3\n49442\t3\n49450\t3\n49457\t3\n49470\t3\n49490\t3\n49498\t3\n49509\t3\n49514\t3\n49517\t3\n49521\t3\n49525\t3\n49545\t3\n49548\t3\n49551\t3\n49566\t3\n49568\t3\n49570\t3\n49572\t3\n49594\t3\n49597\t3\n49601\t3\n49606\t3\n49609\t3\n49611\t3\n49613\t3\n49615\t3\n49622\t3\n49631\t3\n49632\t3\n49642\t3\n49645\t3\n49650\t3\n49651\t3\n49654\t3\n49660\t3\n49661\t3\n49662\t3\n49667\t3\n49669\t3\n49670\t3\n49671\t3\n49690\t3\n49698\t3\n49703\t3\n49704\t3\n49715\t3\n49719\t3\n49720\t3\n49738\t3\n49744\t3\n49748\t3\n49758\t3\n49774\t3\n49781\t3\n49791\t3\n49792\t3\n49799\t3\n49803\t3\n49804\t3\n49814\t3\n49822\t3\n49828\t3\n49829\t3\n49831\t3\n49835\t3\n49836\t3\n49838\t3\n49841\t3\n49843\t3\n49849\t3\n49860\t3\n49864\t3\n49871\t3\n49893\t3\n49897\t3\n49901\t3\n49911\t3\n49912\t3\n49935\t3\n49941\t3\n49942\t3\n49945\t3\n49952\t3\n49958\t3\n49961\t3\n49968\t3\n49972\t3\n49982\t3\n49994\t3\n50007\t3\n50013\t3\n50015\t3\n50017\t3\n50019\t3\n50020\t3\n50024\t3\n50026\t3\n50030\t3\n50037\t3\n50044\t3\n50045\t3\n50046\t3\n50053\t3\n50060\t3\n50066\t3\n50068\t3\n50073\t3\n50074\t3\n50077\t3\n50081\t3\n50086\t3\n50088\t3\n50094\t3\n50096\t3\n50102\t3\n50120\t3\n50122\t3\n50130\t3\n50131\t3\n50140\t3\n50143\t3\n50148\t3\n50150\t3\n50153\t3\n50154\t3\n50158\t3\n50166\t3\n50172\t3\n50173\t3\n50177\t3\n50180\t3\n50184\t3\n50187\t3\n50200\t3\n50205\t3\n50211\t3\n50232\t3\n50234\t3\n50238\t3\n50252\t3\n50256\t3\n50260\t3\n50265\t3\n50289\t3\n50291\t3\n50292\t3\n50299\t3\n50308\t3\n50319\t3\n50324\t3\n50330\t3\n50344\t3\n50365\t3\n50366\t3\n50367\t3\n50371\t3\n50376\t3\n50378\t3\n50380\t3\n50381\t3\n50385\t3\n50392\t3\n50399\t3\n50403\t3\n50431\t3\n50433\t3\n50439\t3\n50440\t3\n50446\t3\n50451\t3\n50462\t3\n50468\t3\n50474\t3\n50476\t3\n50477\t3\n50478\t3\n50484\t3\n50485\t3\n50499\t3\n50503\t3\n50513\t3\n50541\t3\n50546\t3\n50555\t3\n50558\t3\n50572\t3\n50574\t3\n50580\t3\n50583\t3\n50584\t3\n50590\t3\n50599\t3\n50603\t3\n50604\t3\n50607\t3\n50609\t3\n50610\t3\n50613\t3\n50624\t3\n50626\t3\n50628\t3\n50630\t3\n50642\t3\n50643\t3\n50649\t3\n50657\t3\n50658\t3\n50667\t3\n50668\t3\n50672\t3\n50674\t3\n50678\t3\n50681\t3\n50685\t3\n50687\t3\n50696\t3\n50697\t3\n50711\t3\n50713\t3\n50724\t3\n50733\t3\n50736\t3\n50740\t3\n50743\t3\n50747\t3\n50753\t3\n50756\t3\n50757\t3\n50758\t3\n50766\t3\n50773\t3\n50779\t3\n50780\t3\n50784\t3\n50796\t3\n50798\t3\n50800\t3\n50805\t3\n50808\t3\n50812\t3\n50815\t3\n50822\t3\n50834\t3\n50839\t3\n50843\t3\n50854\t3\n50859\t3\n50860\t3\n50875\t3\n50880\t3\n50883\t3\n50896\t3\n50899\t3\n50907\t3\n50913\t3\n50914\t3\n50915\t3\n50917\t3\n50921\t3\n50934\t3\n50939\t3\n50940\t3\n50942\t3\n50949\t3\n50953\t3\n50954\t3\n50955\t3\n50960\t3\n50971\t3\n50973\t3\n50978\t3\n50993\t3\n50994\t3\n50998\t3\n50999\t3\n51002\t3\n51011\t3\n51016\t3\n51022\t3\n51026\t3\n51027\t3\n51036\t3\n51039\t3\n51048\t3\n51052\t3\n51062\t3\n51068\t3\n51069\t3\n51071\t3\n51077\t3\n51080\t3\n51081\t3\n51085\t3\n51087\t3\n51089\t3\n51091\t3\n51093\t3\n51114\t3\n51121\t3\n51142\t3\n51147\t3\n51151\t3\n51153\t3\n51156\t3\n51162\t3\n51163\t3\n51169\t3\n51185\t3\n51189\t3\n51202\t3\n51205\t3\n51213\t3\n51221\t3\n51224\t3\n51249\t3\n51250\t3\n51263\t3\n51266\t3\n51268\t3\n51293\t3\n51298\t3\n51299\t3\n51304\t3\n51314\t3\n51319\t3\n51321\t3\n51322\t3\n51325\t3\n51326\t3\n51344\t3\n51346\t3\n51348\t3\n51350\t3\n51354\t3\n51355\t3\n51365\t3\n51371\t3\n51372\t3\n51380\t3\n51381\t3\n51393\t3\n51398\t3\n51415\t3\n51418\t3\n51420\t3\n51432\t3\n51433\t3\n51441\t3\n51457\t3\n51470\t3\n51475\t3\n51479\t3\n51480\t3\n51483\t3\n51496\t3\n51511\t3\n51516\t3\n51518\t3\n51520\t3\n51526\t3\n51528\t3\n51534\t3\n51538\t3\n51547\t3\n51551\t3\n51562\t3\n51569\t3\n51570\t3\n51571\t3\n51573\t3\n51578\t3\n51579\t3\n51584\t3\n51585\t3\n51586\t3\n51587\t3\n51588\t3\n51609\t3\n51612\t3\n51619\t3\n51620\t3\n51623\t3\n51634\t3\n51637\t3\n51645\t3\n51648\t3\n51656\t3\n51665\t3\n51666\t3\n51668\t3\n51676\t3\n51680\t3\n51687\t3\n51692\t3\n51695\t3\n51699\t3\n51704\t3\n51717\t3\n51720\t3\n51725\t3\n51727\t3\n51749\t3\n51755\t3\n51806\t3\n51807\t3\n51815\t3\n51832\t3\n51844\t3\n51855\t3\n51861\t3\n51868\t3\n51878\t3\n51891\t3\n51899\t3\n51902\t3\n51904\t3\n51906\t3\n51913\t3\n51923\t3\n51933\t3\n51940\t3\n51947\t3\n51954\t3\n51957\t3\n51964\t3\n51967\t3\n51993\t3\n52001\t3\n52014\t3\n52017\t3\n52032\t3\n52033\t3\n52035\t3\n52043\t3\n52051\t3\n52052\t3\n52064\t3\n52067\t3\n52080\t3\n52083\t3\n52086\t3\n52088\t3\n52117\t3\n52118\t3\n52123\t3\n52137\t3\n52148\t3\n52161\t3\n52168\t3\n52187\t3\n52189\t3\n52199\t3\n52206\t3\n52209\t3\n52216\t3\n52234\t3\n52244\t3\n52247\t3\n52265\t3\n52268\t3\n52276\t3\n52281\t3\n52288\t3\n52294\t3\n52296\t3\n52301\t3\n52302\t3\n52306\t3\n52312\t3\n52318\t3\n52319\t3\n52331\t3\n52332\t3\n52334\t3\n52347\t3\n52357\t3\n52360\t3\n52361\t3\n52370\t3\n52383\t3\n52384\t3\n52386\t3\n52390\t3\n52394\t3\n52401\t3\n52418\t3\n52419\t3\n52428\t3\n52432\t3\n52433\t3\n52441\t3\n52444\t3\n52449\t3\n52450\t3\n52453\t3\n52456\t3\n52464\t3\n52468\t3\n52478\t3\n52483\t3\n52486\t3\n52491\t3\n52492\t3\n52493\t3\n52494\t3\n52495\t3\n52504\t3\n52506\t3\n52512\t3\n52513\t3\n52521\t3\n52522\t3\n52530\t3\n52543\t3\n52552\t3\n52565\t3\n52584\t3\n52585\t3\n52601\t3\n52603\t3\n52606\t3\n52613\t3\n52615\t3\n52616\t3\n52617\t3\n52622\t3\n52624\t3\n52625\t3\n52660\t3\n52662\t3\n52666\t3\n52667\t3\n52675\t3\n52677\t3\n52687\t3\n52690\t3\n52691\t3\n52701\t3\n52726\t3\n52746\t3\n52750\t3\n52765\t3\n52777\t3\n52779\t3\n52780\t3\n52794\t3\n52806\t3\n52811\t3\n52812\t3\n52821\t3\n52823\t3\n52831\t3\n52841\t3\n52843\t3\n52851\t3\n52860\t3\n52862\t3\n52863\t3\n52874\t3\n52895\t3\n52896\t3\n52906\t3\n52909\t3\n52915\t3\n52920\t3\n52921\t3\n52927\t3\n52928\t3\n52931\t3\n52935\t3\n52941\t3\n52952\t3\n52956\t3\n52961\t3\n52974\t3\n52976\t3\n52981\t3\n52985\t3\n52987\t3\n52989\t3\n52994\t3\n52996\t3\n52999\t3\n53000\t3\n53008\t3\n53014\t3\n53016\t3\n53023\t3\n53025\t3\n53031\t3\n53051\t3\n53076\t3\n53078\t3\n53080\t3\n53081\t3\n53083\t3\n53086\t3\n53087\t3\n53091\t3\n53094\t3\n53098\t3\n53101\t3\n53102\t3\n53109\t3\n53114\t3\n53121\t3\n53124\t3\n53129\t3\n53139\t3\n53141\t3\n53143\t3\n53145\t3\n53150\t3\n53151\t3\n53153\t3\n53154\t3\n53155\t3\n53156\t3\n53157\t3\n53178\t3\n53191\t3\n53202\t3\n53218\t3\n53219\t3\n53221\t3\n53227\t3\n53234\t3\n53242\t3\n53248\t3\n53249\t3\n53256\t3\n53259\t3\n53261\t3\n53262\t3\n53267\t3\n53271\t3\n53286\t3\n53287\t3\n53298\t3\n53300\t3\n53302\t3\n53307\t3\n53311\t3\n53314\t3\n53318\t3\n53321\t3\n53323\t3\n53340\t3\n53348\t3\n53364\t3\n53365\t3\n53367\t3\n53371\t3\n53375\t3\n53376\t3\n53381\t3\n53385\t3\n53386\t3\n53396\t3\n53409\t3\n53411\t3\n53419\t3\n53421\t3\n53424\t3\n53438\t3\n53440\t3\n53441\t3\n53454\t3\n53455\t3\n53461\t3\n53466\t3\n53471\t3\n53473\t3\n53479\t3\n53482\t3\n53493\t3\n53497\t3\n53502\t3\n53505\t3\n53513\t3\n53528\t3\n53532\t3\n53538\t3\n53539\t3\n53543\t3\n53548\t3\n53560\t3\n53578\t3\n53583\t3\n53584\t3\n53594\t3\n53595\t3\n53596\t3\n53600\t3\n53607\t3\n53612\t3\n53617\t3\n53618\t3\n53620\t3\n53622\t3\n53627\t3\n53639\t3\n53655\t3\n53673\t3\n53674\t3\n53683\t3\n53684\t3\n53692\t3\n53699\t3\n53706\t3\n53707\t3\n53710\t3\n53724\t3\n53726\t3\n53735\t3\n53736\t3\n53739\t3\n53740\t3\n53741\t3\n53743\t3\n53747\t3\n53751\t3\n53752\t3\n53756\t3\n53759\t3\n53767\t3\n53780\t3\n53783\t3\n53786\t3\n53788\t3\n53804\t3\n53814\t3\n53821\t3\n53822\t3\n53823\t3\n53828\t3\n53832\t3\n53869\t3\n53883\t3\n53894\t3\n53898\t3\n53899\t3\n53908\t3\n53912\t3\n53914\t3\n53926\t3\n53935\t3\n53939\t3\n53940\t3\n53941\t3\n53947\t3\n53948\t3\n53949\t3\n53952\t3\n53954\t3\n53955\t3\n53964\t3\n53972\t3\n53973\t3\n53986\t3\n53993\t3\n54004\t3\n54007\t3\n54010\t3\n54012\t3\n54014\t3\n54016\t3\n54018\t3\n54021\t3\n54028\t3\n54038\t3\n54065\t3\n54066\t3\n54068\t3\n54073\t3\n54082\t3\n54086\t3\n54087\t3\n54092\t3\n54104\t3\n54107\t3\n54113\t3\n54118\t3\n54120\t3\n54126\t3\n54128\t3\n54132\t3\n54134\t3\n54137\t3\n54154\t3\n54166\t3\n54168\t3\n54170\t3\n54173\t3\n54188\t3\n54194\t3\n54196\t3\n54200\t3\n54204\t3\n54207\t3\n54225\t3\n54231\t3\n54232\t3\n54235\t3\n54237\t3\n54245\t3\n54248\t3\n54251\t3\n54261\t3\n54265\t3\n54266\t3\n54269\t3\n54270\t3\n54272\t3\n54287\t3\n54289\t3\n54294\t3\n54295\t3\n54304\t3\n54309\t3\n54316\t3\n54328\t3\n54337\t3\n54338\t3\n54341\t3\n54348\t3\n54361\t3\n54363\t3\n54403\t3\n54406\t3\n54407\t3\n54410\t3\n54415\t3\n54419\t3\n54430\t3\n54436\t3\n54443\t3\n54444\t3\n54452\t3\n54453\t3\n54456\t3\n54457\t3\n54473\t3\n54474\t3\n54483\t3\n54484\t3\n54489\t3\n54490\t3\n54491\t3\n54505\t3\n54513\t3\n54524\t3\n54543\t3\n54544\t3\n54562\t3\n54564\t3\n54579\t3\n54581\t3\n54583\t3\n54600\t3\n54624\t3\n54626\t3\n54633\t3\n54637\t3\n54646\t3\n54654\t3\n54655\t3\n54661\t3\n54665\t3\n54676\t3\n54680\t3\n54685\t3\n54693\t3\n54695\t3\n54700\t3\n54702\t3\n54716\t3\n54722\t3\n54726\t3\n54741\t3\n54748\t3\n54754\t3\n54763\t3\n54774\t3\n54775\t3\n54786\t3\n54791\t3\n54797\t3\n54809\t3\n54820\t3\n54821\t3\n54823\t3\n54826\t3\n54829\t3\n54833\t3\n54835\t3\n54840\t3\n54853\t3\n54863\t3\n54866\t3\n54867\t3\n54895\t3\n54900\t3\n54904\t3\n54915\t3\n54918\t3\n54923\t3\n54943\t3\n54945\t3\n54949\t3\n54956\t3\n54958\t3\n54959\t3\n54960\t3\n54961\t3\n54969\t3\n54971\t3\n54975\t3\n54978\t3\n54989\t3\n54990\t3\n54992\t3\n54994\t3\n55002\t3\n55003\t3\n55005\t3\n55011\t3\n55017\t3\n55022\t3\n55034\t3\n55035\t3\n55044\t3\n55056\t3\n55058\t3\n55062\t3\n55066\t3\n55074\t3\n55075\t3\n55083\t3\n55084\t3\n55091\t3\n55099\t3\n55118\t3\n55120\t3\n55122\t3\n55132\t3\n55133\t3\n55140\t3\n55142\t3\n55145\t3\n55148\t3\n55149\t3\n55172\t3\n55176\t3\n55182\t3\n55190\t3\n55194\t3\n55202\t3\n55209\t3\n55214\t3\n55224\t3\n55245\t3\n55249\t3\n55256\t3\n55280\t3\n55281\t3\n55284\t3\n55286\t3\n55293\t3\n55294\t3\n55295\t3\n55299\t3\n55301\t3\n55302\t3\n55307\t3\n55310\t3\n55312\t3\n55314\t3\n55317\t3\n55338\t3\n55339\t3\n55345\t3\n55346\t3\n55355\t3\n55358\t3\n55360\t3\n55366\t3\n55368\t3\n55370\t3\n55373\t3\n55379\t3\n55414\t3\n55417\t3\n55423\t3\n55427\t3\n55431\t3\n55436\t3\n55442\t3\n55452\t3\n55457\t3\n55458\t3\n55459\t3\n55460\t3\n55463\t3\n55467\t3\n55469\t3\n55471\t3\n55485\t3\n55493\t3\n55499\t3\n55502\t3\n55503\t3\n55505\t3\n55506\t3\n55509\t3\n55513\t3\n55520\t3\n55532\t3\n55533\t3\n55537\t3\n55538\t3\n55540\t3\n55550\t3\n55553\t3\n55555\t3\n55556\t3\n55570\t3\n55587\t3\n55589\t3\n55592\t3\n55593\t3\n55596\t3\n55599\t3\n55600\t3\n55602\t3\n55605\t3\n55609\t3\n55612\t3\n55615\t3\n55619\t3\n55623\t3\n55638\t3\n55639\t3\n55650\t3\n55660\t3\n55664\t3\n55666\t3\n55675\t3\n55676\t3\n55679\t3\n55680\t3\n55683\t3\n55686\t3\n55697\t3\n55708\t3\n55711\t3\n55714\t3\n55715\t3\n55724\t3\n55736\t3\n55738\t3\n55739\t3\n55742\t3\n55746\t3\n55749\t3\n55759\t3\n55771\t3\n55772\t3\n55777\t3\n55779\t3\n55792\t3\n55795\t3\n55808\t3\n55809\t3\n55813\t3\n55817\t3\n55820\t3\n55821\t3\n55824\t3\n55831\t3\n55833\t3\n55835\t3\n55840\t3\n55848\t3\n55849\t3\n55858\t3\n55862\t3\n55870\t3\n55879\t3\n55891\t3\n55892\t3\n55907\t3\n55908\t3\n55914\t3\n55920\t3\n55922\t3\n55951\t3\n55954\t3\n55977\t3\n55988\t3\n55989\t3\n55997\t3\n55998\t3\n56009\t3\n56013\t3\n56024\t3\n56045\t3\n56058\t3\n56061\t3\n56064\t3\n56072\t3\n56073\t3\n56088\t3\n56100\t3\n56105\t3\n56109\t3\n56112\t3\n56116\t3\n56127\t3\n56128\t3\n56129\t3\n56130\t3\n56135\t3\n56137\t3\n56141\t3\n56144\t3\n56152\t3\n56153\t3\n56160\t3\n56161\t3\n56167\t3\n56169\t3\n56175\t3\n56179\t3\n56184\t3\n56190\t3\n56191\t3\n56196\t3\n56197\t3\n56198\t3\n56201\t3\n56207\t3\n56210\t3\n56223\t3\n56224\t3\n56225\t3\n56227\t3\n56233\t3\n56234\t3\n56237\t3\n56238\t3\n56239\t3\n56245\t3\n56247\t3\n56248\t3\n56249\t3\n56250\t3\n56252\t3\n56262\t3\n56267\t3\n56287\t3\n56291\t3\n56299\t3\n56305\t3\n56317\t3\n56319\t3\n56321\t3\n56322\t3\n56324\t3\n56339\t3\n56342\t3\n56348\t3\n56349\t3\n56362\t3\n56367\t3\n56374\t3\n56390\t3\n56397\t3\n56405\t3\n56409\t3\n56417\t3\n56422\t3\n56428\t3\n56434\t3\n56435\t3\n56437\t3\n56438\t3\n56442\t3\n56453\t3\n56472\t3\n56503\t3\n56508\t3\n56509\t3\n56532\t3\n56535\t3\n56537\t3\n56538\t3\n56563\t3\n56564\t3\n56569\t3\n56579\t3\n56584\t3\n56586\t3\n56590\t3\n56597\t3\n56609\t3\n56625\t3\n56627\t3\n56629\t3\n56630\t3\n56633\t3\n56634\t3\n56636\t3\n56641\t3\n56643\t3\n56649\t3\n56663\t3\n56668\t3\n56685\t3\n56692\t3\n56694\t3\n56697\t3\n56698\t3\n56706\t3\n56707\t3\n56710\t3\n56715\t3\n56719\t3\n56726\t3\n56749\t3\n56750\t3\n56753\t3\n56757\t3\n56763\t3\n56768\t3\n56769\t3\n56772\t3\n56774\t3\n56775\t3\n56777\t3\n56789\t3\n56791\t3\n56797\t3\n56804\t3\n56805\t3\n56811\t3\n56818\t3\n56820\t3\n56821\t3\n56831\t3\n56836\t3\n56838\t3\n56839\t3\n56840\t3\n56841\t3\n56845\t3\n56851\t3\n56853\t3\n56855\t3\n56858\t3\n56860\t3\n56863\t3\n56866\t3\n56867\t3\n56872\t3\n56877\t3\n56890\t3\n56900\t3\n56901\t3\n56906\t3\n56937\t3\n56939\t3\n56940\t3\n56959\t3\n56972\t3\n56977\t3\n56989\t3\n56990\t3\n57005\t3\n57008\t3\n57009\t3\n57016\t3\n57019\t3\n57022\t3\n57023\t3\n57031\t3\n57050\t3\n57056\t3\n57064\t3\n57067\t3\n57073\t3\n57079\t3\n57083\t3\n57091\t3\n57099\t3\n57115\t3\n57116\t3\n57118\t3\n57119\t3\n57121\t3\n57123\t3\n57130\t3\n57154\t3\n57171\t3\n57173\t3\n57178\t3\n57187\t3\n57195\t3\n57197\t3\n57198\t3\n57203\t3\n57213\t3\n57218\t3\n57219\t3\n57223\t3\n57227\t3\n57228\t3\n57230\t3\n57236\t3\n57237\t3\n57241\t3\n57242\t3\n57245\t3\n57258\t3\n57259\t3\n57264\t3\n57269\t3\n57276\t3\n57279\t3\n57296\t3\n57327\t3\n57333\t3\n57340\t3\n57344\t3\n57348\t3\n57351\t3\n57352\t3\n57357\t3\n57358\t3\n57366\t3\n57382\t3\n57393\t3\n57398\t3\n57410\t3\n57412\t3\n57420\t3\n57422\t3\n57424\t3\n57430\t3\n57435\t3\n57443\t3\n57444\t3\n57451\t3\n57453\t3\n57469\t3\n57471\t3\n57479\t3\n57483\t3\n57485\t3\n57488\t3\n57493\t3\n57499\t3\n57501\t3\n57509\t3\n57510\t3\n57511\t3\n57515\t3\n57533\t3\n57540\t3\n57551\t3\n57569\t3\n57572\t3\n57575\t3\n57579\t3\n57587\t3\n57591\t3\n57598\t3\n57600\t3\n57602\t3\n57605\t3\n57607\t3\n57608\t3\n57609\t3\n57617\t3\n57621\t3\n57624\t3\n57629\t3\n57639\t3\n57640\t3\n57650\t3\n57652\t3\n57653\t3\n57654\t3\n57661\t3\n57671\t3\n57686\t3\n57689\t3\n57691\t3\n57700\t3\n57709\t3\n57718\t3\n57724\t3\n57729\t3\n57741\t3\n57743\t3\n57745\t3\n57746\t3\n57749\t3\n57755\t3\n57756\t3\n57758\t3\n57764\t3\n57765\t3\n57767\t3\n57782\t3\n57783\t3\n57784\t3\n57800\t3\n57804\t3\n57807\t3\n57823\t3\n57850\t3\n57853\t3\n57858\t3\n57861\t3\n57865\t3\n57877\t3\n57884\t3\n57891\t3\n57894\t3\n57895\t3\n57907\t3\n57909\t3\n57915\t3\n57916\t3\n57921\t3\n57932\t3\n57935\t3\n57941\t3\n57944\t3\n57947\t3\n57969\t3\n57970\t3\n57971\t3\n57972\t3\n57977\t3\n57978\t3\n57980\t3\n57986\t3\n57999\t3\n58002\t3\n58010\t3\n58011\t3\n58015\t3\n58019\t3\n58022\t3\n58026\t3\n58029\t3\n58034\t3\n58047\t3\n58058\t3\n58061\t3\n58081\t3\n58082\t3\n58084\t3\n58087\t3\n58110\t3\n58113\t3\n58120\t3\n58123\t3\n58132\t3\n58138\t3\n58154\t3\n58156\t3\n58162\t3\n58165\t3\n58171\t3\n58179\t3\n58181\t3\n58183\t3\n58185\t3\n58194\t3\n58197\t3\n58205\t3\n58209\t3\n58210\t3\n58212\t3\n58216\t3\n58218\t3\n58219\t3\n58222\t3\n58253\t3\n58255\t3\n58256\t3\n58257\t3\n58264\t3\n58267\t3\n58275\t3\n58285\t3\n58294\t3\n58301\t3\n58302\t3\n58310\t3\n58311\t3\n58312\t3\n58315\t3\n58331\t3\n58335\t3\n58336\t3\n58339\t3\n58341\t3\n58347\t3\n58349\t3\n58351\t3\n58352\t3\n58357\t3\n58358\t3\n58370\t3\n58371\t3\n58384\t3\n58385\t3\n58387\t3\n58388\t3\n58392\t3\n58398\t3\n58405\t3\n58410\t3\n58418\t3\n58422\t3\n58424\t3\n58431\t3\n58436\t3\n58450\t3\n58453\t3\n58455\t3\n58463\t3\n58469\t3\n58490\t3\n58491\t3\n58497\t3\n58503\t3\n58512\t3\n58514\t3\n58520\t3\n58525\t3\n58530\t3\n58536\t3\n58537\t3\n58562\t3\n58565\t3\n58567\t3\n58568\t3\n58571\t3\n58572\t3\n58576\t3\n58580\t3\n58593\t3\n58610\t3\n58615\t3\n58616\t3\n58619\t3\n58620\t3\n58632\t3\n58636\t3\n58648\t3\n58653\t3\n58655\t3\n58658\t3\n58661\t3\n58664\t3\n58669\t3\n58671\t3\n58676\t3\n58679\t3\n58680\t3\n58689\t3\n58708\t3\n58730\t3\n58732\t3\n58734\t3\n58735\t3\n58737\t3\n58738\t3\n58741\t3\n58743\t3\n58744\t3\n58759\t3\n58762\t3\n58766\t3\n58767\t3\n58769\t3\n58770\t3\n58773\t3\n58774\t3\n58785\t3\n58802\t3\n58805\t3\n58810\t3\n58814\t3\n58822\t3\n58823\t3\n58825\t3\n58827\t3\n58833\t3\n58854\t3\n58862\t3\n58863\t3\n58864\t3\n58866\t3\n58872\t3\n58873\t3\n58877\t3\n58883\t3\n58891\t3\n58894\t3\n58895\t3\n58899\t3\n58900\t3\n58901\t3\n58902\t3\n58905\t3\n58906\t3\n58907\t3\n58912\t3\n58916\t3\n58920\t3\n58926\t3\n58933\t3\n58942\t3\n58951\t3\n58953\t3\n58966\t3\n58967\t3\n58970\t3\n58973\t3\n58980\t3\n58988\t3\n58991\t3\n59004\t3\n59007\t3\n59009\t3\n59014\t3\n59026\t3\n59029\t3\n59032\t3\n59034\t3\n59040\t3\n59046\t3\n59056\t3\n59061\t3\n59063\t3\n59076\t3\n59078\t3\n59080\t3\n59082\t3\n59086\t3\n59091\t3\n59097\t3\n59099\t3\n59105\t3\n59114\t3\n59115\t3\n59126\t3\n59131\t3\n59132\t3\n59140\t3\n59142\t3\n59144\t3\n59164\t3\n59165\t3\n59178\t3\n59184\t3\n59202\t3\n59211\t3\n59221\t3\n59227\t3\n59230\t3\n59235\t3\n59247\t3\n59248\t3\n59255\t3\n59256\t3\n59268\t3\n59280\t3\n59282\t3\n59287\t3\n59291\t3\n59303\t3\n59306\t3\n59310\t3\n59311\t3\n59316\t3\n59318\t3\n59326\t3\n59330\t3\n59331\t3\n59345\t3\n59354\t3\n59355\t3\n59366\t3\n59368\t3\n59370\t3\n59372\t3\n59393\t3\n59399\t3\n59400\t3\n59406\t3\n59410\t3\n59413\t3\n59422\t3\n59427\t3\n59434\t3\n59436\t3\n59447\t3\n59450\t3\n59461\t3\n59462\t3\n59464\t3\n59467\t3\n59474\t3\n59477\t3\n59492\t3\n59497\t3\n59499\t3\n59503\t3\n59504\t3\n59514\t3\n59518\t3\n59522\t3\n59523\t3\n59528\t3\n59538\t3\n59541\t3\n59544\t3\n59546\t3\n59548\t3\n59564\t3\n59566\t3\n59567\t3\n59580\t3\n59582\t3\n59591\t3\n59593\t3\n59596\t3\n59598\t3\n59600\t3\n59602\t3\n59604\t3\n59610\t3\n59617\t3\n59619\t3\n59620\t3\n59622\t3\n59624\t3\n59627\t3\n59634\t3\n59644\t3\n59649\t3\n59653\t3\n59668\t3\n59676\t3\n59679\t3\n59686\t3\n59690\t3\n59691\t3\n59693\t3\n59704\t3\n59705\t3\n59707\t3\n59725\t3\n59739\t3\n59747\t3\n59753\t3\n59755\t3\n59757\t3\n59759\t3\n59760\t3\n59764\t3\n59770\t3\n59773\t3\n59776\t3\n59779\t3\n59781\t3\n59783\t3\n59793\t3\n59798\t3\n59806\t3\n59811\t3\n59814\t3\n59825\t3\n59828\t3\n59829\t3\n59832\t3\n59865\t3\n59871\t3\n59874\t3\n59890\t3\n59896\t3\n59897\t3\n59903\t3\n59905\t3\n59911\t3\n59912\t3\n59918\t3\n59924\t3\n59937\t3\n59939\t3\n59943\t3\n59946\t3\n59951\t3\n59953\t3\n59955\t3\n59965\t3\n59966\t3\n59992\t3\n59994\t3\n59996\t3\n60001\t3\n60003\t3\n60016\t3\n60034\t3\n60040\t3\n60047\t3\n60055\t3\n60057\t3\n60059\t3\n60064\t3\n60072\t3\n60078\t3\n60086\t3\n60087\t3\n60091\t3\n60094\t3\n60104\t3\n60110\t3\n60119\t3\n60129\t3\n60139\t3\n60147\t3\n60156\t3\n60159\t3\n60168\t3\n60169\t3\n60171\t3\n60172\t3\n60173\t3\n60182\t3\n60185\t3\n60191\t3\n60211\t3\n60214\t3\n60224\t3\n60228\t3\n60232\t3\n60236\t3\n60237\t3\n60252\t3\n60271\t3\n60272\t3\n60274\t3\n60283\t3\n60286\t3\n60287\t3\n60296\t3\n60320\t3\n60321\t3\n60322\t3\n60325\t3\n60326\t3\n60330\t3\n60332\t3\n60335\t3\n60340\t3\n60345\t3\n60346\t3\n60348\t3\n60349\t3\n60357\t3\n60362\t3\n60363\t3\n60369\t3\n60381\t3\n60386\t3\n60389\t3\n60390\t3\n60413\t3\n60422\t3\n60428\t3\n60437\t3\n60454\t3\n60455\t3\n60457\t3\n60468\t3\n60474\t3\n60477\t3\n60479\t3\n60481\t3\n60483\t3\n60485\t3\n60497\t3\n60499\t3\n60500\t3\n60509\t3\n60519\t3\n60542\t3\n60544\t3\n60547\t3\n60551\t3\n60554\t3\n60571\t3\n60593\t3\n60605\t3\n60617\t3\n60621\t3\n60622\t3\n60631\t3\n60641\t3\n60667\t3\n60678\t3\n60682\t3\n60683\t3\n60693\t3\n60694\t3\n60735\t3\n60739\t3\n60741\t3\n60746\t3\n60751\t3\n60753\t3\n60755\t3\n60758\t3\n60760\t3\n60775\t3\n60776\t3\n60780\t3\n60787\t3\n60799\t3\n60801\t3\n60804\t3\n60807\t3\n60813\t3\n60828\t3\n60849\t3\n60857\t3\n60858\t3\n60866\t3\n60869\t3\n60871\t3\n60885\t3\n60892\t3\n60899\t3\n60912\t3\n60924\t3\n60930\t3\n60932\t3\n60933\t3\n60934\t3\n60939\t3\n60941\t3\n60944\t3\n60947\t3\n60979\t3\n60985\t3\n60992\t3\n60999\t3\n61000\t3\n61003\t3\n61004\t3\n61007\t3\n61009\t3\n61026\t3\n61027\t3\n61029\t3\n61030\t3\n61031\t3\n61032\t3\n61034\t3\n61039\t3\n61041\t3\n61043\t3\n61048\t3\n61058\t3\n61068\t3\n61069\t3\n61071\t3\n61077\t3\n61087\t3\n61093\t3\n61095\t3\n61101\t3\n61105\t3\n61113\t3\n61115\t3\n61124\t3\n61125\t3\n61128\t3\n61133\t3\n61142\t3\n61146\t3\n61152\t3\n61155\t3\n61157\t3\n61160\t3\n61161\t3\n61162\t3\n61163\t3\n61164\t3\n61174\t3\n61180\t3\n61190\t3\n61196\t3\n61199\t3\n61201\t3\n61203\t3\n61214\t3\n61216\t3\n61221\t3\n61224\t3\n61230\t3\n61232\t3\n61234\t3\n61239\t3\n61244\t3\n61260\t3\n61272\t3\n61274\t3\n61285\t3\n61292\t3\n61299\t3\n61323\t3\n61332\t3\n61334\t3\n61353\t3\n61354\t3\n61360\t3\n61362\t3\n61376\t3\n61379\t3\n61383\t3\n61392\t3\n61394\t3\n61395\t3\n61398\t3\n61407\t3\n61419\t3\n61421\t3\n61426\t3\n61427\t3\n61429\t3\n61430\t3\n61450\t3\n61460\t3\n61462\t3\n61464\t3\n61466\t3\n61468\t3\n61473\t3\n61485\t3\n61486\t3\n61493\t3\n61498\t3\n61501\t3\n61504\t3\n61510\t3\n61515\t3\n61516\t3\n61517\t3\n61524\t3\n61531\t3\n61535\t3\n61540\t3\n61549\t3\n61567\t3\n61568\t3\n61574\t3\n61575\t3\n61580\t3\n61584\t3\n61591\t3\n61596\t3\n61599\t3\n61600\t3\n61601\t3\n61607\t3\n61610\t3\n61611\t3\n61614\t3\n61629\t3\n61635\t3\n61640\t3\n61641\t3\n61653\t3\n61657\t3\n61663\t3\n61672\t3\n61675\t3\n61678\t3\n61683\t3\n61692\t3\n61696\t3\n61697\t3\n61711\t3\n61712\t3\n61731\t3\n61737\t3\n61738\t3\n61740\t3\n61743\t3\n61744\t3\n61754\t3\n61755\t3\n61761\t3\n61769\t3\n61772\t3\n61776\t3\n61782\t3\n61786\t3\n61795\t3\n61804\t3\n61812\t3\n61814\t3\n61816\t3\n61817\t3\n61830\t3\n61832\t3\n61835\t3\n61836\t3\n61841\t3\n61844\t3\n61847\t3\n61848\t3\n61849\t3\n61850\t3\n61854\t3\n61855\t3\n61861\t3\n61862\t3\n61863\t3\n61865\t3\n61878\t3\n61892\t3\n61905\t3\n61909\t3\n61914\t3\n61919\t3\n61922\t3\n61927\t3\n61928\t3\n61933\t3\n61934\t3\n61935\t3\n61943\t3\n61944\t3\n61950\t3\n61952\t3\n61954\t3\n61955\t3\n61956\t3\n61960\t3\n61968\t3\n61971\t3\n61988\t3\n61996\t3\n62010\t3\n62017\t3\n62021\t3\n62032\t3\n62044\t3\n62045\t3\n62064\t3\n62067\t3\n62069\t3\n62074\t3\n62078\t3\n62085\t3\n62092\t3\n62095\t3\n62099\t3\n62101\t3\n62102\t3\n62104\t3\n62109\t3\n62113\t3\n62115\t3\n62116\t3\n62122\t3\n62126\t3\n62130\t3\n62132\t3\n62136\t3\n62137\t3\n62146\t3\n62150\t3\n62154\t3\n62155\t3\n62159\t3\n62160\t3\n62162\t3\n62173\t3\n62179\t3\n62187\t3\n62188\t3\n62189\t3\n62195\t3\n62198\t3\n62200\t3\n62225\t3\n62232\t3\n62238\t3\n62240\t3\n62250\t3\n62257\t3\n62258\t3\n62267\t3\n62275\t3\n62279\t3\n62283\t3\n62285\t3\n62291\t3\n62295\t3\n62304\t3\n62307\t3\n62309\t3\n62312\t3\n62316\t3\n62324\t3\n62341\t3\n62342\t3\n62350\t3\n62357\t3\n62422\t3\n62427\t3\n62434\t3\n62436\t3\n62447\t3\n62449\t3\n62455\t3\n62458\t3\n62459\t3\n62462\t3\n62465\t3\n62474\t3\n62481\t3\n62492\t3\n62494\t3\n62495\t3\n62499\t3\n62500\t3\n62501\t3\n62502\t3\n62511\t3\n62515\t3\n62517\t3\n62519\t3\n62521\t3\n62528\t3\n62529\t3\n62535\t3\n62536\t3\n62540\t3\n62543\t3\n62549\t3\n62553\t3\n62563\t3\n62566\t3\n62583\t3\n62590\t3\n62594\t3\n62595\t3\n62608\t3\n62611\t3\n62628\t3\n62644\t3\n62655\t3\n62662\t3\n62667\t3\n62669\t3\n62670\t3\n62683\t3\n62684\t3\n62686\t3\n62687\t3\n62690\t3\n62693\t3\n62698\t3\n62700\t3\n62705\t3\n62714\t3\n62718\t3\n62719\t3\n62725\t3\n62730\t3\n62736\t3\n62737\t3\n62749\t3\n62750\t3\n62754\t3\n62758\t3\n62765\t3\n62779\t3\n62787\t3\n62789\t3\n62797\t3\n62805\t3\n62813\t3\n62815\t3\n62816\t3\n62819\t3\n62822\t3\n62829\t3\n62835\t3\n62839\t3\n62843\t3\n62845\t3\n62853\t3\n62867\t3\n62874\t3\n62883\t3\n62885\t3\n62895\t3\n62912\t3\n62914\t3\n62919\t3\n62922\t3\n62929\t3\n62932\t3\n62933\t3\n62937\t3\n62949\t3\n62962\t3\n62967\t3\n62969\t3\n62972\t3\n62973\t3\n63003\t3\n63007\t3\n63010\t3\n63016\t3\n63017\t3\n63019\t3\n63031\t3\n63034\t3\n63041\t3\n63044\t3\n63046\t3\n63050\t3\n63051\t3\n63056\t3\n63057\t3\n63062\t3\n63070\t3\n63080\t3\n63084\t3\n63098\t3\n63099\t3\n63115\t3\n63117\t3\n63121\t3\n63124\t3\n63125\t3\n63141\t3\n63149\t3\n63153\t3\n63155\t3\n63156\t3\n63160\t3\n63164\t3\n63165\t3\n63166\t3\n63169\t3\n63171\t3\n63198\t3\n63201\t3\n63210\t3\n63217\t3\n63221\t3\n63241\t3\n63243\t3\n63244\t3\n63251\t3\n63252\t3\n63258\t3\n63259\t3\n63264\t3\n63271\t3\n63273\t3\n63276\t3\n63277\t3\n63287\t3\n63291\t3\n63296\t3\n63298\t3\n63300\t3\n63302\t3\n63308\t3\n63309\t3\n63315\t3\n63317\t3\n63319\t3\n63322\t3\n63323\t3\n63325\t3\n63339\t3\n63347\t3\n63363\t3\n63366\t3\n63389\t3\n63394\t3\n63400\t3\n63408\t3\n63420\t3\n63425\t3\n63436\t3\n63441\t3\n63449\t3\n63479\t3\n63484\t3\n63485\t3\n63488\t3\n63498\t3\n63504\t3\n63510\t3\n63523\t3\n63527\t3\n63537\t3\n63570\t3\n63577\t3\n63600\t3\n63615\t3\n63629\t3\n63636\t3\n63637\t3\n63638\t3\n63651\t3\n63654\t3\n63661\t3\n63675\t3\n63680\t3\n63682\t3\n63687\t3\n63692\t3\n63693\t3\n63695\t3\n63696\t3\n63700\t3\n63710\t3\n63716\t3\n63719\t3\n63724\t3\n63730\t3\n63731\t3\n63735\t3\n63745\t3\n63754\t3\n63757\t3\n63764\t3\n63771\t3\n63776\t3\n63777\t3\n63780\t3\n63784\t3\n63788\t3\n63790\t3\n63795\t3\n63796\t3\n63803\t3\n63805\t3\n63810\t3\n63826\t3\n63831\t3\n63834\t3\n63841\t3\n63846\t3\n63861\t3\n63864\t3\n63867\t3\n63879\t3\n63882\t3\n63885\t3\n63888\t3\n63902\t3\n63908\t3\n63915\t3\n63931\t3\n63934\t3\n63942\t3\n63943\t3\n63955\t3\n63961\t3\n63967\t3\n63968\t3\n63981\t3\n63996\t3\n63997\t3\n63998\t3\n64008\t3\n64011\t3\n64013\t3\n64032\t3\n64034\t3\n64035\t3\n64047\t3\n64048\t3\n64050\t3\n64054\t3\n64056\t3\n64062\t3\n64064\t3\n64066\t3\n64067\t3\n64068\t3\n64070\t3\n64071\t3\n64074\t3\n64084\t3\n64092\t3\n64094\t3\n64096\t3\n64099\t3\n64111\t3\n64122\t3\n64132\t3\n64139\t3\n64147\t3\n64148\t3\n64149\t3\n64151\t3\n64154\t3\n64167\t3\n64170\t3\n64173\t3\n64176\t3\n64186\t3\n64205\t3\n64210\t3\n64212\t3\n64214\t3\n64237\t3\n64242\t3\n64245\t3\n64250\t3\n64252\t3\n64263\t3\n64270\t3\n64275\t3\n64295\t3\n64297\t3\n64315\t3\n64317\t3\n64320\t3\n64329\t3\n64331\t3\n64343\t3\n64347\t3\n64350\t3\n64363\t3\n64375\t3\n64388\t3\n64397\t3\n64405\t3\n64406\t3\n64408\t3\n64434\t3\n64435\t3\n64442\t3\n64449\t3\n64453\t3\n64457\t3\n64459\t3\n64467\t3\n64487\t3\n64495\t3\n64499\t3\n64501\t3\n64507\t3\n64516\t3\n64519\t3\n64540\t3\n64543\t3\n64546\t3\n64554\t3\n64555\t3\n64558\t3\n64561\t3\n64565\t3\n64570\t3\n64581\t3\n64584\t3\n64593\t3\n64606\t3\n64608\t3\n64611\t3\n64613\t3\n64614\t3\n64618\t3\n64619\t3\n64639\t3\n64654\t3\n64657\t3\n64658\t3\n64661\t3\n64667\t3\n64669\t3\n64671\t3\n64679\t3\n64686\t3\n64689\t3\n64705\t3\n64708\t3\n64713\t3\n64714\t3\n64716\t3\n64719\t3\n64720\t3\n64733\t3\n64739\t3\n64750\t3\n64757\t3\n64760\t3\n64764\t3\n64771\t3\n64785\t3\n64787\t3\n64792\t3\n64795\t3\n64840\t3\n64843\t3\n64852\t3\n64853\t3\n64863\t3\n64883\t3\n64904\t3\n64908\t3\n64909\t3\n64919\t3\n64922\t3\n64923\t3\n64931\t3\n64947\t3\n64949\t3\n64952\t3\n64955\t3\n64957\t3\n64958\t3\n64968\t3\n64971\t3\n64972\t3\n64983\t3\n64986\t3\n64992\t3\n65004\t3\n65021\t3\n65028\t3\n65039\t3\n65050\t3\n65054\t3\n65057\t3\n65058\t3\n65060\t3\n65063\t3\n65069\t3\n65070\t3\n65079\t3\n65083\t3\n65086\t3\n65090\t3\n65098\t3\n65101\t3\n65107\t3\n65108\t3\n65109\t3\n65111\t3\n65122\t3\n65128\t3\n65129\t3\n65136\t3\n65141\t3\n65144\t3\n65159\t3\n65162\t3\n65164\t3\n65167\t3\n65169\t3\n65173\t3\n65174\t3\n65175\t3\n65178\t3\n65183\t3\n65187\t3\n65204\t3\n65206\t3\n65224\t3\n65225\t3\n65230\t3\n65249\t3\n65256\t3\n65259\t3\n65262\t3\n65264\t3\n65270\t3\n65278\t3\n65291\t3\n65296\t3\n65305\t3\n65309\t3\n65322\t3\n65325\t3\n65337\t3\n65339\t3\n65349\t3\n65352\t3\n65353\t3\n65354\t3\n65358\t3\n65360\t3\n65365\t3\n65366\t3\n65367\t3\n65376\t3\n65378\t3\n65380\t3\n65397\t3\n65398\t3\n65420\t3\n65421\t3\n65428\t3\n65435\t3\n65436\t3\n65448\t3\n65452\t3\n65455\t3\n65462\t3\n65468\t3\n65474\t3\n65481\t3\n65486\t3\n65489\t3\n65498\t3\n65499\t3\n65500\t3\n65510\t3\n65523\t3\n65528\t3\n65541\t3\n65546\t3\n65553\t3\n65557\t3\n65581\t3\n65588\t3\n65594\t3\n65596\t3\n65601\t3\n65603\t3\n65608\t3\n65615\t3\n65617\t3\n65618\t3\n65621\t3\n65623\t3\n65632\t3\n65634\t3\n65635\t3\n65644\t3\n65647\t3\n65653\t3\n65654\t3\n65657\t3\n65662\t3\n65670\t3\n65676\t3\n65699\t3\n65703\t3\n65724\t3\n65725\t3\n65741\t3\n65744\t3\n65752\t3\n65753\t3\n65756\t3\n65761\t3\n65764\t3\n65790\t3\n65792\t3\n65799\t3\n65801\t3\n65814\t3\n65824\t3\n65862\t3\n65870\t3\n65879\t3\n65884\t3\n65885\t3\n65897\t3\n65903\t3\n65911\t3\n65914\t3\n65919\t3\n65933\t3\n65937\t3\n65941\t3\n65945\t3\n65948\t3\n65957\t3\n65964\t3\n65965\t3\n65969\t3\n65988\t3\n65990\t3\n65993\t3\n66018\t3\n66021\t3\n66027\t3\n66037\t3\n66038\t3\n66040\t3\n66047\t3\n66056\t3\n66057\t3\n66061\t3\n66067\t3\n66075\t3\n66089\t3\n66090\t3\n66091\t3\n66092\t3\n66094\t3\n66095\t3\n66128\t3\n66142\t3\n66143\t3\n66161\t3\n66168\t3\n66169\t3\n66178\t3\n66198\t3\n66200\t3\n66207\t3\n66211\t3\n66222\t3\n66223\t3\n66226\t3\n66231\t3\n66233\t3\n66247\t3\n66261\t3\n66263\t3\n66277\t3\n66280\t3\n66286\t3\n66287\t3\n66289\t3\n66304\t3\n66319\t3\n66324\t3\n66331\t3\n66332\t3\n66335\t3\n66339\t3\n66343\t3\n66347\t3\n66349\t3\n66350\t3\n66354\t3\n66356\t3\n66358\t3\n66365\t3\n66373\t3\n66379\t3\n66387\t3\n66388\t3\n66390\t3\n66397\t3\n66398\t3\n66405\t3\n66419\t3\n66420\t3\n66426\t3\n66434\t3\n66439\t3\n66451\t3\n66454\t3\n66456\t3\n66457\t3\n66458\t3\n66459\t3\n66461\t3\n66473\t3\n66475\t3\n66481\t3\n66487\t3\n66513\t3\n66515\t3\n66518\t3\n66519\t3\n66524\t3\n66532\t3\n66537\t3\n66543\t3\n66547\t3\n66550\t3\n66553\t3\n66561\t3\n66563\t3\n66568\t3\n66571\t3\n66581\t3\n66590\t3\n66591\t3\n66594\t3\n66595\t3\n66599\t3\n66601\t3\n66603\t3\n66606\t3\n66608\t3\n66610\t3\n66613\t3\n66614\t3\n66616\t3\n66622\t3\n66623\t3\n66626\t3\n66627\t3\n66628\t3\n66632\t3\n66634\t3\n66643\t3\n66645\t3\n66652\t3\n66660\t3\n66662\t3\n66663\t3\n66666\t3\n66696\t3\n66708\t3\n66709\t3\n66714\t3\n66715\t3\n66732\t3\n66737\t3\n66739\t3\n66744\t3\n66745\t3\n66749\t3\n66754\t3\n66758\t3\n66759\t3\n66765\t3\n66769\t3\n66775\t3\n66778\t3\n66779\t3\n66781\t3\n66784\t3\n66788\t3\n66798\t3\n66802\t3\n66819\t3\n66829\t3\n66843\t3\n66856\t3\n66865\t3\n66871\t3\n66881\t3\n66887\t3\n66891\t3\n66894\t3\n66899\t3\n66907\t3\n66915\t3\n66918\t3\n66923\t3\n66931\t3\n66934\t3\n66937\t3\n66944\t3\n66952\t3\n66956\t3\n66959\t3\n66961\t3\n66962\t3\n66969\t3\n66970\t3\n66985\t3\n66989\t3\n66990\t3\n66994\t3\n67007\t3\n67008\t3\n67011\t3\n67016\t3\n67034\t3\n67036\t3\n67038\t3\n67041\t3\n67042\t3\n67046\t3\n67048\t3\n67054\t3\n67056\t3\n67062\t3\n67063\t3\n67068\t3\n67071\t3\n67078\t3\n67080\t3\n67085\t3\n67094\t3\n67097\t3\n67102\t3\n67104\t3\n67105\t3\n67107\t3\n67110\t3\n67119\t3\n67132\t3\n67134\t3\n67136\t3\n67142\t3\n67148\t3\n67158\t3\n67162\t3\n67170\t3\n67178\t3\n67179\t3\n67184\t3\n67192\t3\n67195\t3\n67202\t3\n67211\t3\n67221\t3\n67227\t3\n67228\t3\n67235\t3\n67241\t3\n67245\t3\n67249\t3\n67263\t3\n67269\t3\n67273\t3\n67285\t3\n67289\t3\n67295\t3\n67296\t3\n67316\t3\n67317\t3\n67319\t3\n67320\t3\n67330\t3\n67332\t3\n67339\t3\n67342\t3\n67343\t3\n67353\t3\n67358\t3\n67359\t3\n67380\t3\n67392\t3\n67395\t3\n67397\t3\n67401\t3\n67412\t3\n67414\t3\n67416\t3\n67419\t3\n67431\t3\n67435\t3\n67438\t3\n67440\t3\n67442\t3\n67467\t3\n67470\t3\n67471\t3\n67475\t3\n67478\t3\n67481\t3\n67484\t3\n67491\t3\n67496\t3\n67498\t3\n67502\t3\n67508\t3\n67519\t3\n67525\t3\n67526\t3\n67529\t3\n67538\t3\n67539\t3\n67556\t3\n67561\t3\n67568\t3\n67571\t3\n67573\t3\n67578\t3\n67582\t3\n67583\t3\n67592\t3\n67597\t3\n67610\t3\n67618\t3\n67636\t3\n67642\t3\n67644\t3\n67650\t3\n67660\t3\n67691\t3\n67696\t3\n67701\t3\n67705\t3\n67711\t3\n67717\t3\n67723\t3\n67724\t3\n67729\t3\n67739\t3\n67741\t3\n67749\t3\n67757\t3\n67765\t3\n67783\t3\n67786\t3\n67788\t3\n67791\t3\n67797\t3\n67799\t3\n67804\t3\n67818\t3\n67820\t3\n67822\t3\n67823\t3\n67828\t3\n67829\t3\n67830\t3\n67832\t3\n67834\t3\n67841\t3\n67845\t3\n67846\t3\n67847\t3\n67849\t3\n67851\t3\n67855\t3\n67871\t3\n67881\t3\n67887\t3\n67888\t3\n67893\t3\n67904\t3\n67905\t3\n67906\t3\n67908\t3\n67909\t3\n67917\t3\n67922\t3\n67930\t3\n67940\t3\n67943\t3\n67949\t3\n67951\t3\n67953\t3\n67954\t3\n67968\t3\n67972\t3\n67973\t3\n67977\t3\n67991\t3\n68010\t3\n68013\t3\n68031\t3\n68036\t3\n68037\t3\n68039\t3\n68043\t3\n68053\t3\n68057\t3\n68064\t3\n68071\t3\n68075\t3\n68076\t3\n68082\t3\n68083\t3\n68084\t3\n68086\t3\n68091\t3\n68099\t3\n68105\t3\n68106\t3\n68107\t3\n68113\t3\n68115\t3\n68116\t3\n68118\t3\n68125\t3\n68129\t3\n68148\t3\n68153\t3\n68155\t3\n68156\t3\n68163\t3\n68167\t3\n68171\t3\n68172\t3\n68177\t3\n68181\t3\n68190\t3\n68193\t3\n68208\t3\n68209\t3\n68212\t3\n68223\t3\n68232\t3\n68233\t3\n68234\t3\n68239\t3\n68245\t3\n68246\t3\n68249\t3\n68250\t3\n68252\t3\n68255\t3\n68274\t3\n68275\t3\n68280\t3\n68287\t3\n68290\t3\n68304\t3\n68306\t3\n68317\t3\n68322\t3\n68328\t3\n68332\t3\n68335\t3\n68341\t3\n68353\t3\n68357\t3\n68364\t3\n68367\t3\n68369\t3\n68373\t3\n68380\t3\n68389\t3\n68393\t3\n68397\t3\n68414\t3\n68416\t3\n68426\t3\n68434\t3\n68437\t3\n68447\t3\n68450\t3\n68472\t3\n68473\t3\n68484\t3\n68486\t3\n68492\t3\n68497\t3\n68506\t3\n68517\t3\n68521\t3\n68526\t3\n68531\t3\n68534\t3\n68536\t3\n68545\t3\n68549\t3\n68556\t3\n68558\t3\n68576\t3\n68578\t3\n68580\t3\n68584\t3\n68589\t3\n68601\t3\n68609\t3\n68610\t3\n68614\t3\n68619\t3\n68630\t3\n68632\t3\n68635\t3\n68645\t3\n68646\t3\n68650\t3\n68652\t3\n68655\t3\n68659\t3\n68667\t3\n68676\t3\n68684\t3\n68685\t3\n68702\t3\n68714\t3\n68737\t3\n68747\t3\n68751\t3\n68766\t3\n68767\t3\n68774\t3\n68781\t3\n68814\t3\n68819\t3\n68826\t3\n68827\t3\n68841\t3\n68842\t3\n68844\t3\n68849\t3\n68852\t3\n68856\t3\n68858\t3\n68869\t3\n68876\t3\n68895\t3\n68901\t3\n68905\t3\n68910\t3\n68914\t3\n68922\t3\n68925\t3\n68930\t3\n68931\t3\n68934\t3\n68935\t3\n68937\t3\n68946\t3\n68958\t3\n68967\t3\n68976\t3\n68992\t3\n68996\t3\n69003\t3\n69013\t3\n69018\t3\n69019\t3\n69026\t3\n69027\t3\n69030\t3\n69052\t3\n69058\t3\n69060\t3\n69064\t3\n69073\t3\n69076\t3\n69080\t3\n69085\t3\n69089\t3\n69092\t3\n69093\t3\n69106\t3\n69109\t3\n69115\t3\n69117\t3\n69122\t3\n69131\t3\n69137\t3\n69141\t3\n69142\t3\n69158\t3\n69159\t3\n69164\t3\n69166\t3\n69172\t3\n69189\t3\n69196\t3\n69200\t3\n69212\t3\n69213\t3\n69220\t3\n69221\t3\n69252\t3\n69256\t3\n69259\t3\n69262\t3\n69270\t3\n69272\t3\n69275\t3\n69281\t3\n69282\t3\n69291\t3\n69309\t3\n69323\t3\n69348\t3\n69353\t3\n69356\t3\n69369\t3\n69373\t3\n69381\t3\n69392\t3\n69395\t3\n69407\t3\n69417\t3\n69419\t3\n69426\t3\n69427\t3\n69428\t3\n69434\t3\n69441\t3\n69446\t3\n69450\t3\n69456\t3\n69477\t3\n69481\t3\n69492\t3\n69505\t3\n69506\t3\n69525\t3\n69535\t3\n69548\t3\n69552\t3\n69554\t3\n69559\t3\n69593\t3\n69599\t3\n69604\t3\n69609\t3\n69611\t3\n69628\t3\n69631\t3\n69638\t3\n69642\t3\n69644\t3\n69646\t3\n69647\t3\n69649\t3\n69651\t3\n69662\t3\n69666\t3\n69669\t3\n69674\t3\n69678\t3\n69679\t3\n69695\t3\n69696\t3\n69705\t3\n69712\t3\n69714\t3\n69718\t3\n69727\t3\n69732\t3\n69738\t3\n69739\t3\n69741\t3\n69742\t3\n69770\t3\n69773\t3\n69777\t3\n69779\t3\n69790\t3\n69798\t3\n69800\t3\n69809\t3\n69810\t3\n69819\t3\n69831\t3\n69836\t3\n69841\t3\n69844\t3\n69846\t3\n69849\t3\n69855\t3\n69862\t3\n69868\t3\n69875\t3\n69891\t3\n69897\t3\n69899\t3\n69904\t3\n69908\t3\n69912\t3\n69922\t3\n69924\t3\n69931\t3\n69935\t3\n69938\t3\n69939\t3\n69944\t3\n69950\t3\n69952\t3\n69955\t3\n69957\t3\n69959\t3\n69961\t3\n69962\t3\n69963\t3\n69964\t3\n69970\t3\n69976\t3\n69982\t3\n69988\t3\n69995\t3\n70014\t3\n70017\t3\n70027\t3\n70031\t3\n70034\t3\n70035\t3\n70037\t3\n70040\t3\n70046\t3\n70057\t3\n70063\t3\n70064\t3\n70065\t3\n70072\t3\n70078\t3\n70080\t3\n70091\t3\n70099\t3\n70104\t3\n70114\t3\n70130\t3\n70132\t3\n70134\t3\n70137\t3\n70145\t3\n70149\t3\n70152\t3\n70155\t3\n70163\t3\n70169\t3\n70171\t3\n70178\t3\n70180\t3\n70187\t3\n70191\t3\n70196\t3\n70197\t3\n70201\t3\n70209\t3\n70223\t3\n70224\t3\n70228\t3\n70231\t3\n70240\t3\n70243\t3\n70248\t3\n70259\t3\n70262\t3\n70267\t3\n70276\t3\n70278\t3\n70288\t3\n70298\t3\n70309\t3\n70312\t3\n70319\t3\n70324\t3\n70330\t3\n70331\t3\n70337\t3\n70342\t3\n70346\t3\n70354\t3\n70358\t3\n70364\t3\n70367\t3\n70371\t3\n70372\t3\n70380\t3\n70391\t3\n70394\t3\n70398\t3\n70413\t3\n70419\t3\n70431\t3\n70432\t3\n70436\t3\n70446\t3\n70455\t3\n70459\t3\n70480\t3\n70482\t3\n70486\t3\n70492\t3\n70493\t3\n70506\t3\n70518\t3\n70520\t3\n70536\t3\n70537\t3\n70543\t3\n70548\t3\n70560\t3\n70562\t3\n70566\t3\n70569\t3\n70577\t3\n70579\t3\n70582\t3\n70589\t3\n70590\t3\n70609\t3\n70611\t3\n70614\t3\n70615\t3\n70618\t3\n70630\t3\n70631\t3\n70638\t3\n70639\t3\n70646\t3\n70651\t3\n70661\t3\n70671\t3\n70673\t3\n70678\t3\n70681\t3\n70683\t3\n70693\t3\n70696\t3\n70697\t3\n70701\t3\n70707\t3\n70714\t3\n70721\t3\n70723\t3\n70730\t3\n70731\t3\n70738\t3\n70743\t3\n70747\t3\n70750\t3\n70760\t3\n70773\t3\n70785\t3\n70786\t3\n70797\t3\n70799\t3\n70800\t3\n70805\t3\n70807\t3\n70814\t3\n70815\t3\n70819\t3\n70820\t3\n70829\t3\n70835\t3\n70837\t3\n70875\t3\n70888\t3\n70893\t3\n70896\t3\n70899\t3\n70900\t3\n70903\t3\n70908\t3\n70915\t3\n70917\t3\n70921\t3\n70923\t3\n70930\t3\n70932\t3\n70935\t3\n70937\t3\n70938\t3\n70942\t3\n70947\t3\n70951\t3\n70952\t3\n70954\t3\n70971\t3\n70974\t3\n70977\t3\n70992\t3\n70993\t3\n70996\t3\n70998\t3\n71016\t3\n71022\t3\n71027\t3\n71031\t3\n71032\t3\n71038\t3\n71045\t3\n71049\t3\n71051\t3\n71055\t3\n71059\t3\n71072\t3\n71076\t3\n71086\t3\n71088\t3\n71089\t3\n71096\t3\n71098\t3\n71118\t3\n71119\t3\n71126\t3\n71128\t3\n71129\t3\n71150\t3\n71163\t3\n71165\t3\n71168\t3\n71169\t3\n71172\t3\n71175\t3\n71181\t3\n71200\t3\n71201\t3\n71206\t3\n71207\t3\n71208\t3\n71212\t3\n71216\t3\n71218\t3\n71229\t3\n71237\t3\n71245\t3\n71254\t3\n71258\t3\n71259\t3\n71262\t3\n71264\t3\n71265\t3\n71269\t3\n71292\t3\n71300\t3\n71311\t3\n71312\t3\n71323\t3\n71324\t3\n71329\t3\n71338\t3\n71352\t3\n71354\t3\n71392\t3\n71394\t3\n71398\t3\n71399\t3\n71402\t3\n71425\t3\n71428\t3\n71429\t3\n71434\t3\n71438\t3\n71449\t3\n71460\t3\n71464\t3\n71465\t3\n71468\t3\n71474\t3\n71509\t3\n71511\t3\n71513\t3\n71518\t3\n71524\t3\n71528\t3\n71531\t3\n71541\t3\n71544\t3\n71547\t3\n71552\t3\n71554\t3\n71563\t3\n71567\t3\n71569\t3\n71570\t3\n71571\t3\n71572\t3\n71580\t3\n71581\t3\n71586\t3\n71593\t3\n71597\t3\n71598\t3\n71617\t3\n71618\t3\n71621\t3\n71628\t3\n71630\t3\n71639\t3\n71642\t3\n71651\t3\n71653\t3\n71654\t3\n71655\t3\n71682\t3\n71693\t3\n71702\t3\n71713\t3\n71715\t3\n71716\t3\n71729\t3\n71737\t3\n71753\t3\n71757\t3\n71765\t3\n71771\t3\n71775\t3\n71778\t3\n71780\t3\n71781\t3\n71782\t3\n71797\t3\n71801\t3\n71806\t3\n71810\t3\n71816\t3\n71826\t3\n71831\t3\n71836\t3\n71837\t3\n71838\t3\n71845\t3\n71854\t3\n71856\t3\n71863\t3\n71879\t3\n71891\t3\n71902\t3\n71905\t3\n71907\t3\n71925\t3\n71930\t3\n71933\t3\n71935\t3\n71936\t3\n71944\t3\n71946\t3\n71947\t3\n71948\t3\n71950\t3\n71952\t3\n71954\t3\n71956\t3\n71957\t3\n71964\t3\n71965\t3\n71967\t3\n71968\t3\n71971\t3\n71973\t3\n71979\t3\n71987\t3\n71990\t3\n72002\t3\n72015\t3\n72017\t3\n72041\t3\n72042\t3\n72046\t3\n72050\t3\n72052\t3\n72057\t3\n72065\t3\n72076\t3\n72080\t3\n72097\t3\n72098\t3\n72107\t3\n72116\t3\n72127\t3\n72138\t3\n72143\t3\n72150\t3\n72169\t3\n72171\t3\n72178\t3\n72183\t3\n72184\t3\n72199\t3\n72202\t3\n72203\t3\n72206\t3\n72210\t3\n72211\t3\n72215\t3\n72217\t3\n72227\t3\n72231\t3\n72234\t3\n72238\t3\n72239\t3\n72244\t3\n72245\t3\n72248\t3\n72253\t3\n72255\t3\n72260\t3\n72261\t3\n72263\t3\n72265\t3\n72275\t3\n72277\t3\n72279\t3\n72284\t3\n72286\t3\n72287\t3\n72304\t3\n72317\t3\n72323\t3\n72331\t3\n72336\t3\n72338\t3\n72339\t3\n72340\t3\n72345\t3\n72349\t3\n72354\t3\n72363\t3\n72369\t3\n72375\t3\n72377\t3\n72384\t3\n72392\t3\n72394\t3\n72401\t3\n72409\t3\n72410\t3\n72411\t3\n72413\t3\n72418\t3\n72420\t3\n72431\t3\n72437\t3\n72442\t3\n72444\t3\n72449\t3\n72461\t3\n72463\t3\n72470\t3\n72473\t3\n72475\t3\n72476\t3\n72480\t3\n72483\t3\n72485\t3\n72486\t3\n72487\t3\n72489\t3\n72490\t3\n72493\t3\n72495\t3\n72505\t3\n72537\t3\n72542\t3\n72549\t3\n72557\t3\n72560\t3\n72563\t3\n72564\t3\n72578\t3\n72581\t3\n72583\t3\n72584\t3\n72586\t3\n72587\t3\n72591\t3\n72595\t3\n72596\t3\n72604\t3\n72617\t3\n72627\t3\n72644\t3\n72646\t3\n72660\t3\n72661\t3\n72662\t3\n72666\t3\n72669\t3\n72670\t3\n72675\t3\n72677\t3\n72680\t3\n72691\t3\n72698\t3\n72699\t3\n72709\t3\n72711\t3\n72712\t3\n72717\t3\n72725\t3\n72727\t3\n72729\t3\n72732\t3\n72739\t3\n72740\t3\n72741\t3\n72747\t3\n72751\t3\n72776\t3\n72778\t3\n72782\t3\n72784\t3\n72801\t3\n72814\t3\n72822\t3\n72832\t3\n72841\t3\n72845\t3\n72847\t3\n72848\t3\n72854\t3\n72856\t3\n72860\t3\n72863\t3\n72866\t3\n72872\t3\n72873\t3\n72876\t3\n72877\t3\n72890\t3\n72892\t3\n72904\t3\n72909\t3\n72916\t3\n72919\t3\n72930\t3\n72932\t3\n72949\t3\n72958\t3\n72966\t3\n72980\t3\n72981\t3\n72987\t3\n72993\t3\n72995\t3\n73014\t3\n73025\t3\n73026\t3\n73036\t3\n73038\t3\n73042\t3\n73046\t3\n73047\t3\n73053\t3\n73055\t3\n73056\t3\n73059\t3\n73065\t3\n73066\t3\n73077\t3\n73090\t3\n73104\t3\n73113\t3\n73115\t3\n73121\t3\n73122\t3\n73126\t3\n73129\t3\n73130\t3\n73133\t3\n73134\t3\n73136\t3\n73141\t3\n73158\t3\n73164\t3\n73169\t3\n73172\t3\n73181\t3\n73182\t3\n73188\t3\n73192\t3\n73198\t3\n73200\t3\n73204\t3\n73210\t3\n73216\t3\n73226\t3\n73228\t3\n73230\t3\n73234\t3\n73236\t3\n73238\t3\n73247\t3\n73253\t3\n73254\t3\n73258\t3\n73262\t3\n73265\t3\n73280\t3\n73284\t3\n73292\t3\n73293\t3\n73295\t3\n73297\t3\n73298\t3\n73304\t3\n73306\t3\n73317\t3\n73325\t3\n73327\t3\n73340\t3\n73358\t3\n73362\t3\n73368\t3\n73370\t3\n73377\t3\n73382\t3\n73386\t3\n73390\t3\n73393\t3\n73404\t3\n73412\t3\n73427\t3\n73431\t3\n73446\t3\n73447\t3\n73449\t3\n73458\t3\n73460\t3\n73461\t3\n73463\t3\n73475\t3\n73476\t3\n73478\t3\n73488\t3\n73501\t3\n73505\t3\n73506\t3\n73508\t3\n73512\t3\n73521\t3\n73522\t3\n73526\t3\n73540\t3\n73545\t3\n73558\t3\n73559\t3\n73569\t3\n73573\t3\n73576\t3\n73577\t3\n73591\t3\n73598\t3\n73611\t3\n73612\t3\n73614\t3\n73628\t3\n73637\t3\n73638\t3\n73660\t3\n73661\t3\n73665\t3\n73666\t3\n73667\t3\n73670\t3\n73677\t3\n73679\t3\n73683\t3\n73686\t3\n73691\t3\n73692\t3\n73697\t3\n73707\t3\n73711\t3\n73725\t3\n73734\t3\n73736\t3\n73737\t3\n73738\t3\n73740\t3\n73750\t3\n73752\t3\n73761\t3\n73762\t3\n73766\t3\n73768\t3\n73771\t3\n73778\t3\n73779\t3\n73785\t3\n73789\t3\n73798\t3\n73804\t3\n73806\t3\n73810\t3\n73816\t3\n73819\t3\n73820\t3\n73825\t3\n73834\t3\n73842\t3\n73849\t3\n73859\t3\n73878\t3\n73880\t3\n73894\t3\n73895\t3\n73905\t3\n73909\t3\n73910\t3\n73917\t3\n73932\t3\n73936\t3\n73940\t3\n73941\t3\n73954\t3\n73960\t3\n73967\t3\n73971\t3\n73972\t3\n73979\t3\n73992\t3\n73995\t3\n73999\t3\n74012\t3\n74013\t3\n74018\t3\n74032\t3\n74035\t3\n74040\t3\n74042\t3\n74045\t3\n74047\t3\n74049\t3\n74050\t3\n74064\t3\n74073\t3\n74074\t3\n74084\t3\n74089\t3\n74108\t3\n74121\t3\n74122\t3\n74139\t3\n74141\t3\n74142\t3\n74145\t3\n74153\t3\n74158\t3\n74161\t3\n74167\t3\n74172\t3\n74176\t3\n74191\t3\n74192\t3\n74194\t3\n74196\t3\n74202\t3\n74204\t3\n74214\t3\n74215\t3\n74220\t3\n74225\t3\n74227\t3\n74230\t3\n74232\t3\n74235\t3\n74241\t3\n74242\t3\n74250\t3\n74257\t3\n74260\t3\n74263\t3\n74275\t3\n74280\t3\n74287\t3\n74294\t3\n74308\t3\n74311\t3\n74315\t3\n74319\t3\n74322\t3\n74324\t3\n74337\t3\n74339\t3\n74340\t3\n74347\t3\n74351\t3\n74354\t3\n74365\t3\n74372\t3\n74373\t3\n74374\t3\n74381\t3\n74389\t3\n74392\t3\n74395\t3\n74398\t3\n74401\t3\n74404\t3\n74406\t3\n74407\t3\n74410\t3\n74411\t3\n74417\t3\n74430\t3\n74439\t3\n74453\t3\n74458\t3\n74459\t3\n74471\t3\n74473\t3\n74477\t3\n74489\t3\n74494\t3\n74498\t3\n74507\t3\n74508\t3\n74514\t3\n74523\t3\n74524\t3\n74535\t3\n74536\t3\n74541\t3\n74542\t3\n74543\t3\n74545\t3\n74546\t3\n74548\t3\n74553\t3\n74559\t3\n74561\t3\n74566\t3\n74588\t3\n74589\t3\n74613\t3\n74621\t3\n74634\t3\n74642\t3\n74647\t3\n74648\t3\n74652\t3\n74668\t3\n74671\t3\n74677\t3\n74678\t3\n74680\t3\n74699\t3\n74700\t3\n74713\t3\n74716\t3\n74717\t3\n74721\t3\n74722\t3\n74728\t3\n74734\t3\n74736\t3\n74744\t3\n74746\t3\n74758\t3\n74759\t3\n74761\t3\n74774\t3\n74775\t3\n74778\t3\n74788\t3\n74802\t3\n74803\t3\n74804\t3\n74807\t3\n74809\t3\n74815\t3\n74817\t3\n74819\t3\n74824\t3\n74827\t3\n74829\t3\n74835\t3\n74844\t3\n74848\t3\n74861\t3\n74873\t3\n74880\t3\n74884\t3\n74889\t3\n74893\t3\n74894\t3\n74895\t3\n74898\t3\n74899\t3\n74903\t3\n74908\t3\n74912\t3\n74914\t3\n74916\t3\n74925\t3\n74929\t3\n74944\t3\n74949\t3\n74957\t3\n74958\t3\n74964\t3\n74969\t3\n74971\t3\n74980\t3\n74984\t3\n74999\t3\n75003\t3\n75013\t3\n75018\t3\n75025\t3\n75034\t3\n75065\t3\n75066\t3\n75068\t3\n75075\t3\n75079\t3\n75082\t3\n75083\t3\n75087\t3\n75090\t3\n75097\t3\n75100\t3\n75102\t3\n75114\t3\n75121\t3\n75122\t3\n75129\t3\n75139\t3\n75141\t3\n75144\t3\n75150\t3\n75155\t3\n75157\t3\n75166\t3\n75173\t3\n75174\t3\n75177\t3\n75190\t3\n75194\t3\n75195\t3\n75196\t3\n75197\t3\n75200\t3\n75218\t3\n75223\t3\n75227\t3\n75232\t3\n75238\t3\n75243\t3\n75251\t3\n75261\t3\n75263\t3\n75268\t3\n75272\t3\n75273\t3\n75274\t3\n75285\t3\n75286\t3\n75289\t3\n75292\t3\n75306\t3\n75309\t3\n75317\t3\n75319\t3\n75327\t3\n75330\t3\n75331\t3\n75332\t3\n75338\t3\n75352\t3\n75361\t3\n75362\t3\n75374\t3\n75380\t3\n75384\t3\n75385\t3\n75386\t3\n75387\t3\n75388\t3\n75394\t3\n75398\t3\n75405\t3\n75413\t3\n75420\t3\n75427\t3\n75430\t3\n75433\t3\n75439\t3\n75450\t3\n75452\t3\n75475\t3\n75486\t3\n75488\t3\n75513\t3\n75522\t3\n75525\t3\n75526\t3\n75545\t3\n75554\t3\n75559\t3\n75575\t3\n75578\t3\n75583\t3\n75584\t3\n75585\t3\n75587\t3\n75593\t3\n75595\t3\n75599\t3\n75601\t3\n75607\t3\n75622\t3\n75623\t3\n75624\t3\n75628\t3\n75633\t3\n75636\t3\n75640\t3\n75642\t3\n75650\t3\n75651\t3\n75678\t3\n75694\t3\n75696\t3\n75702\t3\n75705\t3\n75714\t3\n75715\t3\n75719\t3\n75732\t3\n75734\t3\n75738\t3\n75744\t3\n75748\t3\n75756\t3\n75767\t3\n75775\t3\n75776\t3\n75784\t3\n75786\t3\n75794\t3\n75797\t3\n75800\t3\n75814\t3\n75830\t3\n75834\t3\n75843\t3\n75849\t3\n75851\t3\n75852\t3\n75854\t3\n75861\t3\n75862\t3\n75871\t3\n75872\t3\n75873\t3\n75881\t3\n75895\t3\n75905\t3\n75907\t3\n75910\t3\n75911\t3\n75919\t3\n75921\t3\n75922\t3\n75923\t3\n75924\t3\n75927\t3\n75931\t3\n75932\t3\n75934\t3\n75938\t3\n75939\t3\n75944\t3\n75953\t3\n75954\t3\n75963\t3\n75969\t3\n75971\t3\n75975\t3\n75976\t3\n75978\t3\n75985\t3\n76010\t3\n76015\t3\n76021\t3\n76023\t3\n76028\t3\n76032\t3\n76034\t3\n76037\t3\n76040\t3\n76051\t3\n76059\t3\n76070\t3\n76073\t3\n76088\t3\n76103\t3\n76104\t3\n76123\t3\n76126\t3\n76129\t3\n76130\t3\n76141\t3\n76146\t3\n76149\t3\n76151\t3\n76153\t3\n76154\t3\n76167\t3\n76171\t3\n76181\t3\n76189\t3\n76192\t3\n76194\t3\n76195\t3\n76200\t3\n76210\t3\n76219\t3\n76223\t3\n76225\t3\n76233\t3\n76247\t3\n76250\t3\n76254\t3\n76257\t3\n76261\t3\n76271\t3\n76272\t3\n76282\t3\n76287\t3\n76288\t3\n76289\t3\n76292\t3\n76301\t3\n76309\t3\n76314\t3\n76341\t3\n76343\t3\n76344\t3\n76347\t3\n76351\t3\n76353\t3\n76355\t3\n76358\t3\n76360\t3\n76362\t3\n76373\t3\n76379\t3\n76381\t3\n76383\t3\n76393\t3\n76403\t3\n76405\t3\n76406\t3\n76413\t3\n76434\t3\n76443\t3\n76447\t3\n76451\t3\n76453\t3\n76454\t3\n76471\t3\n76475\t3\n76476\t3\n76477\t3\n76478\t3\n76482\t3\n76485\t3\n76492\t3\n76504\t3\n76507\t3\n76511\t3\n76515\t3\n76519\t3\n76520\t3\n76525\t3\n76526\t3\n76545\t3\n76558\t3\n76559\t3\n76568\t3\n76572\t3\n76576\t3\n76582\t3\n76584\t3\n76587\t3\n76588\t3\n76589\t3\n76599\t3\n76600\t3\n76602\t3\n76603\t3\n76605\t3\n76613\t3\n76619\t3\n76620\t3\n76626\t3\n76632\t3\n76638\t3\n76640\t3\n76641\t3\n76642\t3\n76644\t3\n76667\t3\n76675\t3\n76681\t3\n76686\t3\n76688\t3\n76697\t3\n76701\t3\n76703\t3\n76709\t3\n76710\t3\n76716\t3\n76720\t3\n76721\t3\n76733\t3\n76734\t3\n76744\t3\n76746\t3\n76757\t3\n76758\t3\n76759\t3\n76763\t3\n76765\t3\n76772\t3\n76785\t3\n76787\t3\n76797\t3\n76798\t3\n76809\t3\n76812\t3\n76815\t3\n76818\t3\n76821\t3\n76822\t3\n76829\t3\n76846\t3\n76850\t3\n76854\t3\n76856\t3\n76861\t3\n76870\t3\n76871\t3\n76880\t3\n76888\t3\n76898\t3\n76899\t3\n76906\t3\n76930\t3\n76931\t3\n76940\t3\n76942\t3\n76951\t3\n76953\t3\n76958\t3\n76959\t3\n76976\t3\n76978\t3\n76981\t3\n76987\t3\n76990\t3\n76992\t3\n76998\t3\n77000\t3\n77001\t3\n77007\t3\n77014\t3\n77016\t3\n77024\t3\n77026\t3\n77028\t3\n77033\t3\n77037\t3\n77038\t3\n77048\t3\n77054\t3\n77059\t3\n77061\t3\n77062\t3\n77075\t3\n77076\t3\n77077\t3\n77085\t3\n77086\t3\n77096\t3\n77099\t3\n77107\t3\n77110\t3\n77126\t3\n77133\t3\n77149\t3\n77150\t3\n77157\t3\n77161\t3\n77164\t3\n77166\t3\n77180\t3\n77192\t3\n77200\t3\n77201\t3\n77206\t3\n77217\t3\n77220\t3\n77223\t3\n77230\t3\n77235\t3\n77241\t3\n77244\t3\n77247\t3\n77254\t3\n77256\t3\n77270\t3\n77281\t3\n77288\t3\n77289\t3\n77294\t3\n77295\t3\n77299\t3\n77301\t3\n77325\t3\n77326\t3\n77338\t3\n77341\t3\n77344\t3\n77355\t3\n77361\t3\n77365\t3\n77367\t3\n77382\t3\n77386\t3\n77387\t3\n77390\t3\n77391\t3\n77394\t3\n77403\t3\n77413\t3\n77428\t3\n77431\t3\n77433\t3\n77434\t3\n77435\t3\n77436\t3\n77438\t3\n77442\t3\n77449\t3\n77450\t3\n77465\t3\n77466\t3\n77507\t3\n77516\t3\n77517\t3\n77521\t3\n77522\t3\n77542\t3\n77549\t3\n77550\t3\n77551\t3\n77552\t3\n77553\t3\n77564\t3\n77565\t3\n77567\t3\n77569\t3\n77571\t3\n77578\t3\n77585\t3\n77593\t3\n77596\t3\n77601\t3\n77603\t3\n77618\t3\n77621\t3\n77628\t3\n77629\t3\n77631\t3\n77633\t3\n77641\t3\n77646\t3\n77647\t3\n77649\t3\n77655\t3\n77656\t3\n77658\t3\n77660\t3\n77664\t3\n77667\t3\n77670\t3\n77671\t3\n77672\t3\n77677\t3\n77694\t3\n77696\t3\n77700\t3\n77715\t3\n77723\t3\n77727\t3\n77731\t3\n77733\t3\n77742\t3\n77744\t3\n77750\t3\n77754\t3\n77767\t3\n77769\t3\n77771\t3\n77779\t3\n77783\t3\n77784\t3\n77785\t3\n77789\t3\n77791\t3\n77802\t3\n77806\t3\n77819\t3\n77827\t3\n77835\t3\n77842\t3\n77854\t3\n77855\t3\n77860\t3\n77864\t3\n77879\t3\n77881\t3\n77883\t3\n77891\t3\n77901\t3\n77904\t3\n77905\t3\n77918\t3\n77928\t3\n77942\t3\n77946\t3\n77948\t3\n77959\t3\n77960\t3\n77965\t3\n77968\t3\n77969\t3\n77972\t3\n77973\t3\n77984\t3\n77995\t3\n77997\t3\n77999\t3\n78002\t3\n78003\t3\n78005\t3\n78007\t3\n78008\t3\n78013\t3\n78021\t3\n78033\t3\n78034\t3\n78036\t3\n78040\t3\n78048\t3\n78055\t3\n78056\t3\n78058\t3\n78071\t3\n78074\t3\n78081\t3\n78084\t3\n78089\t3\n78096\t3\n78103\t3\n78105\t3\n78107\t3\n78112\t3\n78119\t3\n78120\t3\n78127\t3\n78131\t3\n78139\t3\n78144\t3\n78145\t3\n78146\t3\n78166\t3\n78171\t3\n78174\t3\n78176\t3\n78179\t3\n78180\t3\n78185\t3\n78192\t3\n78195\t3\n78197\t3\n78223\t3\n78234\t3\n78239\t3\n78241\t3\n78248\t3\n78257\t3\n78261\t3\n78264\t3\n78267\t3\n78269\t3\n78270\t3\n78273\t3\n78277\t3\n78283\t3\n78284\t3\n78291\t3\n78292\t3\n78297\t3\n78298\t3\n78299\t3\n78300\t3\n78302\t3\n78305\t3\n78336\t3\n78341\t3\n78343\t3\n78345\t3\n78351\t3\n78363\t3\n78365\t3\n78366\t3\n78369\t3\n78371\t3\n78374\t3\n78378\t3\n78390\t3\n78393\t3\n78394\t3\n78400\t3\n78401\t3\n78409\t3\n78421\t3\n78422\t3\n78429\t3\n78453\t3\n78474\t3\n78477\t3\n78478\t3\n78485\t3\n78493\t3\n78497\t3\n78513\t3\n78523\t3\n78525\t3\n78533\t3\n78534\t3\n78556\t3\n78562\t3\n78564\t3\n78574\t3\n78575\t3\n78576\t3\n78577\t3\n78585\t3\n78588\t3\n78590\t3\n78598\t3\n78599\t3\n78607\t3\n78613\t3\n78623\t3\n78634\t3\n78644\t3\n78652\t3\n78654\t3\n78662\t3\n78672\t3\n78692\t3\n78703\t3\n78709\t3\n78752\t3\n78755\t3\n78759\t3\n78766\t3\n78768\t3\n78771\t3\n78772\t3\n78774\t3\n78778\t3\n78781\t3\n78783\t3\n78785\t3\n78786\t3\n78795\t3\n78798\t3\n78807\t3\n78810\t3\n78823\t3\n78842\t3\n78848\t3\n78850\t3\n78862\t3\n78883\t3\n78889\t3\n78891\t3\n78893\t3\n78894\t3\n78896\t3\n78898\t3\n78901\t3\n78902\t3\n78909\t3\n78913\t3\n78917\t3\n78918\t3\n78928\t3\n78939\t3\n78946\t3\n78947\t3\n78957\t3\n78964\t3\n78978\t3\n78988\t3\n78993\t3\n78997\t3\n79004\t3\n79008\t3\n79014\t3\n79030\t3\n79036\t3\n79044\t3\n79051\t3\n79064\t3\n79065\t3\n79071\t3\n79072\t3\n79078\t3\n79079\t3\n79093\t3\n79102\t3\n79106\t3\n79111\t3\n79113\t3\n79116\t3\n79133\t3\n79135\t3\n79141\t3\n79144\t3\n79149\t3\n79152\t3\n79155\t3\n79160\t3\n79175\t3\n79191\t3\n79192\t3\n79200\t3\n79203\t3\n79209\t3\n79211\t3\n79218\t3\n79222\t3\n79228\t3\n79231\t3\n79232\t3\n79237\t3\n79243\t3\n79245\t3\n79246\t3\n79249\t3\n79251\t3\n79258\t3\n79283\t3\n79284\t3\n79285\t3\n79287\t3\n79293\t3\n79298\t3\n79303\t3\n79304\t3\n79305\t3\n79307\t3\n79310\t3\n79311\t3\n79313\t3\n79319\t3\n79327\t3\n79332\t3\n79337\t3\n79338\t3\n79339\t3\n79341\t3\n79356\t3\n79364\t3\n79365\t3\n79367\t3\n79376\t3\n79379\t3\n79381\t3\n79382\t3\n79385\t3\n79391\t3\n79410\t3\n79415\t3\n79448\t3\n79453\t3\n79456\t3\n79457\t3\n79465\t3\n79475\t3\n79478\t3\n79482\t3\n79487\t3\n79490\t3\n79495\t3\n79496\t3\n79507\t3\n79526\t3\n79536\t3\n79537\t3\n79543\t3\n79559\t3\n79563\t3\n79576\t3\n79590\t3\n79598\t3\n79600\t3\n79604\t3\n79609\t3\n79631\t3\n79640\t3\n79644\t3\n79672\t3\n79678\t3\n79679\t3\n79692\t3\n79697\t3\n79700\t3\n79701\t3\n79708\t3\n79713\t3\n79716\t3\n79722\t3\n79723\t3\n79727\t3\n79735\t3\n79736\t3\n79738\t3\n79741\t3\n79753\t3\n79755\t3\n79764\t3\n79778\t3\n79783\t3\n79788\t3\n79797\t3\n79814\t3\n79816\t3\n79817\t3\n79827\t3\n79846\t3\n79851\t3\n79854\t3\n79858\t3\n79870\t3\n79894\t3\n79897\t3\n79905\t3\n79908\t3\n79911\t3\n79912\t3\n79921\t3\n79935\t3\n79944\t3\n79947\t3\n79949\t3\n79950\t3\n79952\t3\n79954\t3\n79956\t3\n79957\t3\n79970\t3\n79972\t3\n79978\t3\n79983\t3\n79988\t3\n80008\t3\n80010\t3\n80012\t3\n80019\t3\n80020\t3\n80028\t3\n80035\t3\n80043\t3\n80056\t3\n80060\t3\n80064\t3\n80065\t3\n80066\t3\n80068\t3\n80073\t3\n80077\t3\n80083\t3\n80084\t3\n80086\t3\n80089\t3\n80106\t3\n80108\t3\n80109\t3\n80113\t3\n80125\t3\n80134\t3\n80135\t3\n80137\t3\n80146\t3\n80147\t3\n80149\t3\n80151\t3\n80152\t3\n80168\t3\n80178\t3\n80179\t3\n80186\t3\n80193\t3\n80199\t3\n80209\t3\n80210\t3\n80215\t3\n80218\t3\n80219\t3\n80223\t3\n80229\t3\n80246\t3\n80248\t3\n80252\t3\n80257\t3\n80258\t3\n80265\t3\n80267\t3\n80269\t3\n80279\t3\n80288\t3\n80289\t3\n80290\t3\n80293\t3\n80298\t3\n80301\t3\n80306\t3\n80307\t3\n80313\t3\n80317\t3\n80319\t3\n80321\t3\n80322\t3\n80327\t3\n80342\t3\n80349\t3\n80356\t3\n80362\t3\n80363\t3\n80365\t3\n80366\t3\n80370\t3\n80378\t3\n80381\t3\n80393\t3\n80403\t3\n80407\t3\n80408\t3\n80414\t3\n80422\t3\n80426\t3\n80432\t3\n80441\t3\n80444\t3\n80445\t3\n80447\t3\n80451\t3\n80468\t3\n80469\t3\n80478\t3\n80480\t3\n80481\t3\n80482\t3\n80484\t3\n80485\t3\n80492\t3\n80496\t3\n80504\t3\n80508\t3\n80513\t3\n80518\t3\n80519\t3\n80530\t3\n80532\t3\n80539\t3\n80540\t3\n80551\t3\n80558\t3\n80570\t3\n80572\t3\n80581\t3\n80585\t3\n80588\t3\n80589\t3\n80590\t3\n80594\t3\n80599\t3\n80601\t3\n80604\t3\n80609\t3\n80621\t3\n80631\t3\n80632\t3\n80636\t3\n80645\t3\n80646\t3\n80648\t3\n80650\t3\n80654\t3\n80659\t3\n80666\t3\n80668\t3\n80681\t3\n80687\t3\n80689\t3\n80702\t3\n80706\t3\n80707\t3\n80720\t3\n80721\t3\n80744\t3\n80752\t3\n80753\t3\n80760\t3\n80766\t3\n80773\t3\n80776\t3\n80780\t3\n80784\t3\n80785\t3\n80787\t3\n80799\t3\n80803\t3\n80818\t3\n80831\t3\n80838\t3\n80853\t3\n80855\t3\n80879\t3\n80893\t3\n80906\t3\n80907\t3\n80919\t3\n80939\t3\n80945\t3\n80951\t3\n80953\t3\n80954\t3\n80956\t3\n80957\t3\n80961\t3\n80962\t3\n80964\t3\n80968\t3\n80970\t3\n80972\t3\n80987\t3\n80993\t3\n80994\t3\n81000\t3\n81003\t3\n81014\t3\n81020\t3\n81024\t3\n81058\t3\n81063\t3\n81064\t3\n81074\t3\n81090\t3\n81092\t3\n81094\t3\n81098\t3\n81102\t3\n81113\t3\n81127\t3\n81132\t3\n81136\t3\n81146\t3\n81147\t3\n81149\t3\n81150\t3\n81151\t3\n81152\t3\n81161\t3\n81170\t3\n81171\t3\n81175\t3\n81177\t3\n81181\t3\n81183\t3\n81190\t3\n81192\t3\n81199\t3\n81220\t3\n81225\t3\n81230\t3\n81232\t3\n81236\t3\n81241\t3\n81251\t3\n81262\t3\n81266\t3\n81281\t3\n81286\t3\n81288\t3\n81289\t3\n81299\t3\n81303\t3\n81317\t3\n81322\t3\n81341\t3\n81347\t3\n81351\t3\n81354\t3\n81358\t3\n81359\t3\n81368\t3\n81372\t3\n81374\t3\n81375\t3\n81376\t3\n81384\t3\n81387\t3\n81406\t3\n81408\t3\n81427\t3\n81439\t3\n81442\t3\n81450\t3\n81455\t3\n81456\t3\n81463\t3\n81466\t3\n81467\t3\n81471\t3\n81473\t3\n81479\t3\n81485\t3\n81486\t3\n81502\t3\n81509\t3\n81510\t3\n81511\t3\n81539\t3\n81542\t3\n81553\t3\n81571\t3\n81576\t3\n81610\t3\n81611\t3\n81613\t3\n81620\t3\n81627\t3\n81630\t3\n81631\t3\n81636\t3\n81639\t3\n81640\t3\n81645\t3\n81650\t3\n81659\t3\n81665\t3\n81666\t3\n81671\t3\n81673\t3\n81681\t3\n81692\t3\n81702\t3\n81709\t3\n81717\t3\n81722\t3\n81728\t3\n81729\t3\n81731\t3\n81732\t3\n81734\t3\n81737\t3\n81738\t3\n81739\t3\n81746\t3\n81747\t3\n81750\t3\n81752\t3\n81755\t3\n81762\t3\n81770\t3\n81775\t3\n81777\t3\n81780\t3\n81796\t3\n81797\t3\n81800\t3\n81808\t3\n81825\t3\n81827\t3\n81830\t3\n81834\t3\n81835\t3\n81841\t3\n81842\t3\n81844\t3\n81857\t3\n81862\t3\n81863\t3\n81870\t3\n81872\t3\n81879\t3\n81889\t3\n81897\t3\n81899\t3\n81901\t3\n81919\t3\n81921\t3\n81927\t3\n81929\t3\n81946\t3\n81950\t3\n81955\t3\n81958\t3\n81973\t3\n81976\t3\n81982\t3\n81991\t3\n81992\t3\n81995\t3\n82000\t3\n82002\t3\n82005\t3\n82010\t3\n82011\t3\n82015\t3\n82019\t3\n82020\t3\n82025\t3\n82031\t3\n82044\t3\n82052\t3\n82063\t3\n82066\t3\n82070\t3\n82077\t3\n82078\t3\n82084\t3\n82090\t3\n82096\t3\n82103\t3\n82106\t3\n82107\t3\n82108\t3\n82110\t3\n82114\t3\n82115\t3\n82119\t3\n82135\t3\n82138\t3\n82147\t3\n82149\t3\n82151\t3\n82152\t3\n82168\t3\n82174\t3\n82182\t3\n82199\t3\n82200\t3\n82204\t3\n82205\t3\n82216\t3\n82221\t3\n82230\t3\n82239\t3\n82240\t3\n82249\t3\n82257\t3\n82293\t3\n82316\t3\n82326\t3\n82347\t3\n82350\t3\n82352\t3\n82357\t3\n82358\t3\n82360\t3\n82362\t3\n82369\t3\n82379\t3\n82390\t3\n82391\t3\n82393\t3\n82402\t3\n82403\t3\n82421\t3\n82430\t3\n82440\t3\n82469\t3\n82471\t3\n82473\t3\n82484\t3\n82487\t3\n82492\t3\n82498\t3\n82499\t3\n82505\t3\n82514\t3\n82517\t3\n82520\t3\n82525\t3\n82527\t3\n82528\t3\n82531\t3\n82533\t3\n82535\t3\n82543\t3\n82544\t3\n82546\t3\n82554\t3\n82555\t3\n82572\t3\n82587\t3\n82595\t3\n82596\t3\n82600\t3\n82606\t3\n82611\t3\n82618\t3\n82622\t3\n82624\t3\n82626\t3\n82633\t3\n82639\t3\n82640\t3\n82642\t3\n82648\t3\n82652\t3\n82654\t3\n82659\t3\n82668\t3\n82671\t3\n82687\t3\n82693\t3\n82697\t3\n82699\t3\n82703\t3\n82719\t3\n82721\t3\n82723\t3\n82728\t3\n82753\t3\n82755\t3\n82766\t3\n82771\t3\n82774\t3\n82775\t3\n82776\t3\n82778\t3\n82785\t3\n82789\t3\n82792\t3\n82797\t3\n82810\t3\n82816\t3\n82820\t3\n82830\t3\n82833\t3\n82836\t3\n82849\t3\n82850\t3\n82855\t3\n82858\t3\n82863\t3\n82865\t3\n82876\t3\n82880\t3\n82882\t3\n82894\t3\n82909\t3\n82910\t3\n82919\t3\n82921\t3\n82924\t3\n82925\t3\n82926\t3\n82928\t3\n82935\t3\n82938\t3\n82950\t3\n82953\t3\n82971\t3\n82986\t3\n82989\t3\n82997\t3\n83004\t3\n83007\t3\n83012\t3\n83013\t3\n83020\t3\n83031\t3\n83033\t3\n83034\t3\n83037\t3\n83038\t3\n83042\t3\n83050\t3\n83052\t3\n83071\t3\n83072\t3\n83076\t3\n83079\t3\n83082\t3\n83085\t3\n83095\t3\n83104\t3\n83105\t3\n83126\t3\n83127\t3\n83129\t3\n83134\t3\n83148\t3\n83149\t3\n83155\t3\n83158\t3\n83160\t3\n83163\t3\n83164\t3\n83178\t3\n83187\t3\n83193\t3\n83194\t3\n83199\t3\n83203\t3\n83205\t3\n83207\t3\n83219\t3\n83232\t3\n83236\t3\n83247\t3\n83250\t3\n83262\t3\n83265\t3\n83266\t3\n83267\t3\n83270\t3\n83283\t3\n83286\t3\n83291\t3\n83292\t3\n83300\t3\n83304\t3\n83305\t3\n83323\t3\n83329\t3\n83332\t3\n83343\t3\n83347\t3\n83358\t3\n83376\t3\n83381\t3\n83393\t3\n83401\t3\n83407\t3\n83416\t3\n83418\t3\n83419\t3\n83427\t3\n83448\t3\n83449\t3\n83465\t3\n83469\t3\n83470\t3\n83476\t3\n83482\t3\n83488\t3\n83502\t3\n83503\t3\n83509\t3\n83514\t3\n83519\t3\n83525\t3\n83527\t3\n83534\t3\n83545\t3\n83550\t3\n83564\t3\n83567\t3\n83576\t3\n83577\t3\n83581\t3\n83607\t3\n83614\t3\n83621\t3\n83622\t3\n83631\t3\n83641\t3\n83642\t3\n83643\t3\n83644\t3\n83668\t3\n83669\t3\n83675\t3\n83682\t3\n83685\t3\n83698\t3\n83703\t3\n83709\t3\n83720\t3\n83725\t3\n83738\t3\n83752\t3\n83754\t3\n83756\t3\n83761\t3\n83765\t3\n83768\t3\n83776\t3\n83777\t3\n83779\t3\n83780\t3\n83801\t3\n83807\t3\n83817\t3\n83821\t3\n83824\t3\n83832\t3\n83833\t3\n83840\t3\n83860\t3\n83861\t3\n83864\t3\n83868\t3\n83873\t3\n83878\t3\n83881\t3\n83884\t3\n83889\t3\n83896\t3\n83902\t3\n83903\t3\n83905\t3\n83918\t3\n83922\t3\n83927\t3\n83932\t3\n83936\t3\n83943\t3\n83947\t3\n83954\t3\n83955\t3\n83960\t3\n83969\t3\n83973\t3\n83976\t3\n83979\t3\n83986\t3\n83990\t3\n84001\t3\n84002\t3\n84013\t3\n84020\t3\n84034\t3\n84042\t3\n84046\t3\n84048\t3\n84055\t3\n84056\t3\n84064\t3\n84065\t3\n84070\t3\n84071\t3\n84078\t3\n84081\t3\n84096\t3\n84097\t3\n84108\t3\n84110\t3\n84119\t3\n84124\t3\n84126\t3\n84137\t3\n84147\t3\n84150\t3\n84157\t3\n84158\t3\n84159\t3\n84163\t3\n84166\t3\n84168\t3\n84170\t3\n84171\t3\n84182\t3\n84195\t3\n84197\t3\n84203\t3\n84206\t3\n84209\t3\n84217\t3\n84222\t3\n84224\t3\n84225\t3\n84228\t3\n84230\t3\n84232\t3\n84260\t3\n84262\t3\n84264\t3\n84265\t3\n84269\t3\n84270\t3\n84273\t3\n84275\t3\n84279\t3\n84293\t3\n84299\t3\n84304\t3\n84307\t3\n84309\t3\n84314\t3\n84322\t3\n84329\t3\n84330\t3\n84336\t3\n84337\t3\n84340\t3\n84345\t3\n84348\t3\n84349\t3\n84354\t3\n84372\t3\n84384\t3\n84385\t3\n84388\t3\n84390\t3\n84393\t3\n84404\t3\n84406\t3\n84415\t3\n84427\t3\n84430\t3\n84448\t3\n84450\t3\n84452\t3\n84465\t3\n84468\t3\n84477\t3\n84479\t3\n84480\t3\n84485\t3\n84505\t3\n84507\t3\n84527\t3\n84531\t3\n84536\t3\n84546\t3\n84548\t3\n84551\t3\n84560\t3\n84563\t3\n84564\t3\n84571\t3\n84579\t3\n84582\t3\n84596\t3\n84634\t3\n84635\t3\n84647\t3\n84652\t3\n84658\t3\n84665\t3\n84668\t3\n84669\t3\n84674\t3\n84679\t3\n84680\t3\n84721\t3\n84739\t3\n84742\t3\n84761\t3\n84765\t3\n84770\t3\n84794\t3\n84799\t3\n84811\t3\n84812\t3\n84818\t3\n84824\t3\n84828\t3\n84840\t3\n84841\t3\n84847\t3\n84848\t3\n84853\t3\n84862\t3\n84869\t3\n84873\t3\n84874\t3\n84877\t3\n84879\t3\n84882\t3\n84889\t3\n84907\t3\n84915\t3\n84923\t3\n84933\t3\n84946\t3\n84957\t3\n84958\t3\n84965\t3\n84966\t3\n84967\t3\n84968\t3\n84969\t3\n84977\t3\n84985\t3\n85000\t3\n85014\t3\n85016\t3\n85026\t3\n85028\t3\n85029\t3\n85035\t3\n85054\t3\n85055\t3\n85060\t3\n85063\t3\n85065\t3\n85067\t3\n85070\t3\n85078\t3\n85080\t3\n85098\t3\n85103\t3\n85112\t3\n85115\t3\n85117\t3\n85118\t3\n85126\t3\n85134\t3\n85138\t3\n85145\t3\n85146\t3\n85154\t3\n85158\t3\n85162\t3\n85173\t3\n85183\t3\n85191\t3\n85193\t3\n85195\t3\n85197\t3\n85198\t3\n85203\t3\n85211\t3\n85213\t3\n85224\t3\n85231\t3\n85248\t3\n85268\t3\n85269\t3\n85285\t3\n85314\t3\n85328\t3\n85329\t3\n85336\t3\n85340\t3\n85345\t3\n85349\t3\n85350\t3\n85353\t3\n85383\t3\n85396\t3\n85403\t3\n85410\t3\n85414\t3\n85416\t3\n85417\t3\n85427\t3\n85430\t3\n85446\t3\n85447\t3\n85449\t3\n85459\t3\n85463\t3\n85467\t3\n85468\t3\n85469\t3\n85470\t3\n85473\t3\n85495\t3\n85502\t3\n85510\t3\n85513\t3\n85515\t3\n85520\t3\n85522\t3\n85524\t3\n85535\t3\n85538\t3\n85545\t3\n85549\t3\n85560\t3\n85563\t3\n85584\t3\n85585\t3\n85590\t3\n85591\t3\n85607\t3\n85630\t3\n85631\t3\n85637\t3\n85649\t3\n85653\t3\n85656\t3\n85662\t3\n85664\t3\n85667\t3\n85675\t3\n85680\t3\n85684\t3\n85696\t3\n85699\t3\n85704\t3\n85710\t3\n85717\t3\n85718\t3\n85725\t3\n85727\t3\n85729\t3\n85751\t3\n85752\t3\n85758\t3\n85764\t3\n85765\t3\n85775\t3\n85777\t3\n85781\t3\n85782\t3\n85811\t3\n85817\t3\n85827\t3\n85831\t3\n85835\t3\n85839\t3\n85841\t3\n85848\t3\n85856\t3\n85860\t3\n85865\t3\n85869\t3\n85880\t3\n85898\t3\n85906\t3\n85907\t3\n85916\t3\n85925\t3\n85927\t3\n85931\t3\n85940\t3\n85944\t3\n85955\t3\n85959\t3\n85962\t3\n85964\t3\n85976\t3\n85980\t3\n85984\t3\n85985\t3\n85990\t3\n85992\t3\n85998\t3\n86003\t3\n86008\t3\n86011\t3\n86016\t3\n86023\t3\n86036\t3\n86039\t3\n86055\t3\n86062\t3\n86068\t3\n86071\t3\n86081\t3\n86095\t3\n86099\t3\n86107\t3\n86109\t3\n86110\t3\n86114\t3\n86117\t3\n86119\t3\n86120\t3\n86123\t3\n86129\t3\n86133\t3\n86137\t3\n86142\t3\n86145\t3\n86150\t3\n86151\t3\n86161\t3\n86173\t3\n86177\t3\n86203\t3\n86206\t3\n86207\t3\n86212\t3\n86214\t3\n86216\t3\n86218\t3\n86224\t3\n86238\t3\n86240\t3\n86254\t3\n86261\t3\n86265\t3\n86267\t3\n86269\t3\n86271\t3\n86273\t3\n86274\t3\n86276\t3\n86279\t3\n86282\t3\n86284\t3\n86285\t3\n86306\t3\n86307\t3\n86309\t3\n86312\t3\n86321\t3\n86325\t3\n86326\t3\n86331\t3\n86333\t3\n86386\t3\n86392\t3\n86394\t3\n86396\t3\n86397\t3\n86404\t3\n86405\t3\n86407\t3\n86412\t3\n86417\t3\n86438\t3\n86445\t3\n86448\t3\n86467\t3\n86497\t3\n86498\t3\n86513\t3\n86516\t3\n86536\t3\n86539\t3\n86540\t3\n86548\t3\n86549\t3\n86555\t3\n86561\t3\n86567\t3\n86569\t3\n86582\t3\n86600\t3\n86610\t3\n86618\t3\n86626\t3\n86629\t3\n86641\t3\n86645\t3\n86648\t3\n86650\t3\n86651\t3\n86658\t3\n86663\t3\n86666\t3\n86670\t3\n86671\t3\n86674\t3\n86677\t3\n86678\t3\n86679\t3\n86680\t3\n86683\t3\n86688\t3\n86694\t3\n86703\t3\n86709\t3\n86710\t3\n86712\t3\n86713\t3\n86720\t3\n86721\t3\n86733\t3\n86775\t3\n86779\t3\n86795\t3\n86797\t3\n86800\t3\n86804\t3\n86810\t3\n86812\t3\n86814\t3\n86818\t3\n86825\t3\n86828\t3\n86831\t3\n86833\t3\n86836\t3\n86838\t3\n86851\t3\n86854\t3\n86855\t3\n86858\t3\n86871\t3\n86884\t3\n86885\t3\n86887\t3\n86906\t3\n86912\t3\n86916\t3\n86919\t3\n86923\t3\n86927\t3\n86928\t3\n86929\t3\n86930\t3\n86933\t3\n86936\t3\n86938\t3\n86940\t3\n86954\t3\n86960\t3\n86979\t3\n86986\t3\n86992\t3\n86995\t3\n87000\t3\n87023\t3\n87028\t3\n87029\t3\n87034\t3\n87040\t3\n87041\t3\n87044\t3\n87051\t3\n87053\t3\n87060\t3\n87065\t3\n87067\t3\n87070\t3\n87075\t3\n87079\t3\n87083\t3\n87090\t3\n87099\t3\n87104\t3\n87119\t3\n87120\t3\n87122\t3\n87126\t3\n87139\t3\n87142\t3\n87145\t3\n87150\t3\n87154\t3\n87157\t3\n87173\t3\n87175\t3\n87193\t3\n87198\t3\n87203\t3\n87211\t3\n87214\t3\n87215\t3\n87220\t3\n87225\t3\n87226\t3\n87231\t3\n87233\t3\n87235\t3\n87237\t3\n87242\t3\n87246\t3\n87247\t3\n87255\t3\n87256\t3\n87260\t3\n87271\t3\n87281\t3\n87284\t3\n87288\t3\n87291\t3\n87295\t3\n87300\t3\n87313\t3\n87315\t3\n87320\t3\n87321\t3\n87328\t3\n87343\t3\n87363\t3\n87364\t3\n87367\t3\n87372\t3\n87378\t3\n87383\t3\n87394\t3\n87401\t3\n87407\t3\n87409\t3\n87412\t3\n87413\t3\n87434\t3\n87437\t3\n87442\t3\n87444\t3\n87445\t3\n87448\t3\n87449\t3\n87451\t3\n87454\t3\n87455\t3\n87459\t3\n87460\t3\n87467\t3\n87495\t3\n87496\t3\n87499\t3\n87503\t3\n87509\t3\n87542\t3\n87547\t3\n87556\t3\n87558\t3\n87559\t3\n87576\t3\n87577\t3\n87585\t3\n87592\t3\n87596\t3\n87603\t3\n87607\t3\n87613\t3\n87615\t3\n87616\t3\n87625\t3\n87627\t3\n87628\t3\n87645\t3\n87646\t3\n87648\t3\n87650\t3\n87653\t3\n87656\t3\n87662\t3\n87672\t3\n87678\t3\n87693\t3\n87706\t3\n87708\t3\n87713\t3\n87716\t3\n87717\t3\n87718\t3\n87724\t3\n87734\t3\n87735\t3\n87743\t3\n87750\t3\n87758\t3\n87759\t3\n87764\t3\n87769\t3\n87788\t3\n87790\t3\n87796\t3\n87797\t3\n87798\t3\n87803\t3\n87809\t3\n87810\t3\n87811\t3\n87822\t3\n87823\t3\n87832\t3\n87833\t3\n87835\t3\n87836\t3\n87839\t3\n87840\t3\n87846\t3\n87849\t3\n87852\t3\n87862\t3\n87875\t3\n87876\t3\n87878\t3\n87889\t3\n87893\t3\n87900\t3\n87913\t3\n87917\t3\n87920\t3\n87934\t3\n87942\t3\n87949\t3\n87953\t3\n87965\t3\n87968\t3\n87979\t3\n88007\t3\n88009\t3\n88012\t3\n88014\t3\n88017\t3\n88019\t3\n88027\t3\n88038\t3\n88040\t3\n88041\t3\n88051\t3\n88052\t3\n88054\t3\n88056\t3\n88061\t3\n88066\t3\n88068\t3\n88076\t3\n88078\t3\n88081\t3\n88095\t3\n88098\t3\n88102\t3\n88110\t3\n88114\t3\n88118\t3\n88121\t3\n88126\t3\n88129\t3\n88133\t3\n88136\t3\n88141\t3\n88154\t3\n88162\t3\n88173\t3\n88179\t3\n88180\t3\n88188\t3\n88194\t3\n88196\t3\n88197\t3\n88206\t3\n88207\t3\n88212\t3\n88218\t3\n88225\t3\n88227\t3\n88228\t3\n88230\t3\n88232\t3\n88233\t3\n88237\t3\n88242\t3\n88250\t3\n88252\t3\n88266\t3\n88267\t3\n88270\t3\n88272\t3\n88276\t3\n88279\t3\n88280\t3\n88299\t3\n88301\t3\n88305\t3\n88311\t3\n88313\t3\n88316\t3\n88325\t3\n88326\t3\n88329\t3\n88332\t3\n88351\t3\n88354\t3\n88358\t3\n88384\t3\n88392\t3\n88394\t3\n88424\t3\n88426\t3\n88432\t3\n88439\t3\n88449\t3\n88457\t3\n88458\t3\n88463\t3\n88483\t3\n88488\t3\n88511\t3\n88516\t3\n88518\t3\n88520\t3\n88529\t3\n88531\t3\n88533\t3\n88534\t3\n88546\t3\n88554\t3\n88556\t3\n88566\t3\n88570\t3\n88572\t3\n88573\t3\n88577\t3\n88580\t3\n88603\t3\n88604\t3\n88612\t3\n88615\t3\n88637\t3\n88638\t3\n88684\t3\n88701\t3\n88702\t3\n88704\t3\n88709\t3\n88712\t3\n88714\t3\n88715\t3\n88721\t3\n88725\t3\n88731\t3\n88745\t3\n88753\t3\n88755\t3\n88756\t3\n88759\t3\n88762\t3\n88764\t3\n88771\t3\n88778\t3\n88780\t3\n88783\t3\n88794\t3\n88796\t3\n88797\t3\n88798\t3\n88808\t3\n88818\t3\n88821\t3\n88835\t3\n88842\t3\n88845\t3\n88847\t3\n88849\t3\n88851\t3\n88852\t3\n88858\t3\n88861\t3\n88863\t3\n88875\t3\n88876\t3\n88878\t3\n88882\t3\n88891\t3\n88904\t3\n88905\t3\n88909\t3\n88928\t3\n88930\t3\n88935\t3\n88958\t3\n88960\t3\n88979\t3\n88980\t3\n88983\t3\n88984\t3\n88994\t3\n88995\t3\n89005\t3\n89011\t3\n89013\t3\n89017\t3\n89025\t3\n89029\t3\n89031\t3\n89034\t3\n89049\t3\n89062\t3\n89083\t3\n89091\t3\n89096\t3\n89102\t3\n89109\t3\n89114\t3\n89137\t3\n89144\t3\n89148\t3\n89162\t3\n89167\t3\n89180\t3\n89185\t3\n89193\t3\n89196\t3\n89201\t3\n89210\t3\n89211\t3\n89218\t3\n89220\t3\n89228\t3\n89247\t3\n89249\t3\n89267\t3\n89270\t3\n89271\t3\n89277\t3\n89285\t3\n89286\t3\n89302\t3\n89303\t3\n89308\t3\n89312\t3\n89314\t3\n89318\t3\n89320\t3\n89322\t3\n89332\t3\n89340\t3\n89345\t3\n89348\t3\n89352\t3\n89355\t3\n89365\t3\n89370\t3\n89372\t3\n89373\t3\n89384\t3\n89386\t3\n89393\t3\n89399\t3\n89403\t3\n89407\t3\n89411\t3\n89415\t3\n89418\t3\n89419\t3\n89420\t3\n89427\t3\n89429\t3\n89437\t3\n89440\t3\n89448\t3\n89460\t3\n89467\t3\n89470\t3\n89481\t3\n89494\t3\n89496\t3\n89518\t3\n89525\t3\n89537\t3\n89538\t3\n89546\t3\n89554\t3\n89556\t3\n89567\t3\n89570\t3\n89573\t3\n89576\t3\n89581\t3\n89590\t3\n89603\t3\n89604\t3\n89607\t3\n89612\t3\n89614\t3\n89624\t3\n89637\t3\n89640\t3\n89643\t3\n89645\t3\n89654\t3\n89673\t3\n89680\t3\n89704\t3\n89706\t3\n89708\t3\n89718\t3\n89722\t3\n89723\t3\n89734\t3\n89740\t3\n89744\t3\n89748\t3\n89755\t3\n89759\t3\n89766\t3\n89768\t3\n89769\t3\n89771\t3\n89781\t3\n89782\t3\n89796\t3\n89803\t3\n89804\t3\n89808\t3\n89816\t3\n89825\t3\n89827\t3\n89829\t3\n89836\t3\n89837\t3\n89839\t3\n89841\t3\n89858\t3\n89861\t3\n89872\t3\n89888\t3\n89899\t3\n89900\t3\n89915\t3\n89916\t3\n89937\t3\n89947\t3\n89948\t3\n89960\t3\n89964\t3\n89967\t3\n89983\t3\n89986\t3\n89989\t3\n89991\t3\n89992\t3\n90003\t3\n90020\t3\n90022\t3\n90024\t3\n90030\t3\n90036\t3\n90045\t3\n90055\t3\n90059\t3\n90060\t3\n90061\t3\n90069\t3\n90071\t3\n90077\t3\n90083\t3\n90086\t3\n90089\t3\n90092\t3\n90095\t3\n90120\t3\n90126\t3\n90135\t3\n90141\t3\n90148\t3\n90149\t3\n90159\t3\n90161\t3\n90170\t3\n90203\t3\n90207\t3\n90208\t3\n90220\t3\n90223\t3\n90225\t3\n90228\t3\n90237\t3\n90249\t3\n90258\t3\n90281\t3\n90288\t3\n90289\t3\n90291\t3\n90296\t3\n90299\t3\n90315\t3\n90325\t3\n90330\t3\n90336\t3\n90343\t3\n90349\t3\n90356\t3\n90360\t3\n90364\t3\n90371\t3\n90380\t3\n90383\t3\n90385\t3\n90387\t3\n90390\t3\n90394\t3\n90404\t3\n90406\t3\n90415\t3\n90423\t3\n90424\t3\n90431\t3\n90438\t3\n90439\t3\n90441\t3\n90449\t3\n90456\t3\n90457\t3\n90461\t3\n90462\t3\n90464\t3\n90465\t3\n90476\t3\n90479\t3\n90480\t3\n90483\t3\n90487\t3\n90497\t3\n90500\t3\n90505\t3\n90507\t3\n90515\t3\n90524\t3\n90526\t3\n90540\t3\n90541\t3\n90542\t3\n90544\t3\n90547\t3\n90553\t3\n90555\t3\n90565\t3\n90569\t3\n90578\t3\n90585\t3\n90586\t3\n90590\t3\n90591\t3\n90599\t3\n90603\t3\n90613\t3\n90618\t3\n90626\t3\n90627\t3\n90651\t3\n90653\t3\n90664\t3\n90671\t3\n90683\t3\n90690\t3\n90691\t3\n90699\t3\n90700\t3\n90701\t3\n90702\t3\n90703\t3\n90706\t3\n90709\t3\n90715\t3\n90721\t3\n90727\t3\n90728\t3\n90734\t3\n90737\t3\n90743\t3\n90749\t3\n90750\t3\n90753\t3\n90758\t3\n90765\t3\n90780\t3\n90784\t3\n90785\t3\n90792\t3\n90798\t3\n90807\t3\n90811\t3\n90817\t3\n90821\t3\n90822\t3\n90834\t3\n90836\t3\n90840\t3\n90842\t3\n90856\t3\n90859\t3\n90861\t3\n90866\t3\n90873\t3\n90874\t3\n90876\t3\n90877\t3\n90885\t3\n90890\t3\n90898\t3\n90901\t3\n90916\t3\n90926\t3\n90937\t3\n90942\t3\n90944\t3\n90951\t3\n90954\t3\n90956\t3\n90960\t3\n90965\t3\n90967\t3\n90969\t3\n90987\t3\n90992\t3\n90995\t3\n90997\t3\n90999\t3\n91020\t3\n91025\t3\n91029\t3\n91032\t3\n91034\t3\n91040\t3\n91041\t3\n91045\t3\n91056\t3\n91060\t3\n91061\t3\n91069\t3\n91073\t3\n91080\t3\n91085\t3\n91088\t3\n91089\t3\n91099\t3\n91103\t3\n91107\t3\n91109\t3\n91114\t3\n91133\t3\n91154\t3\n91168\t3\n91215\t3\n91230\t3\n91231\t3\n91236\t3\n91239\t3\n91270\t3\n91282\t3\n91292\t3\n91305\t3\n91318\t3\n91330\t3\n91335\t3\n91348\t3\n91352\t3\n91367\t3\n91379\t3\n91400\t3\n91405\t3\n91408\t3\n91410\t3\n91413\t3\n91422\t3\n91440\t3\n91446\t3\n91454\t3\n91458\t3\n91464\t3\n91466\t3\n91487\t3\n91490\t3\n91494\t3\n91501\t3\n91503\t3\n91504\t3\n91505\t3\n91511\t3\n91512\t3\n91514\t3\n91520\t3\n91523\t3\n91535\t3\n91537\t3\n91539\t3\n91540\t3\n91545\t3\n91554\t3\n91564\t3\n91570\t3\n91573\t3\n91574\t3\n91584\t3\n91587\t3\n91592\t3\n91601\t3\n91603\t3\n91605\t3\n91613\t3\n91617\t3\n91618\t3\n91634\t3\n91640\t3\n91648\t3\n91657\t3\n91658\t3\n91660\t3\n91667\t3\n91669\t3\n91672\t3\n91684\t3\n91691\t3\n91701\t3\n91703\t3\n91706\t3\n91708\t3\n91711\t3\n91715\t3\n91716\t3\n91717\t3\n91720\t3\n91721\t3\n91722\t3\n91729\t3\n91737\t3\n91746\t3\n91747\t3\n91749\t3\n91754\t3\n91757\t3\n91762\t3\n91770\t3\n91775\t3\n91779\t3\n91785\t3\n91800\t3\n91809\t3\n91813\t3\n91825\t3\n91827\t3\n91832\t3\n91834\t3\n91850\t3\n91851\t3\n91855\t3\n91872\t3\n91873\t3\n91878\t3\n91881\t3\n91892\t3\n91896\t3\n91902\t3\n91914\t3\n91915\t3\n91918\t3\n91919\t3\n91927\t3\n91929\t3\n91950\t3\n91953\t3\n91954\t3\n91955\t3\n91956\t3\n91969\t3\n91973\t3\n91983\t3\n91989\t3\n91990\t3\n92005\t3\n92006\t3\n92008\t3\n92014\t3\n92018\t3\n92021\t3\n92022\t3\n92029\t3\n92040\t3\n92054\t3\n92059\t3\n92060\t3\n92065\t3\n92067\t3\n92068\t3\n92069\t3\n92071\t3\n92072\t3\n92074\t3\n92075\t3\n92077\t3\n92078\t3\n92080\t3\n92092\t3\n92100\t3\n92104\t3\n92107\t3\n92109\t3\n92118\t3\n92131\t3\n92132\t3\n92136\t3\n92142\t3\n92159\t3\n92160\t3\n92166\t3\n92167\t3\n92171\t3\n92172\t3\n92175\t3\n92182\t3\n92199\t3\n92205\t3\n92207\t3\n92208\t3\n92209\t3\n92210\t3\n92211\t3\n92222\t3\n92223\t3\n92229\t3\n92231\t3\n92233\t3\n92236\t3\n92239\t3\n92242\t3\n92254\t3\n92255\t3\n92270\t3\n92274\t3\n92275\t3\n92277\t3\n92290\t3\n92293\t3\n92296\t3\n92305\t3\n92309\t3\n92312\t3\n92318\t3\n92321\t3\n92324\t3\n92331\t3\n92333\t3\n92336\t3\n92339\t3\n92340\t3\n92351\t3\n92352\t3\n92354\t3\n92355\t3\n92367\t3\n92373\t3\n92375\t3\n92378\t3\n92383\t3\n92387\t3\n92389\t3\n92392\t3\n92397\t3\n92413\t3\n92414\t3\n92416\t3\n92417\t3\n92419\t3\n92426\t3\n92433\t3\n92436\t3\n92450\t3\n92457\t3\n92466\t3\n92474\t3\n92476\t3\n92486\t3\n92487\t3\n92496\t3\n92497\t3\n92507\t3\n92508\t3\n92519\t3\n92529\t3\n92531\t3\n92532\t3\n92543\t3\n92546\t3\n92553\t3\n92559\t3\n92573\t3\n92578\t3\n92584\t3\n92588\t3\n92590\t3\n92596\t3\n92601\t3\n92604\t3\n92610\t3\n92613\t3\n92615\t3\n92617\t3\n92619\t3\n92632\t3\n92636\t3\n92641\t3\n92648\t3\n92655\t3\n92657\t3\n92658\t3\n92662\t3\n92665\t3\n92667\t3\n92670\t3\n92673\t3\n92679\t3\n92681\t3\n92685\t3\n92688\t3\n92693\t3\n92695\t3\n92698\t3\n92700\t3\n92714\t3\n92716\t3\n92717\t3\n92720\t3\n92721\t3\n92722\t3\n92727\t3\n92729\t3\n92730\t3\n92732\t3\n92735\t3\n92743\t3\n92747\t3\n92757\t3\n92758\t3\n92760\t3\n92762\t3\n92764\t3\n92769\t3\n92771\t3\n92773\t3\n92775\t3\n92776\t3\n92779\t3\n92780\t3\n92788\t3\n92790\t3\n92804\t3\n92810\t3\n92811\t3\n92813\t3\n92820\t3\n92824\t3\n92827\t3\n92832\t3\n92834\t3\n92839\t3\n92852\t3\n92853\t3\n92855\t3\n92856\t3\n92860\t3\n92861\t3\n92862\t3\n92871\t3\n92879\t3\n92892\t3\n92893\t3\n92894\t3\n92906\t3\n92908\t3\n92921\t3\n92927\t3\n92931\t3\n92934\t3\n92935\t3\n92978\t3\n93006\t3\n93029\t3\n93035\t3\n93044\t3\n93045\t3\n93049\t3\n93053\t3\n93061\t3\n93082\t3\n93086\t3\n93089\t3\n93105\t3\n93109\t3\n93116\t3\n93119\t3\n93126\t3\n93135\t3\n93144\t3\n93146\t3\n93171\t3\n93175\t3\n93176\t3\n93180\t3\n93194\t3\n93196\t3\n93205\t3\n93206\t3\n93210\t3\n93211\t3\n93221\t3\n93222\t3\n93225\t3\n93244\t3\n93247\t3\n93249\t3\n93252\t3\n93254\t3\n93259\t3\n93260\t3\n93272\t3\n93283\t3\n93284\t3\n93285\t3\n93286\t3\n93293\t3\n93300\t3\n93323\t3\n93330\t3\n93331\t3\n93338\t3\n93346\t3\n93354\t3\n93356\t3\n93361\t3\n93365\t3\n93367\t3\n93378\t3\n93382\t3\n93391\t3\n93397\t3\n93409\t3\n93412\t3\n93421\t3\n93427\t3\n93430\t3\n93431\t3\n93432\t3\n93438\t3\n93460\t3\n93462\t3\n93469\t3\n93475\t3\n93477\t3\n93483\t3\n93484\t3\n93492\t3\n93493\t3\n93494\t3\n93497\t3\n93502\t3\n93515\t3\n93516\t3\n93523\t3\n93537\t3\n93542\t3\n93546\t3\n93550\t3\n93555\t3\n93560\t3\n93562\t3\n93567\t3\n93568\t3\n93572\t3\n93573\t3\n93575\t3\n93587\t3\n93588\t3\n93594\t3\n93597\t3\n93599\t3\n93602\t3\n93605\t3\n93611\t3\n93632\t3\n93638\t3\n93641\t3\n93643\t3\n93647\t3\n93652\t3\n93655\t3\n93656\t3\n93666\t3\n93675\t3\n93679\t3\n93682\t3\n93696\t3\n93697\t3\n93699\t3\n93700\t3\n93701\t3\n93708\t3\n93720\t3\n93732\t3\n93734\t3\n93738\t3\n93742\t3\n93744\t3\n93745\t3\n93748\t3\n93758\t3\n93762\t3\n93764\t3\n93767\t3\n93768\t3\n93772\t3\n93775\t3\n93777\t3\n93784\t3\n93790\t3\n93791\t3\n93819\t3\n93821\t3\n93839\t3\n93842\t3\n93844\t3\n93852\t3\n93862\t3\n93878\t3\n93884\t3\n93885\t3\n93887\t3\n93895\t3\n93900\t3\n93901\t3\n93915\t3\n93921\t3\n93924\t3\n93933\t3\n93947\t3\n93948\t3\n93954\t3\n93961\t3\n93966\t3\n93975\t3\n93986\t3\n93988\t3\n93994\t3\n94002\t3\n94004\t3\n94006\t3\n94008\t3\n94017\t3\n94018\t3\n94028\t3\n94030\t3\n94033\t3\n94050\t3\n94052\t3\n94053\t3\n94057\t3\n94058\t3\n94062\t3\n94064\t3\n94068\t3\n94069\t3\n94072\t3\n94088\t3\n94091\t3\n94100\t3\n94102\t3\n94110\t3\n94113\t3\n94117\t3\n94119\t3\n94122\t3\n94130\t3\n94136\t3\n94138\t3\n94148\t3\n94160\t3\n94161\t3\n94165\t3\n94166\t3\n94172\t3\n94177\t3\n94182\t3\n94184\t3\n94187\t3\n94190\t3\n94207\t3\n94214\t3\n94217\t3\n94218\t3\n94221\t3\n94223\t3\n94227\t3\n94229\t3\n94232\t3\n94235\t3\n94240\t3\n94249\t3\n94251\t3\n94255\t3\n94257\t3\n94263\t3\n94269\t3\n94282\t3\n94284\t3\n94290\t3\n94294\t3\n94300\t3\n94320\t3\n94322\t3\n94324\t3\n94330\t3\n94345\t3\n94357\t3\n94359\t3\n94363\t3\n94378\t3\n94385\t3\n94405\t3\n94411\t3\n94414\t3\n94424\t3\n94425\t3\n94433\t3\n94451\t3\n94456\t3\n94463\t3\n94467\t3\n94469\t3\n94475\t3\n94487\t3\n94492\t3\n94494\t3\n94501\t3\n94503\t3\n94507\t3\n94520\t3\n94523\t3\n94530\t3\n94535\t3\n94540\t3\n94546\t3\n94549\t3\n94553\t3\n94569\t3\n94588\t3\n94591\t3\n94595\t3\n94596\t3\n94599\t3\n94601\t3\n94602\t3\n94604\t3\n94605\t3\n94607\t3\n94611\t3\n94616\t3\n94619\t3\n94622\t3\n94627\t3\n94632\t3\n94634\t3\n94636\t3\n94640\t3\n94641\t3\n94648\t3\n94650\t3\n94656\t3\n94661\t3\n94669\t3\n94673\t3\n94674\t3\n94676\t3\n94683\t3\n94688\t3\n94695\t3\n94698\t3\n94699\t3\n94704\t3\n94714\t3\n94720\t3\n94738\t3\n94747\t3\n94758\t3\n94766\t3\n94770\t3\n94783\t3\n94785\t3\n94788\t3\n94792\t3\n94796\t3\n94797\t3\n94819\t3\n94825\t3\n94827\t3\n94836\t3\n94837\t3\n94840\t3\n94846\t3\n94854\t3\n94855\t3\n94860\t3\n94867\t3\n94871\t3\n94872\t3\n94873\t3\n94879\t3\n94884\t3\n94899\t3\n94902\t3\n94903\t3\n94908\t3\n94916\t3\n94918\t3\n94919\t3\n94923\t3\n94932\t3\n94934\t3\n94940\t3\n94941\t3\n94956\t3\n94959\t3\n94960\t3\n94968\t3\n94970\t3\n94973\t3\n94978\t3\n94980\t3\n94984\t3\n94988\t3\n94995\t3\n95004\t3\n95005\t3\n95015\t3\n95017\t3\n95023\t3\n95028\t3\n95029\t3\n95031\t3\n95032\t3\n95038\t3\n95049\t3\n95054\t3\n95055\t3\n95058\t3\n95067\t3\n95075\t3\n95076\t3\n95078\t3\n95081\t3\n95086\t3\n95097\t3\n95106\t3\n95107\t3\n95115\t3\n95118\t3\n95121\t3\n95129\t3\n95132\t3\n95135\t3\n95136\t3\n95144\t3\n95150\t3\n95156\t3\n95171\t3\n95173\t3\n95187\t3\n95204\t3\n95221\t3\n95222\t3\n95230\t3\n95232\t3\n95234\t3\n95238\t3\n95239\t3\n95244\t3\n95251\t3\n95254\t3\n95282\t3\n95288\t3\n95290\t3\n95305\t3\n95315\t3\n95324\t3\n95328\t3\n95330\t3\n95333\t3\n95359\t3\n95364\t3\n95368\t3\n95374\t3\n95377\t3\n95378\t3\n95382\t3\n95384\t3\n95390\t3\n95394\t3\n95406\t3\n95410\t3\n95413\t3\n95424\t3\n95425\t3\n95431\t3\n95435\t3\n95441\t3\n95445\t3\n95457\t3\n95458\t3\n95465\t3\n95469\t3\n95482\t3\n95489\t3\n95491\t3\n95501\t3\n95508\t3\n95515\t3\n95517\t3\n95523\t3\n95530\t3\n95540\t3\n95542\t3\n95547\t3\n95563\t3\n95567\t3\n95583\t3\n95590\t3\n95591\t3\n95598\t3\n95609\t3\n95613\t3\n95616\t3\n95623\t3\n95625\t3\n95626\t3\n95631\t3\n95650\t3\n95657\t3\n95666\t3\n95669\t3\n95674\t3\n95689\t3\n95698\t3\n95701\t3\n95703\t3\n95717\t3\n95722\t3\n95727\t3\n95730\t3\n95731\t3\n95737\t3\n95742\t3\n95744\t3\n95745\t3\n95748\t3\n95752\t3\n95755\t3\n95758\t3\n95767\t3\n95777\t3\n95782\t3\n95785\t3\n95790\t3\n95793\t3\n95801\t3\n95806\t3\n95810\t3\n95811\t3\n95829\t3\n95831\t3\n95832\t3\n95836\t3\n95843\t3\n95871\t3\n95875\t3\n95880\t3\n95884\t3\n95893\t3\n95894\t3\n95898\t3\n95907\t3\n95914\t3\n95925\t3\n95932\t3\n95933\t3\n95936\t3\n95948\t3\n95959\t3\n95971\t3\n95980\t3\n95982\t3\n95986\t3\n95997\t3\n95999\t3\n96009\t3\n96011\t3\n96019\t3\n96032\t3\n96034\t3\n96043\t3\n96047\t3\n96049\t3\n96056\t3\n96058\t3\n96068\t3\n96070\t3\n96071\t3\n96078\t3\n96079\t3\n96081\t3\n96091\t3\n96093\t3\n96098\t3\n96108\t3\n96110\t3\n96119\t3\n96121\t3\n96124\t3\n96128\t3\n96132\t3\n96141\t3\n96145\t3\n96156\t3\n96157\t3\n96158\t3\n96164\t3\n96167\t3\n96175\t3\n96180\t3\n96187\t3\n96188\t3\n96226\t3\n96229\t3\n96230\t3\n96234\t3\n96235\t3\n96239\t3\n96241\t3\n96244\t3\n96245\t3\n96249\t3\n96259\t3\n96264\t3\n96281\t3\n96282\t3\n96285\t3\n96288\t3\n96290\t3\n96296\t3\n96308\t3\n96316\t3\n96319\t3\n96331\t3\n96334\t3\n96347\t3\n96351\t3\n96356\t3\n96362\t3\n96365\t3\n96369\t3\n96383\t3\n96387\t3\n96403\t3\n96411\t3\n96421\t3\n96422\t3\n96431\t3\n96432\t3\n96433\t3\n96437\t3\n96440\t3\n96443\t3\n96444\t3\n96445\t3\n96448\t3\n96450\t3\n96454\t3\n96456\t3\n96463\t3\n96468\t3\n96478\t3\n96482\t3\n96484\t3\n96487\t3\n96488\t3\n96491\t3\n96500\t3\n96503\t3\n96523\t3\n96525\t3\n96527\t3\n96530\t3\n96532\t3\n96535\t3\n96538\t3\n96543\t3\n96546\t3\n96548\t3\n96552\t3\n96553\t3\n96557\t3\n96567\t3\n96573\t3\n96574\t3\n96577\t3\n96578\t3\n96580\t3\n96589\t3\n96590\t3\n96601\t3\n96604\t3\n96613\t3\n96617\t3\n96618\t3\n96619\t3\n96626\t3\n96629\t3\n96632\t3\n96643\t3\n96648\t3\n96649\t3\n96653\t3\n96664\t3\n96666\t3\n96673\t3\n96688\t3\n96689\t3\n96692\t3\n96694\t3\n96697\t3\n96703\t3\n96705\t3\n96711\t3\n96714\t3\n96717\t3\n96727\t3\n96732\t3\n96743\t3\n96748\t3\n96757\t3\n96761\t3\n96779\t3\n96781\t3\n96782\t3\n96789\t3\n96807\t3\n96817\t3\n96838\t3\n96841\t3\n96847\t3\n96857\t3\n96858\t3\n96861\t3\n96866\t3\n96868\t3\n96870\t3\n96879\t3\n96883\t3\n96889\t3\n96896\t3\n96897\t3\n96900\t3\n96909\t3\n96927\t3\n96929\t3\n96931\t3\n96959\t3\n96964\t3\n96975\t3\n96977\t3\n96981\t3\n96989\t3\n96991\t3\n96995\t3\n97002\t3\n97007\t3\n97018\t3\n97025\t3\n97028\t3\n97036\t3\n97038\t3\n97042\t3\n97056\t3\n97057\t3\n97074\t3\n97077\t3\n97080\t3\n97091\t3\n97107\t3\n97110\t3\n97111\t3\n97113\t3\n97117\t3\n97122\t3\n97144\t3\n97145\t3\n97170\t3\n97174\t3\n97176\t3\n97180\t3\n97181\t3\n97197\t3\n97202\t3\n97206\t3\n97219\t3\n97222\t3\n97224\t3\n97232\t3\n97233\t3\n97239\t3\n97240\t3\n97243\t3\n97255\t3\n97261\t3\n97263\t3\n97269\t3\n97278\t3\n97280\t3\n97285\t3\n97290\t3\n97293\t3\n97302\t3\n97303\t3\n97305\t3\n97307\t3\n97326\t3\n97329\t3\n97331\t3\n97333\t3\n97335\t3\n97336\t3\n97338\t3\n97343\t3\n97346\t3\n97357\t3\n97358\t3\n97367\t3\n97368\t3\n97380\t3\n97382\t3\n97390\t3\n97391\t3\n97393\t3\n97395\t3\n97400\t3\n97402\t3\n97403\t3\n97404\t3\n97409\t3\n97413\t3\n97417\t3\n97428\t3\n97429\t3\n97436\t3\n97441\t3\n97451\t3\n97452\t3\n97457\t3\n97459\t3\n97460\t3\n97463\t3\n97474\t3\n97476\t3\n97481\t3\n97482\t3\n97483\t3\n97486\t3\n97497\t3\n97501\t3\n97502\t3\n97503\t3\n97509\t3\n97510\t3\n97511\t3\n97518\t3\n97525\t3\n97528\t3\n97540\t3\n97541\t3\n97543\t3\n97546\t3\n97547\t3\n97552\t3\n97555\t3\n97557\t3\n97559\t3\n97561\t3\n97567\t3\n97568\t3\n97569\t3\n97571\t3\n97572\t3\n97573\t3\n97575\t3\n97577\t3\n97579\t3\n97582\t3\n97591\t3\n97600\t3\n97611\t3\n97617\t3\n97621\t3\n97624\t3\n97633\t3\n97635\t3\n97637\t3\n97643\t3\n97644\t3\n97647\t3\n97650\t3\n97654\t3\n97657\t3\n97671\t3\n97680\t3\n97682\t3\n97686\t3\n97692\t3\n97694\t3\n97697\t3\n97699\t3\n97704\t3\n97706\t3\n97707\t3\n97714\t3\n97718\t3\n97719\t3\n97730\t3\n97731\t3\n97734\t3\n97740\t3\n97747\t3\n97748\t3\n97753\t3\n97797\t3\n97798\t3\n97801\t3\n97802\t3\n97804\t3\n97821\t3\n97824\t3\n97829\t3\n97831\t3\n97844\t3\n97850\t3\n97853\t3\n97866\t3\n97867\t3\n97868\t3\n97874\t3\n97878\t3\n97880\t3\n97881\t3\n97886\t3\n97890\t3\n97899\t3\n97903\t3\n97905\t3\n97930\t3\n97947\t3\n97956\t3\n97957\t3\n97964\t3\n97976\t3\n97979\t3\n97992\t3\n97999\t3\n98003\t3\n98004\t3\n98020\t3\n98024\t3\n98031\t3\n98039\t3\n98049\t3\n98055\t3\n98056\t3\n98071\t3\n98072\t3\n98073\t3\n98075\t3\n98088\t3\n98101\t3\n98106\t3\n98120\t3\n98126\t3\n98127\t3\n98129\t3\n98135\t3\n98141\t3\n98144\t3\n98152\t3\n98168\t3\n98171\t3\n98172\t3\n98178\t3\n98194\t3\n98199\t3\n98205\t3\n98221\t3\n98222\t3\n98223\t3\n98230\t3\n98236\t3\n98241\t3\n98249\t3\n98255\t3\n98256\t3\n98259\t3\n98267\t3\n98277\t3\n98279\t3\n98285\t3\n98286\t3\n98292\t3\n98300\t3\n98312\t3\n98317\t3\n98321\t3\n98323\t3\n98328\t3\n98329\t3\n98330\t3\n98335\t3\n98338\t3\n98339\t3\n98342\t3\n98344\t3\n98350\t3\n98367\t3\n98384\t3\n98388\t3\n98391\t3\n98392\t3\n98401\t3\n98410\t3\n98425\t3\n98426\t3\n98430\t3\n98432\t3\n98435\t3\n98438\t3\n98453\t3\n98456\t3\n98458\t3\n98460\t3\n98470\t3\n98472\t3\n98474\t3\n98475\t3\n98476\t3\n98478\t3\n98487\t3\n98488\t3\n98489\t3\n98490\t3\n98493\t3\n98500\t3\n98504\t3\n98508\t3\n98510\t3\n98512\t3\n98517\t3\n98518\t3\n98547\t3\n98559\t3\n98571\t3\n98592\t3\n98597\t3\n98601\t3\n98620\t3\n98621\t3\n98624\t3\n98630\t3\n98633\t3\n98640\t3\n98642\t3\n98643\t3\n98651\t3\n98656\t3\n98659\t3\n98671\t3\n98675\t3\n98677\t3\n98681\t3\n98683\t3\n98689\t3\n98698\t3\n98699\t3\n98701\t3\n98705\t3\n98709\t3\n98722\t3\n98730\t3\n98742\t3\n98745\t3\n98746\t3\n98759\t3\n98762\t3\n98765\t3\n98768\t3\n98771\t3\n98774\t3\n98780\t3\n98799\t3\n98805\t3\n98806\t3\n98815\t3\n98824\t3\n98828\t3\n98834\t3\n98838\t3\n98839\t3\n98845\t3\n98849\t3\n98855\t3\n98864\t3\n98867\t3\n98869\t3\n98876\t3\n98879\t3\n98899\t3\n98905\t3\n98908\t3\n98915\t3\n98921\t3\n98925\t3\n98928\t3\n98939\t3\n98945\t3\n98957\t3\n98966\t3\n98972\t3\n98981\t3\n98990\t3\n98993\t3\n17\t4\n19\t4\n22\t4\n33\t4\n41\t4\n44\t4\n50\t4\n54\t4\n58\t4\n59\t4\n64\t4\n69\t4\n73\t4\n74\t4\n76\t4\n80\t4\n88\t4\n95\t4\n107\t4\n108\t4\n111\t4\n118\t4\n119\t4\n133\t4\n134\t4\n142\t4\n145\t4\n147\t4\n154\t4\n156\t4\n159\t4\n162\t4\n163\t4\n171\t4\n172\t4\n202\t4\n205\t4\n209\t4\n210\t4\n212\t4\n213\t4\n215\t4\n220\t4\n223\t4\n233\t4\n234\t4\n245\t4\n247\t4\n256\t4\n260\t4\n261\t4\n267\t4\n282\t4\n285\t4\n287\t4\n293\t4\n301\t4\n302\t4\n305\t4\n318\t4\n320\t4\n323\t4\n325\t4\n327\t4\n328\t4\n335\t4\n345\t4\n346\t4\n350\t4\n354\t4\n358\t4\n362\t4\n367\t4\n368\t4\n375\t4\n376\t4\n378\t4\n379\t4\n388\t4\n389\t4\n398\t4\n410\t4\n414\t4\n419\t4\n427\t4\n431\t4\n439\t4\n444\t4\n451\t4\n456\t4\n460\t4\n461\t4\n470\t4\n474\t4\n478\t4\n479\t4\n482\t4\n483\t4\n487\t4\n496\t4\n505\t4\n514\t4\n517\t4\n519\t4\n525\t4\n527\t4\n529\t4\n532\t4\n538\t4\n540\t4\n542\t4\n548\t4\n554\t4\n556\t4\n567\t4\n580\t4\n581\t4\n587\t4\n589\t4\n590\t4\n597\t4\n606\t4\n609\t4\n612\t4\n615\t4\n617\t4\n619\t4\n624\t4\n629\t4\n635\t4\n646\t4\n652\t4\n662\t4\n665\t4\n671\t4\n676\t4\n677\t4\n689\t4\n693\t4\n696\t4\n706\t4\n710\t4\n711\t4\n713\t4\n717\t4\n725\t4\n726\t4\n739\t4\n740\t4\n741\t4\n742\t4\n744\t4\n750\t4\n755\t4\n777\t4\n781\t4\n791\t4\n797\t4\n801\t4\n805\t4\n809\t4\n811\t4\n816\t4\n817\t4\n820\t4\n823\t4\n825\t4\n827\t4\n833\t4\n839\t4\n845\t4\n852\t4\n873\t4\n885\t4\n888\t4\n909\t4\n919\t4\n925\t4\n929\t4\n949\t4\n951\t4\n953\t4\n956\t4\n960\t4\n962\t4\n963\t4\n969\t4\n978\t4\n985\t4\n992\t4\n996\t4\n999\t4\n1013\t4\n1031\t4\n1034\t4\n1036\t4\n1039\t4\n1049\t4\n1051\t4\n1058\t4\n1059\t4\n1066\t4\n1069\t4\n1080\t4\n1085\t4\n1086\t4\n1090\t4\n1091\t4\n1094\t4\n1095\t4\n1103\t4\n1116\t4\n1118\t4\n1133\t4\n1138\t4\n1141\t4\n1153\t4\n1158\t4\n1161\t4\n1163\t4\n1169\t4\n1170\t4\n1173\t4\n1189\t4\n1197\t4\n1203\t4\n1208\t4\n1211\t4\n1215\t4\n1217\t4\n1236\t4\n1238\t4\n1242\t4\n1245\t4\n1261\t4\n1284\t4\n1289\t4\n1290\t4\n1305\t4\n1310\t4\n1313\t4\n1314\t4\n1318\t4\n1319\t4\n1324\t4\n1329\t4\n1336\t4\n1339\t4\n1341\t4\n1344\t4\n1368\t4\n1374\t4\n1382\t4\n1383\t4\n1386\t4\n1390\t4\n1392\t4\n1402\t4\n1411\t4\n1413\t4\n1414\t4\n1430\t4\n1439\t4\n1453\t4\n1462\t4\n1468\t4\n1479\t4\n1491\t4\n1496\t4\n1512\t4\n1533\t4\n1535\t4\n1542\t4\n1543\t4\n1553\t4\n1554\t4\n1571\t4\n1576\t4\n1577\t4\n1580\t4\n1582\t4\n1590\t4\n1597\t4\n1600\t4\n1608\t4\n1609\t4\n1612\t4\n1615\t4\n1617\t4\n1620\t4\n1622\t4\n1626\t4\n1638\t4\n1640\t4\n1647\t4\n1659\t4\n1660\t4\n1663\t4\n1666\t4\n1668\t4\n1677\t4\n1681\t4\n1684\t4\n1686\t4\n1690\t4\n1702\t4\n1705\t4\n1709\t4\n1710\t4\n1721\t4\n1728\t4\n1733\t4\n1742\t4\n1743\t4\n1747\t4\n1757\t4\n1765\t4\n1769\t4\n1770\t4\n1779\t4\n1789\t4\n1811\t4\n1816\t4\n1817\t4\n1827\t4\n1848\t4\n1850\t4\n1862\t4\n1863\t4\n1865\t4\n1866\t4\n1873\t4\n1878\t4\n1887\t4\n1890\t4\n1892\t4\n1898\t4\n1903\t4\n1911\t4\n1924\t4\n1925\t4\n1932\t4\n1934\t4\n1938\t4\n1941\t4\n1947\t4\n1955\t4\n1976\t4\n1983\t4\n1996\t4\n1997\t4\n2000\t4\n2008\t4\n2009\t4\n2019\t4\n2034\t4\n2041\t4\n2050\t4\n2066\t4\n2073\t4\n2092\t4\n2102\t4\n2103\t4\n2110\t4\n2112\t4\n2114\t4\n2121\t4\n2124\t4\n2132\t4\n2135\t4\n2140\t4\n2145\t4\n2146\t4\n2153\t4\n2167\t4\n2168\t4\n2170\t4\n2175\t4\n2180\t4\n2181\t4\n2186\t4\n2190\t4\n2203\t4\n2205\t4\n2207\t4\n2211\t4\n2212\t4\n2221\t4\n2226\t4\n2232\t4\n2238\t4\n2248\t4\n2254\t4\n2272\t4\n2294\t4\n2298\t4\n2308\t4\n2312\t4\n2315\t4\n2325\t4\n2329\t4\n2331\t4\n2333\t4\n2336\t4\n2337\t4\n2358\t4\n2359\t4\n2361\t4\n2364\t4\n2370\t4\n2386\t4\n2393\t4\n2398\t4\n2402\t4\n2406\t4\n2413\t4\n2418\t4\n2421\t4\n2427\t4\n2428\t4\n2437\t4\n2445\t4\n2451\t4\n2453\t4\n2454\t4\n2455\t4\n2461\t4\n2476\t4\n2477\t4\n2480\t4\n2487\t4\n2491\t4\n2493\t4\n2498\t4\n2501\t4\n2523\t4\n2530\t4\n2531\t4\n2536\t4\n2540\t4\n2545\t4\n2553\t4\n2554\t4\n2558\t4\n2563\t4\n2565\t4\n2567\t4\n2570\t4\n2577\t4\n2591\t4\n2593\t4\n2598\t4\n2606\t4\n2613\t4\n2624\t4\n2626\t4\n2644\t4\n2645\t4\n2648\t4\n2665\t4\n2673\t4\n2674\t4\n2677\t4\n2679\t4\n2690\t4\n2694\t4\n2695\t4\n2698\t4\n2703\t4\n2705\t4\n2710\t4\n2711\t4\n2714\t4\n2716\t4\n2726\t4\n2731\t4\n2734\t4\n2735\t4\n2743\t4\n2745\t4\n2762\t4\n2770\t4\n2776\t4\n2778\t4\n2793\t4\n2796\t4\n2803\t4\n2804\t4\n2822\t4\n2839\t4\n2841\t4\n2843\t4\n2846\t4\n2856\t4\n2871\t4\n2873\t4\n2887\t4\n2899\t4\n2907\t4\n2908\t4\n2910\t4\n2914\t4\n2922\t4\n2924\t4\n2926\t4\n2927\t4\n2931\t4\n2933\t4\n2940\t4\n2949\t4\n2964\t4\n2968\t4\n2979\t4\n2982\t4\n2988\t4\n2991\t4\n2992\t4\n3004\t4\n3008\t4\n3011\t4\n3017\t4\n3030\t4\n3038\t4\n3050\t4\n3059\t4\n3067\t4\n3070\t4\n3076\t4\n3087\t4\n3098\t4\n3100\t4\n3114\t4\n3119\t4\n3120\t4\n3123\t4\n3129\t4\n3135\t4\n3138\t4\n3145\t4\n3146\t4\n3149\t4\n3162\t4\n3171\t4\n3181\t4\n3185\t4\n3191\t4\n3196\t4\n3197\t4\n3201\t4\n3202\t4\n3205\t4\n3213\t4\n3215\t4\n3216\t4\n3227\t4\n3232\t4\n3233\t4\n3241\t4\n3247\t4\n3255\t4\n3258\t4\n3269\t4\n3283\t4\n3285\t4\n3289\t4\n3299\t4\n3311\t4\n3334\t4\n3338\t4\n3339\t4\n3345\t4\n3347\t4\n3348\t4\n3353\t4\n3369\t4\n3381\t4\n3383\t4\n3384\t4\n3387\t4\n3400\t4\n3403\t4\n3407\t4\n3414\t4\n3415\t4\n3417\t4\n3418\t4\n3420\t4\n3422\t4\n3426\t4\n3432\t4\n3442\t4\n3445\t4\n3453\t4\n3454\t4\n3467\t4\n3483\t4\n3485\t4\n3486\t4\n3490\t4\n3501\t4\n3503\t4\n3507\t4\n3508\t4\n3515\t4\n3519\t4\n3521\t4\n3523\t4\n3525\t4\n3535\t4\n3539\t4\n3542\t4\n3563\t4\n3567\t4\n3569\t4\n3573\t4\n3580\t4\n3587\t4\n3604\t4\n3608\t4\n3612\t4\n3613\t4\n3614\t4\n3618\t4\n3621\t4\n3647\t4\n3652\t4\n3653\t4\n3656\t4\n3666\t4\n3667\t4\n3668\t4\n3685\t4\n3690\t4\n3711\t4\n3713\t4\n3715\t4\n3731\t4\n3741\t4\n3763\t4\n3769\t4\n3773\t4\n3780\t4\n3787\t4\n3794\t4\n3795\t4\n3802\t4\n3822\t4\n3824\t4\n3836\t4\n3838\t4\n3847\t4\n3849\t4\n3856\t4\n3861\t4\n3862\t4\n3868\t4\n3878\t4\n3903\t4\n3907\t4\n3908\t4\n3918\t4\n3920\t4\n3944\t4\n3945\t4\n3948\t4\n3956\t4\n3963\t4\n3968\t4\n3972\t4\n3973\t4\n3976\t4\n3978\t4\n3985\t4\n3986\t4\n3987\t4\n3993\t4\n3997\t4\n4000\t4\n4004\t4\n4006\t4\n4009\t4\n4017\t4\n4033\t4\n4036\t4\n4048\t4\n4049\t4\n4057\t4\n4059\t4\n4061\t4\n4062\t4\n4063\t4\n4064\t4\n4074\t4\n4085\t4\n4087\t4\n4088\t4\n4090\t4\n4108\t4\n4111\t4\n4113\t4\n4115\t4\n4121\t4\n4123\t4\n4130\t4\n4134\t4\n4136\t4\n4147\t4\n4149\t4\n4151\t4\n4155\t4\n4160\t4\n4174\t4\n4176\t4\n4177\t4\n4180\t4\n4184\t4\n4185\t4\n4187\t4\n4191\t4\n4192\t4\n4194\t4\n4198\t4\n4201\t4\n4209\t4\n4213\t4\n4216\t4\n4236\t4\n4244\t4\n4245\t4\n4249\t4\n4253\t4\n4254\t4\n4266\t4\n4270\t4\n4288\t4\n4299\t4\n4304\t4\n4305\t4\n4311\t4\n4312\t4\n4322\t4\n4326\t4\n4331\t4\n4336\t4\n4342\t4\n4347\t4\n4349\t4\n4350\t4\n4351\t4\n4353\t4\n4357\t4\n4363\t4\n4368\t4\n4372\t4\n4375\t4\n4378\t4\n4383\t4\n4395\t4\n4396\t4\n4397\t4\n4408\t4\n4409\t4\n4410\t4\n4413\t4\n4416\t4\n4429\t4\n4433\t4\n4436\t4\n4437\t4\n4442\t4\n4462\t4\n4466\t4\n4474\t4\n4477\t4\n4484\t4\n4490\t4\n4492\t4\n4497\t4\n4508\t4\n4511\t4\n4525\t4\n4528\t4\n4531\t4\n4533\t4\n4534\t4\n4543\t4\n4556\t4\n4564\t4\n4578\t4\n4581\t4\n4584\t4\n4591\t4\n4597\t4\n4602\t4\n4608\t4\n4610\t4\n4635\t4\n4647\t4\n4655\t4\n4660\t4\n4661\t4\n4667\t4\n4672\t4\n4675\t4\n4676\t4\n4678\t4\n4682\t4\n4694\t4\n4695\t4\n4699\t4\n4700\t4\n4713\t4\n4716\t4\n4721\t4\n4726\t4\n4728\t4\n4730\t4\n4732\t4\n4742\t4\n4749\t4\n4750\t4\n4754\t4\n4760\t4\n4764\t4\n4765\t4\n4769\t4\n4784\t4\n4786\t4\n4787\t4\n4788\t4\n4805\t4\n4811\t4\n4814\t4\n4817\t4\n4818\t4\n4822\t4\n4827\t4\n4831\t4\n4832\t4\n4851\t4\n4860\t4\n4862\t4\n4869\t4\n4874\t4\n4911\t4\n4914\t4\n4915\t4\n4917\t4\n4921\t4\n4923\t4\n4931\t4\n4941\t4\n4945\t4\n4951\t4\n4958\t4\n4959\t4\n4961\t4\n4966\t4\n4969\t4\n4971\t4\n4978\t4\n4981\t4\n4999\t4\n5000\t4\n5001\t4\n5004\t4\n5012\t4\n5021\t4\n5024\t4\n5048\t4\n5056\t4\n5057\t4\n5069\t4\n5070\t4\n5076\t4\n5079\t4\n5094\t4\n5102\t4\n5115\t4\n5118\t4\n5132\t4\n5136\t4\n5142\t4\n5149\t4\n5152\t4\n5156\t4\n5157\t4\n5170\t4\n5173\t4\n5183\t4\n5200\t4\n5209\t4\n5219\t4\n5245\t4\n5246\t4\n5248\t4\n5249\t4\n5251\t4\n5254\t4\n5262\t4\n5266\t4\n5270\t4\n5275\t4\n5283\t4\n5286\t4\n5301\t4\n5302\t4\n5311\t4\n5323\t4\n5324\t4\n5328\t4\n5333\t4\n5338\t4\n5341\t4\n5343\t4\n5347\t4\n5349\t4\n5352\t4\n5364\t4\n5371\t4\n5379\t4\n5383\t4\n5391\t4\n5396\t4\n5409\t4\n5413\t4\n5417\t4\n5421\t4\n5422\t4\n5425\t4\n5438\t4\n5450\t4\n5457\t4\n5459\t4\n5464\t4\n5466\t4\n5467\t4\n5468\t4\n5480\t4\n5481\t4\n5487\t4\n5494\t4\n5524\t4\n5530\t4\n5531\t4\n5534\t4\n5536\t4\n5539\t4\n5540\t4\n5541\t4\n5549\t4\n5555\t4\n5568\t4\n5576\t4\n5580\t4\n5584\t4\n5588\t4\n5592\t4\n5603\t4\n5606\t4\n5609\t4\n5614\t4\n5616\t4\n5619\t4\n5624\t4\n5631\t4\n5637\t4\n5641\t4\n5649\t4\n5650\t4\n5662\t4\n5668\t4\n5669\t4\n5671\t4\n5679\t4\n5681\t4\n5691\t4\n5696\t4\n5703\t4\n5704\t4\n5715\t4\n5725\t4\n5732\t4\n5733\t4\n5736\t4\n5746\t4\n5753\t4\n5758\t4\n5759\t4\n5765\t4\n5773\t4\n5774\t4\n5777\t4\n5786\t4\n5787\t4\n5789\t4\n5792\t4\n5803\t4\n5805\t4\n5821\t4\n5840\t4\n5842\t4\n5857\t4\n5861\t4\n5867\t4\n5868\t4\n5875\t4\n5880\t4\n5881\t4\n5885\t4\n5895\t4\n5896\t4\n5898\t4\n5914\t4\n5917\t4\n5919\t4\n5926\t4\n5928\t4\n5935\t4\n5946\t4\n5947\t4\n5959\t4\n5962\t4\n5965\t4\n5966\t4\n5968\t4\n5971\t4\n5975\t4\n5976\t4\n5986\t4\n5988\t4\n6004\t4\n6023\t4\n6036\t4\n6037\t4\n6046\t4\n6057\t4\n6061\t4\n6066\t4\n6072\t4\n6074\t4\n6077\t4\n6083\t4\n6092\t4\n6099\t4\n6101\t4\n6107\t4\n6115\t4\n6121\t4\n6130\t4\n6135\t4\n6141\t4\n6142\t4\n6144\t4\n6149\t4\n6150\t4\n6152\t4\n6153\t4\n6156\t4\n6160\t4\n6162\t4\n6184\t4\n6188\t4\n6191\t4\n6196\t4\n6202\t4\n6204\t4\n6207\t4\n6211\t4\n6216\t4\n6217\t4\n6221\t4\n6222\t4\n6225\t4\n6239\t4\n6242\t4\n6245\t4\n6246\t4\n6258\t4\n6260\t4\n6265\t4\n6268\t4\n6275\t4\n6284\t4\n6293\t4\n6316\t4\n6319\t4\n6320\t4\n6325\t4\n6326\t4\n6328\t4\n6329\t4\n6330\t4\n6336\t4\n6342\t4\n6343\t4\n6353\t4\n6368\t4\n6379\t4\n6380\t4\n6387\t4\n6388\t4\n6392\t4\n6400\t4\n6410\t4\n6417\t4\n6422\t4\n6423\t4\n6425\t4\n6438\t4\n6453\t4\n6455\t4\n6458\t4\n6459\t4\n6464\t4\n6468\t4\n6476\t4\n6480\t4\n6487\t4\n6490\t4\n6498\t4\n6500\t4\n6506\t4\n6510\t4\n6512\t4\n6519\t4\n6521\t4\n6526\t4\n6527\t4\n6532\t4\n6535\t4\n6538\t4\n6542\t4\n6544\t4\n6559\t4\n6560\t4\n6565\t4\n6566\t4\n6576\t4\n6577\t4\n6581\t4\n6584\t4\n6587\t4\n6594\t4\n6614\t4\n6623\t4\n6630\t4\n6633\t4\n6644\t4\n6658\t4\n6660\t4\n6668\t4\n6670\t4\n6676\t4\n6696\t4\n6704\t4\n6711\t4\n6715\t4\n6727\t4\n6731\t4\n6733\t4\n6735\t4\n6736\t4\n6738\t4\n6743\t4\n6746\t4\n6748\t4\n6751\t4\n6756\t4\n6757\t4\n6760\t4\n6769\t4\n6775\t4\n6777\t4\n6784\t4\n6786\t4\n6816\t4\n6817\t4\n6825\t4\n6840\t4\n6842\t4\n6858\t4\n6859\t4\n6877\t4\n6884\t4\n6888\t4\n6896\t4\n6915\t4\n6919\t4\n6923\t4\n6934\t4\n6935\t4\n6941\t4\n6945\t4\n6953\t4\n6958\t4\n6962\t4\n6963\t4\n6972\t4\n6978\t4\n6982\t4\n6990\t4\n6992\t4\n6999\t4\n7004\t4\n7007\t4\n7013\t4\n7015\t4\n7017\t4\n7021\t4\n7034\t4\n7035\t4\n7043\t4\n7044\t4\n7051\t4\n7062\t4\n7078\t4\n7079\t4\n7083\t4\n7093\t4\n7097\t4\n7100\t4\n7111\t4\n7116\t4\n7129\t4\n7132\t4\n7136\t4\n7138\t4\n7139\t4\n7140\t4\n7146\t4\n7154\t4\n7159\t4\n7164\t4\n7165\t4\n7182\t4\n7189\t4\n7203\t4\n7206\t4\n7214\t4\n7220\t4\n7221\t4\n7236\t4\n7237\t4\n7239\t4\n7240\t4\n7241\t4\n7243\t4\n7247\t4\n7253\t4\n7258\t4\n7262\t4\n7263\t4\n7268\t4\n7270\t4\n7273\t4\n7275\t4\n7278\t4\n7279\t4\n7284\t4\n7299\t4\n7315\t4\n7318\t4\n7321\t4\n7323\t4\n7333\t4\n7338\t4\n7345\t4\n7346\t4\n7348\t4\n7352\t4\n7353\t4\n7355\t4\n7356\t4\n7369\t4\n7379\t4\n7386\t4\n7392\t4\n7401\t4\n7402\t4\n7404\t4\n7405\t4\n7415\t4\n7462\t4\n7466\t4\n7469\t4\n7491\t4\n7492\t4\n7505\t4\n7507\t4\n7517\t4\n7519\t4\n7532\t4\n7537\t4\n7538\t4\n7545\t4\n7549\t4\n7553\t4\n7555\t4\n7563\t4\n7565\t4\n7566\t4\n7576\t4\n7578\t4\n7581\t4\n7615\t4\n7617\t4\n7623\t4\n7628\t4\n7633\t4\n7635\t4\n7636\t4\n7642\t4\n7643\t4\n7652\t4\n7654\t4\n7655\t4\n7657\t4\n7659\t4\n7660\t4\n7662\t4\n7665\t4\n7675\t4\n7701\t4\n7707\t4\n7710\t4\n7721\t4\n7726\t4\n7727\t4\n7734\t4\n7736\t4\n7738\t4\n7739\t4\n7741\t4\n7743\t4\n7745\t4\n7755\t4\n7761\t4\n7771\t4\n7773\t4\n7776\t4\n7788\t4\n7791\t4\n7798\t4\n7799\t4\n7802\t4\n7815\t4\n7825\t4\n7833\t4\n7836\t4\n7845\t4\n7850\t4\n7854\t4\n7855\t4\n7865\t4\n7866\t4\n7867\t4\n7869\t4\n7872\t4\n7893\t4\n7903\t4\n7905\t4\n7928\t4\n7930\t4\n7931\t4\n7932\t4\n7935\t4\n7936\t4\n7939\t4\n7941\t4\n7942\t4\n7950\t4\n7959\t4\n7966\t4\n7970\t4\n7973\t4\n7986\t4\n7988\t4\n7994\t4\n8006\t4\n8011\t4\n8014\t4\n8015\t4\n8018\t4\n8025\t4\n8028\t4\n8037\t4\n8040\t4\n8041\t4\n8047\t4\n8061\t4\n8075\t4\n8082\t4\n8084\t4\n8087\t4\n8088\t4\n8090\t4\n8101\t4\n8102\t4\n8109\t4\n8124\t4\n8135\t4\n8157\t4\n8160\t4\n8166\t4\n8173\t4\n8174\t4\n8193\t4\n8194\t4\n8206\t4\n8208\t4\n8209\t4\n8214\t4\n8237\t4\n8238\t4\n8241\t4\n8242\t4\n8243\t4\n8256\t4\n8263\t4\n8266\t4\n8268\t4\n8277\t4\n8299\t4\n8313\t4\n8328\t4\n8334\t4\n8338\t4\n8340\t4\n8341\t4\n8347\t4\n8350\t4\n8360\t4\n8379\t4\n8387\t4\n8394\t4\n8396\t4\n8397\t4\n8412\t4\n8415\t4\n8420\t4\n8421\t4\n8429\t4\n8437\t4\n8445\t4\n8454\t4\n8460\t4\n8465\t4\n8469\t4\n8474\t4\n8477\t4\n8484\t4\n8487\t4\n8501\t4\n8505\t4\n8508\t4\n8511\t4\n8514\t4\n8527\t4\n8532\t4\n8539\t4\n8540\t4\n8550\t4\n8570\t4\n8571\t4\n8585\t4\n8588\t4\n8590\t4\n8594\t4\n8614\t4\n8623\t4\n8627\t4\n8636\t4\n8646\t4\n8656\t4\n8659\t4\n8663\t4\n8694\t4\n8702\t4\n8703\t4\n8706\t4\n8714\t4\n8720\t4\n8722\t4\n8726\t4\n8731\t4\n8738\t4\n8747\t4\n8768\t4\n8773\t4\n8775\t4\n8781\t4\n8783\t4\n8785\t4\n8786\t4\n8794\t4\n8802\t4\n8806\t4\n8808\t4\n8818\t4\n8822\t4\n8826\t4\n8829\t4\n8833\t4\n8844\t4\n8845\t4\n8847\t4\n8848\t4\n8849\t4\n8854\t4\n8856\t4\n8859\t4\n8864\t4\n8869\t4\n8871\t4\n8874\t4\n8876\t4\n8880\t4\n8890\t4\n8893\t4\n8894\t4\n8896\t4\n8898\t4\n8906\t4\n8908\t4\n8924\t4\n8959\t4\n8963\t4\n8964\t4\n8975\t4\n8982\t4\n8989\t4\n8992\t4\n8995\t4\n8996\t4\n8997\t4\n9003\t4\n9004\t4\n9011\t4\n9012\t4\n9020\t4\n9021\t4\n9034\t4\n9039\t4\n9041\t4\n9042\t4\n9048\t4\n9052\t4\n9065\t4\n9068\t4\n9078\t4\n9094\t4\n9095\t4\n9105\t4\n9113\t4\n9121\t4\n9128\t4\n9131\t4\n9136\t4\n9141\t4\n9145\t4\n9148\t4\n9150\t4\n9152\t4\n9159\t4\n9167\t4\n9170\t4\n9180\t4\n9192\t4\n9193\t4\n9196\t4\n9201\t4\n9205\t4\n9209\t4\n9211\t4\n9213\t4\n9222\t4\n9223\t4\n9224\t4\n9233\t4\n9237\t4\n9239\t4\n9263\t4\n9264\t4\n9275\t4\n9278\t4\n9281\t4\n9286\t4\n9292\t4\n9293\t4\n9294\t4\n9310\t4\n9312\t4\n9322\t4\n9323\t4\n9334\t4\n9339\t4\n9340\t4\n9349\t4\n9356\t4\n9363\t4\n9364\t4\n9366\t4\n9383\t4\n9385\t4\n9393\t4\n9407\t4\n9413\t4\n9418\t4\n9422\t4\n9426\t4\n9429\t4\n9431\t4\n9458\t4\n9459\t4\n9460\t4\n9471\t4\n9472\t4\n9473\t4\n9474\t4\n9476\t4\n9493\t4\n9498\t4\n9501\t4\n9502\t4\n9504\t4\n9525\t4\n9533\t4\n9541\t4\n9542\t4\n9548\t4\n9549\t4\n9555\t4\n9557\t4\n9565\t4\n9580\t4\n9584\t4\n9585\t4\n9587\t4\n9589\t4\n9593\t4\n9595\t4\n9597\t4\n9607\t4\n9612\t4\n9615\t4\n9624\t4\n9625\t4\n9640\t4\n9643\t4\n9644\t4\n9646\t4\n9650\t4\n9655\t4\n9657\t4\n9662\t4\n9664\t4\n9674\t4\n9688\t4\n9692\t4\n9707\t4\n9711\t4\n9712\t4\n9719\t4\n9722\t4\n9727\t4\n9735\t4\n9739\t4\n9747\t4\n9752\t4\n9768\t4\n9782\t4\n9791\t4\n9800\t4\n9807\t4\n9816\t4\n9821\t4\n9826\t4\n9827\t4\n9830\t4\n9837\t4\n9848\t4\n9861\t4\n9868\t4\n9874\t4\n9888\t4\n9894\t4\n9895\t4\n9903\t4\n9905\t4\n9906\t4\n9908\t4\n9909\t4\n9911\t4\n9913\t4\n9921\t4\n9928\t4\n9932\t4\n9935\t4\n9936\t4\n9943\t4\n9948\t4\n9953\t4\n9958\t4\n9966\t4\n9974\t4\n9981\t4\n9982\t4\n9992\t4\n9997\t4\n9999\t4\n10015\t4\n10018\t4\n10035\t4\n10039\t4\n10045\t4\n10048\t4\n10051\t4\n10059\t4\n10061\t4\n10063\t4\n10065\t4\n10071\t4\n10074\t4\n10080\t4\n10084\t4\n10089\t4\n10110\t4\n10113\t4\n10120\t4\n10121\t4\n10129\t4\n10134\t4\n10136\t4\n10142\t4\n10143\t4\n10159\t4\n10168\t4\n10173\t4\n10179\t4\n10191\t4\n10192\t4\n10205\t4\n10213\t4\n10218\t4\n10222\t4\n10230\t4\n10244\t4\n10247\t4\n10250\t4\n10257\t4\n10259\t4\n10267\t4\n10281\t4\n10299\t4\n10318\t4\n10324\t4\n10334\t4\n10344\t4\n10345\t4\n10347\t4\n10352\t4\n10357\t4\n10374\t4\n10377\t4\n10378\t4\n10408\t4\n10409\t4\n10411\t4\n10413\t4\n10418\t4\n10422\t4\n10425\t4\n10434\t4\n10436\t4\n10452\t4\n10454\t4\n10463\t4\n10465\t4\n10468\t4\n10491\t4\n10496\t4\n10500\t4\n10501\t4\n10504\t4\n10519\t4\n10524\t4\n10526\t4\n10529\t4\n10530\t4\n10536\t4\n10547\t4\n10548\t4\n10553\t4\n10557\t4\n10558\t4\n10567\t4\n10568\t4\n10569\t4\n10583\t4\n10596\t4\n10598\t4\n10607\t4\n10608\t4\n10615\t4\n10617\t4\n10625\t4\n10631\t4\n10638\t4\n10640\t4\n10650\t4\n10652\t4\n10653\t4\n10658\t4\n10664\t4\n10666\t4\n10676\t4\n10683\t4\n10684\t4\n10692\t4\n10693\t4\n10703\t4\n10704\t4\n10710\t4\n10711\t4\n10721\t4\n10725\t4\n10726\t4\n10729\t4\n10733\t4\n10734\t4\n10736\t4\n10737\t4\n10740\t4\n10742\t4\n10748\t4\n10749\t4\n10753\t4\n10764\t4\n10767\t4\n10769\t4\n10775\t4\n10781\t4\n10782\t4\n10784\t4\n10795\t4\n10802\t4\n10803\t4\n10811\t4\n10813\t4\n10814\t4\n10816\t4\n10832\t4\n10837\t4\n10843\t4\n10863\t4\n10871\t4\n10872\t4\n10876\t4\n10877\t4\n10881\t4\n10884\t4\n10889\t4\n10893\t4\n10905\t4\n10906\t4\n10913\t4\n10914\t4\n10918\t4\n10920\t4\n10921\t4\n10930\t4\n10934\t4\n10935\t4\n10940\t4\n10945\t4\n10948\t4\n10956\t4\n10957\t4\n10977\t4\n10999\t4\n11003\t4\n11005\t4\n11007\t4\n11021\t4\n11045\t4\n11051\t4\n11059\t4\n11062\t4\n11066\t4\n11067\t4\n11068\t4\n11074\t4\n11081\t4\n11088\t4\n11095\t4\n11096\t4\n11098\t4\n11103\t4\n11124\t4\n11129\t4\n11136\t4\n11138\t4\n11153\t4\n11163\t4\n11165\t4\n11167\t4\n11176\t4\n11211\t4\n11215\t4\n11233\t4\n11247\t4\n11257\t4\n11266\t4\n11267\t4\n11282\t4\n11293\t4\n11301\t4\n11303\t4\n11319\t4\n11322\t4\n11331\t4\n11334\t4\n11337\t4\n11339\t4\n11340\t4\n11346\t4\n11355\t4\n11363\t4\n11378\t4\n11385\t4\n11390\t4\n11393\t4\n11397\t4\n11398\t4\n11410\t4\n11422\t4\n11428\t4\n11437\t4\n11439\t4\n11441\t4\n11450\t4\n11461\t4\n11471\t4\n11474\t4\n11478\t4\n11496\t4\n11516\t4\n11519\t4\n11523\t4\n11529\t4\n11539\t4\n11545\t4\n11549\t4\n11550\t4\n11555\t4\n11558\t4\n11560\t4\n11561\t4\n11563\t4\n11565\t4\n11577\t4\n11579\t4\n11581\t4\n11582\t4\n11591\t4\n11593\t4\n11598\t4\n11599\t4\n11601\t4\n11604\t4\n11606\t4\n11614\t4\n11616\t4\n11620\t4\n11628\t4\n11629\t4\n11631\t4\n11634\t4\n11642\t4\n11651\t4\n11654\t4\n11656\t4\n11662\t4\n11685\t4\n11686\t4\n11687\t4\n11689\t4\n11691\t4\n11710\t4\n11712\t4\n11717\t4\n11722\t4\n11723\t4\n11728\t4\n11729\t4\n11739\t4\n11743\t4\n11756\t4\n11759\t4\n11761\t4\n11764\t4\n11765\t4\n11768\t4\n11769\t4\n11774\t4\n11775\t4\n11780\t4\n11792\t4\n11803\t4\n11811\t4\n11823\t4\n11836\t4\n11838\t4\n11845\t4\n11852\t4\n11855\t4\n11856\t4\n11858\t4\n11860\t4\n11862\t4\n11863\t4\n11868\t4\n11871\t4\n11888\t4\n11889\t4\n11897\t4\n11902\t4\n11910\t4\n11913\t4\n11915\t4\n11919\t4\n11920\t4\n11922\t4\n11925\t4\n11926\t4\n11927\t4\n11928\t4\n11930\t4\n11936\t4\n11939\t4\n11940\t4\n11942\t4\n11943\t4\n11954\t4\n11957\t4\n11960\t4\n11963\t4\n11965\t4\n11970\t4\n11976\t4\n11980\t4\n11988\t4\n11989\t4\n11990\t4\n11992\t4\n11993\t4\n11997\t4\n12003\t4\n12018\t4\n12027\t4\n12028\t4\n12030\t4\n12033\t4\n12035\t4\n12036\t4\n12040\t4\n12047\t4\n12050\t4\n12062\t4\n12069\t4\n12071\t4\n12081\t4\n12083\t4\n12086\t4\n12089\t4\n12095\t4\n12117\t4\n12119\t4\n12122\t4\n12123\t4\n12128\t4\n12131\t4\n12136\t4\n12137\t4\n12140\t4\n12146\t4\n12156\t4\n12157\t4\n12168\t4\n12171\t4\n12173\t4\n12180\t4\n12186\t4\n12192\t4\n12196\t4\n12219\t4\n12223\t4\n12233\t4\n12244\t4\n12257\t4\n12259\t4\n12262\t4\n12263\t4\n12277\t4\n12280\t4\n12281\t4\n12289\t4\n12295\t4\n12298\t4\n12302\t4\n12305\t4\n12311\t4\n12318\t4\n12319\t4\n12325\t4\n12332\t4\n12334\t4\n12337\t4\n12340\t4\n12342\t4\n12344\t4\n12351\t4\n12356\t4\n12361\t4\n12362\t4\n12377\t4\n12391\t4\n12395\t4\n12403\t4\n12404\t4\n12406\t4\n12408\t4\n12409\t4\n12416\t4\n12425\t4\n12430\t4\n12434\t4\n12435\t4\n12444\t4\n12446\t4\n12450\t4\n12457\t4\n12458\t4\n12460\t4\n12463\t4\n12469\t4\n12473\t4\n12475\t4\n12482\t4\n12494\t4\n12495\t4\n12512\t4\n12513\t4\n12520\t4\n12524\t4\n12525\t4\n12530\t4\n12532\t4\n12533\t4\n12536\t4\n12541\t4\n12543\t4\n12544\t4\n12548\t4\n12556\t4\n12563\t4\n12571\t4\n12572\t4\n12578\t4\n12579\t4\n12580\t4\n12586\t4\n12587\t4\n12595\t4\n12597\t4\n12601\t4\n12602\t4\n12609\t4\n12610\t4\n12616\t4\n12618\t4\n12628\t4\n12635\t4\n12636\t4\n12654\t4\n12663\t4\n12672\t4\n12674\t4\n12680\t4\n12683\t4\n12686\t4\n12693\t4\n12696\t4\n12702\t4\n12708\t4\n12714\t4\n12723\t4\n12736\t4\n12746\t4\n12761\t4\n12765\t4\n12778\t4\n12779\t4\n12782\t4\n12784\t4\n12786\t4\n12794\t4\n12797\t4\n12812\t4\n12813\t4\n12817\t4\n12818\t4\n12820\t4\n12821\t4\n12825\t4\n12831\t4\n12832\t4\n12842\t4\n12844\t4\n12850\t4\n12853\t4\n12855\t4\n12857\t4\n12863\t4\n12869\t4\n12879\t4\n12880\t4\n12886\t4\n12887\t4\n12890\t4\n12892\t4\n12908\t4\n12909\t4\n12910\t4\n12913\t4\n12914\t4\n12915\t4\n12917\t4\n12921\t4\n12924\t4\n12926\t4\n12936\t4\n12942\t4\n12945\t4\n12947\t4\n12948\t4\n12949\t4\n12960\t4\n12964\t4\n12966\t4\n12967\t4\n12971\t4\n12986\t4\n13007\t4\n13008\t4\n13010\t4\n13013\t4\n13014\t4\n13026\t4\n13039\t4\n13054\t4\n13068\t4\n13081\t4\n13087\t4\n13090\t4\n13104\t4\n13106\t4\n13107\t4\n13121\t4\n13122\t4\n13123\t4\n13124\t4\n13131\t4\n13140\t4\n13144\t4\n13153\t4\n13157\t4\n13161\t4\n13166\t4\n13170\t4\n13172\t4\n13173\t4\n13181\t4\n13187\t4\n13188\t4\n13198\t4\n13201\t4\n13209\t4\n13212\t4\n13217\t4\n13221\t4\n13224\t4\n13229\t4\n13233\t4\n13237\t4\n13249\t4\n13250\t4\n13255\t4\n13272\t4\n13274\t4\n13278\t4\n13282\t4\n13283\t4\n13294\t4\n13301\t4\n13302\t4\n13316\t4\n13317\t4\n13322\t4\n13323\t4\n13334\t4\n13342\t4\n13344\t4\n13350\t4\n13352\t4\n13354\t4\n13357\t4\n13361\t4\n13366\t4\n13367\t4\n13368\t4\n13380\t4\n13387\t4\n13390\t4\n13400\t4\n13405\t4\n13420\t4\n13429\t4\n13435\t4\n13436\t4\n13440\t4\n13448\t4\n13449\t4\n13450\t4\n13454\t4\n13465\t4\n13471\t4\n13474\t4\n13475\t4\n13477\t4\n13478\t4\n13483\t4\n13486\t4\n13495\t4\n13506\t4\n13508\t4\n13511\t4\n13513\t4\n13515\t4\n13526\t4\n13534\t4\n13547\t4\n13548\t4\n13549\t4\n13553\t4\n13555\t4\n13563\t4\n13569\t4\n13579\t4\n13584\t4\n13585\t4\n13592\t4\n13605\t4\n13611\t4\n13628\t4\n13631\t4\n13641\t4\n13643\t4\n13661\t4\n13662\t4\n13669\t4\n13680\t4\n13692\t4\n13706\t4\n13710\t4\n13720\t4\n13735\t4\n13741\t4\n13750\t4\n13752\t4\n13756\t4\n13759\t4\n13766\t4\n13775\t4\n13788\t4\n13795\t4\n13798\t4\n13802\t4\n13813\t4\n13814\t4\n13821\t4\n13822\t4\n13834\t4\n13836\t4\n13842\t4\n13849\t4\n13854\t4\n13855\t4\n13869\t4\n13875\t4\n13888\t4\n13895\t4\n13903\t4\n13909\t4\n13915\t4\n13916\t4\n13923\t4\n13966\t4\n13968\t4\n13980\t4\n13984\t4\n13989\t4\n13993\t4\n14013\t4\n14024\t4\n14026\t4\n14027\t4\n14028\t4\n14038\t4\n14039\t4\n14040\t4\n14043\t4\n14044\t4\n14047\t4\n14050\t4\n14062\t4\n14064\t4\n14099\t4\n14100\t4\n14107\t4\n14111\t4\n14113\t4\n14121\t4\n14125\t4\n14131\t4\n14137\t4\n14146\t4\n14152\t4\n14159\t4\n14174\t4\n14181\t4\n14183\t4\n14193\t4\n14194\t4\n14197\t4\n14199\t4\n14217\t4\n14220\t4\n14225\t4\n14227\t4\n14234\t4\n14238\t4\n14249\t4\n14257\t4\n14258\t4\n14261\t4\n14262\t4\n14272\t4\n14281\t4\n14306\t4\n14308\t4\n14319\t4\n14329\t4\n14336\t4\n14338\t4\n14341\t4\n14342\t4\n14344\t4\n14351\t4\n14352\t4\n14363\t4\n14369\t4\n14370\t4\n14376\t4\n14378\t4\n14386\t4\n14387\t4\n14407\t4\n14411\t4\n14418\t4\n14430\t4\n14439\t4\n14443\t4\n14447\t4\n14448\t4\n14451\t4\n14452\t4\n14461\t4\n14462\t4\n14469\t4\n14470\t4\n14484\t4\n14485\t4\n14489\t4\n14506\t4\n14510\t4\n14512\t4\n14516\t4\n14518\t4\n14536\t4\n14541\t4\n14549\t4\n14560\t4\n14568\t4\n14570\t4\n14580\t4\n14590\t4\n14602\t4\n14611\t4\n14613\t4\n14618\t4\n14646\t4\n14652\t4\n14661\t4\n14664\t4\n14666\t4\n14685\t4\n14689\t4\n14691\t4\n14698\t4\n14699\t4\n14709\t4\n14713\t4\n14718\t4\n14724\t4\n14726\t4\n14727\t4\n14735\t4\n14741\t4\n14747\t4\n14767\t4\n14777\t4\n14781\t4\n14783\t4\n14784\t4\n14786\t4\n14790\t4\n14791\t4\n14794\t4\n14797\t4\n14798\t4\n14805\t4\n14812\t4\n14822\t4\n14834\t4\n14844\t4\n14849\t4\n14854\t4\n14860\t4\n14869\t4\n14879\t4\n14885\t4\n14886\t4\n14890\t4\n14901\t4\n14909\t4\n14916\t4\n14917\t4\n14919\t4\n14920\t4\n14922\t4\n14926\t4\n14930\t4\n14933\t4\n14947\t4\n14952\t4\n14953\t4\n14955\t4\n14961\t4\n14966\t4\n14974\t4\n14988\t4\n14989\t4\n14992\t4\n14994\t4\n14996\t4\n14998\t4\n15011\t4\n15020\t4\n15033\t4\n15038\t4\n15046\t4\n15067\t4\n15068\t4\n15078\t4\n15084\t4\n15087\t4\n15089\t4\n15090\t4\n15093\t4\n15115\t4\n15126\t4\n15132\t4\n15144\t4\n15148\t4\n15149\t4\n15151\t4\n15154\t4\n15160\t4\n15167\t4\n15168\t4\n15169\t4\n15176\t4\n15182\t4\n15190\t4\n15196\t4\n15197\t4\n15201\t4\n15209\t4\n15224\t4\n15235\t4\n15242\t4\n15244\t4\n15252\t4\n15265\t4\n15273\t4\n15285\t4\n15289\t4\n15290\t4\n15291\t4\n15293\t4\n15294\t4\n15316\t4\n15318\t4\n15322\t4\n15325\t4\n15328\t4\n15342\t4\n15343\t4\n15352\t4\n15355\t4\n15356\t4\n15366\t4\n15367\t4\n15377\t4\n15379\t4\n15382\t4\n15386\t4\n15387\t4\n15391\t4\n15397\t4\n15406\t4\n15409\t4\n15422\t4\n15441\t4\n15461\t4\n15471\t4\n15472\t4\n15474\t4\n15475\t4\n15477\t4\n15484\t4\n15492\t4\n15499\t4\n15500\t4\n15513\t4\n15517\t4\n15520\t4\n15524\t4\n15540\t4\n15542\t4\n15549\t4\n15568\t4\n15583\t4\n15588\t4\n15599\t4\n15604\t4\n15606\t4\n15607\t4\n15612\t4\n15614\t4\n15615\t4\n15617\t4\n15621\t4\n15628\t4\n15629\t4\n15633\t4\n15635\t4\n15660\t4\n15663\t4\n15674\t4\n15676\t4\n15699\t4\n15708\t4\n15711\t4\n15720\t4\n15726\t4\n15727\t4\n15728\t4\n15730\t4\n15731\t4\n15740\t4\n15742\t4\n15745\t4\n15747\t4\n15750\t4\n15754\t4\n15775\t4\n15777\t4\n15779\t4\n15780\t4\n15784\t4\n15786\t4\n15788\t4\n15794\t4\n15798\t4\n15817\t4\n15825\t4\n15826\t4\n15827\t4\n15833\t4\n15837\t4\n15840\t4\n15845\t4\n15853\t4\n15855\t4\n15869\t4\n15872\t4\n15874\t4\n15875\t4\n15884\t4\n15885\t4\n15896\t4\n15904\t4\n15905\t4\n15918\t4\n15919\t4\n15927\t4\n15929\t4\n15939\t4\n15942\t4\n15947\t4\n15950\t4\n15951\t4\n15960\t4\n15964\t4\n15971\t4\n15974\t4\n15980\t4\n15992\t4\n15994\t4\n16008\t4\n16010\t4\n16012\t4\n16020\t4\n16021\t4\n16025\t4\n16034\t4\n16040\t4\n16055\t4\n16061\t4\n16062\t4\n16068\t4\n16072\t4\n16077\t4\n16079\t4\n16081\t4\n16102\t4\n16108\t4\n16132\t4\n16134\t4\n16152\t4\n16156\t4\n16157\t4\n16158\t4\n16163\t4\n16174\t4\n16179\t4\n16192\t4\n16203\t4\n16214\t4\n16224\t4\n16234\t4\n16243\t4\n16247\t4\n16253\t4\n16255\t4\n16257\t4\n16261\t4\n16277\t4\n16281\t4\n16287\t4\n16288\t4\n16292\t4\n16297\t4\n16299\t4\n16305\t4\n16322\t4\n16335\t4\n16340\t4\n16353\t4\n16359\t4\n16376\t4\n16381\t4\n16391\t4\n16392\t4\n16396\t4\n16417\t4\n16424\t4\n16425\t4\n16427\t4\n16439\t4\n16442\t4\n16444\t4\n16448\t4\n16452\t4\n16459\t4\n16468\t4\n16473\t4\n16474\t4\n16486\t4\n16500\t4\n16501\t4\n16510\t4\n16529\t4\n16533\t4\n16535\t4\n16541\t4\n16546\t4\n16556\t4\n16561\t4\n16569\t4\n16582\t4\n16602\t4\n16610\t4\n16613\t4\n16614\t4\n16615\t4\n16616\t4\n16622\t4\n16624\t4\n16628\t4\n16630\t4\n16632\t4\n16641\t4\n16646\t4\n16649\t4\n16675\t4\n16701\t4\n16711\t4\n16713\t4\n16720\t4\n16722\t4\n16728\t4\n16745\t4\n16748\t4\n16752\t4\n16756\t4\n16759\t4\n16767\t4\n16770\t4\n16774\t4\n16775\t4\n16779\t4\n16786\t4\n16794\t4\n16796\t4\n16799\t4\n16801\t4\n16802\t4\n16810\t4\n16812\t4\n16816\t4\n16828\t4\n16831\t4\n16838\t4\n16840\t4\n16844\t4\n16845\t4\n16856\t4\n16860\t4\n16861\t4\n16864\t4\n16869\t4\n16875\t4\n16878\t4\n16880\t4\n16898\t4\n16900\t4\n16906\t4\n16907\t4\n16913\t4\n16914\t4\n16920\t4\n16934\t4\n16938\t4\n16949\t4\n16976\t4\n16990\t4\n16992\t4\n16999\t4\n17000\t4\n17003\t4\n17004\t4\n17016\t4\n17022\t4\n17029\t4\n17030\t4\n17031\t4\n17036\t4\n17037\t4\n17047\t4\n17050\t4\n17055\t4\n17077\t4\n17079\t4\n17085\t4\n17088\t4\n17089\t4\n17102\t4\n17103\t4\n17113\t4\n17120\t4\n17132\t4\n17137\t4\n17138\t4\n17145\t4\n17150\t4\n17153\t4\n17156\t4\n17157\t4\n17159\t4\n17171\t4\n17176\t4\n17178\t4\n17181\t4\n17187\t4\n17206\t4\n17207\t4\n17215\t4\n17223\t4\n17229\t4\n17231\t4\n17232\t4\n17240\t4\n17241\t4\n17247\t4\n17253\t4\n17254\t4\n17275\t4\n17285\t4\n17288\t4\n17289\t4\n17295\t4\n17298\t4\n17310\t4\n17322\t4\n17323\t4\n17338\t4\n17346\t4\n17347\t4\n17353\t4\n17363\t4\n17364\t4\n17371\t4\n17372\t4\n17378\t4\n17383\t4\n17384\t4\n17389\t4\n17390\t4\n17392\t4\n17400\t4\n17408\t4\n17437\t4\n17454\t4\n17457\t4\n17464\t4\n17473\t4\n17495\t4\n17502\t4\n17511\t4\n17528\t4\n17550\t4\n17552\t4\n17558\t4\n17559\t4\n17561\t4\n17569\t4\n17581\t4\n17593\t4\n17601\t4\n17603\t4\n17607\t4\n17616\t4\n17621\t4\n17629\t4\n17635\t4\n17638\t4\n17640\t4\n17642\t4\n17643\t4\n17646\t4\n17647\t4\n17654\t4\n17656\t4\n17663\t4\n17669\t4\n17670\t4\n17674\t4\n17676\t4\n17677\t4\n17687\t4\n17688\t4\n17696\t4\n17704\t4\n17705\t4\n17707\t4\n17708\t4\n17714\t4\n17715\t4\n17719\t4\n17720\t4\n17728\t4\n17743\t4\n17745\t4\n17746\t4\n17749\t4\n17758\t4\n17763\t4\n17766\t4\n17781\t4\n17785\t4\n17795\t4\n17811\t4\n17817\t4\n17818\t4\n17820\t4\n17822\t4\n17826\t4\n17829\t4\n17832\t4\n17836\t4\n17840\t4\n17849\t4\n17854\t4\n17863\t4\n17867\t4\n17888\t4\n17906\t4\n17907\t4\n17918\t4\n17923\t4\n17935\t4\n17953\t4\n17961\t4\n17962\t4\n17965\t4\n17968\t4\n17971\t4\n17974\t4\n17978\t4\n17982\t4\n17985\t4\n17989\t4\n17992\t4\n17998\t4\n18000\t4\n18002\t4\n18014\t4\n18024\t4\n18029\t4\n18035\t4\n18036\t4\n18039\t4\n18043\t4\n18044\t4\n18046\t4\n18056\t4\n18057\t4\n18062\t4\n18068\t4\n18072\t4\n18078\t4\n18085\t4\n18088\t4\n18101\t4\n18105\t4\n18106\t4\n18108\t4\n18113\t4\n18117\t4\n18119\t4\n18120\t4\n18129\t4\n18134\t4\n18145\t4\n18149\t4\n18152\t4\n18158\t4\n18160\t4\n18164\t4\n18169\t4\n18170\t4\n18172\t4\n18174\t4\n18175\t4\n18178\t4\n18183\t4\n18197\t4\n18198\t4\n18203\t4\n18211\t4\n18212\t4\n18214\t4\n18218\t4\n18223\t4\n18231\t4\n18232\t4\n18244\t4\n18245\t4\n18248\t4\n18249\t4\n18258\t4\n18272\t4\n18290\t4\n18302\t4\n18314\t4\n18317\t4\n18323\t4\n18332\t4\n18335\t4\n18340\t4\n18348\t4\n18351\t4\n18352\t4\n18355\t4\n18356\t4\n18360\t4\n18367\t4\n18384\t4\n18388\t4\n18389\t4\n18393\t4\n18412\t4\n18431\t4\n18433\t4\n18444\t4\n18445\t4\n18454\t4\n18462\t4\n18472\t4\n18473\t4\n18475\t4\n18488\t4\n18494\t4\n18518\t4\n18531\t4\n18539\t4\n18544\t4\n18545\t4\n18548\t4\n18550\t4\n18552\t4\n18554\t4\n18559\t4\n18562\t4\n18564\t4\n18568\t4\n18574\t4\n18578\t4\n18582\t4\n18589\t4\n18597\t4\n18608\t4\n18613\t4\n18616\t4\n18620\t4\n18626\t4\n18627\t4\n18631\t4\n18636\t4\n18638\t4\n18640\t4\n18656\t4\n18659\t4\n18665\t4\n18670\t4\n18673\t4\n18682\t4\n18695\t4\n18699\t4\n18702\t4\n18704\t4\n18705\t4\n18717\t4\n18718\t4\n18722\t4\n18726\t4\n18729\t4\n18738\t4\n18741\t4\n18767\t4\n18770\t4\n18775\t4\n18787\t4\n18791\t4\n18795\t4\n18807\t4\n18808\t4\n18811\t4\n18812\t4\n18818\t4\n18819\t4\n18827\t4\n18828\t4\n18833\t4\n18836\t4\n18839\t4\n18851\t4\n18853\t4\n18869\t4\n18870\t4\n18874\t4\n18885\t4\n18895\t4\n18901\t4\n18903\t4\n18913\t4\n18923\t4\n18937\t4\n18943\t4\n18944\t4\n18952\t4\n18954\t4\n18955\t4\n18957\t4\n18969\t4\n18972\t4\n18973\t4\n18976\t4\n18977\t4\n18982\t4\n18986\t4\n18989\t4\n19002\t4\n19004\t4\n19006\t4\n19010\t4\n19022\t4\n19028\t4\n19038\t4\n19043\t4\n19045\t4\n19046\t4\n19053\t4\n19061\t4\n19062\t4\n19071\t4\n19074\t4\n19084\t4\n19093\t4\n19095\t4\n19103\t4\n19108\t4\n19110\t4\n19111\t4\n19124\t4\n19129\t4\n19130\t4\n19134\t4\n19139\t4\n19144\t4\n19146\t4\n19148\t4\n19157\t4\n19161\t4\n19167\t4\n19170\t4\n19173\t4\n19178\t4\n19181\t4\n19189\t4\n19194\t4\n19200\t4\n19210\t4\n19212\t4\n19220\t4\n19226\t4\n19228\t4\n19229\t4\n19232\t4\n19233\t4\n19234\t4\n19238\t4\n19241\t4\n19244\t4\n19249\t4\n19258\t4\n19261\t4\n19266\t4\n19267\t4\n19269\t4\n19274\t4\n19277\t4\n19288\t4\n19289\t4\n19290\t4\n19298\t4\n19299\t4\n19309\t4\n19310\t4\n19311\t4\n19320\t4\n19324\t4\n19325\t4\n19329\t4\n19336\t4\n19343\t4\n19346\t4\n19348\t4\n19349\t4\n19350\t4\n19358\t4\n19379\t4\n19383\t4\n19391\t4\n19394\t4\n19397\t4\n19407\t4\n19410\t4\n19418\t4\n19423\t4\n19426\t4\n19428\t4\n19429\t4\n19433\t4\n19437\t4\n19443\t4\n19444\t4\n19445\t4\n19446\t4\n19451\t4\n19461\t4\n19468\t4\n19470\t4\n19471\t4\n19477\t4\n19487\t4\n19488\t4\n19495\t4\n19498\t4\n19512\t4\n19520\t4\n19530\t4\n19541\t4\n19543\t4\n19544\t4\n19549\t4\n19555\t4\n19560\t4\n19572\t4\n19575\t4\n19584\t4\n19593\t4\n19612\t4\n19615\t4\n19624\t4\n19630\t4\n19635\t4\n19641\t4\n19654\t4\n19661\t4\n19686\t4\n19695\t4\n19707\t4\n19710\t4\n19711\t4\n19716\t4\n19736\t4\n19738\t4\n19739\t4\n19743\t4\n19747\t4\n19757\t4\n19760\t4\n19784\t4\n19796\t4\n19797\t4\n19806\t4\n19809\t4\n19838\t4\n19841\t4\n19854\t4\n19873\t4\n19875\t4\n19882\t4\n19883\t4\n19890\t4\n19895\t4\n19899\t4\n19908\t4\n19909\t4\n19915\t4\n19921\t4\n19928\t4\n19930\t4\n19936\t4\n19938\t4\n19941\t4\n19942\t4\n19950\t4\n19953\t4\n19956\t4\n19961\t4\n19964\t4\n19971\t4\n19976\t4\n19995\t4\n20001\t4\n20009\t4\n20011\t4\n20021\t4\n20034\t4\n20036\t4\n20051\t4\n20053\t4\n20060\t4\n20070\t4\n20075\t4\n20081\t4\n20098\t4\n20101\t4\n20123\t4\n20126\t4\n20130\t4\n20142\t4\n20150\t4\n20153\t4\n20159\t4\n20169\t4\n20170\t4\n20172\t4\n20173\t4\n20175\t4\n20193\t4\n20197\t4\n20204\t4\n20216\t4\n20217\t4\n20220\t4\n20224\t4\n20227\t4\n20228\t4\n20231\t4\n20232\t4\n20235\t4\n20237\t4\n20249\t4\n20251\t4\n20252\t4\n20260\t4\n20263\t4\n20266\t4\n20270\t4\n20271\t4\n20276\t4\n20282\t4\n20283\t4\n20299\t4\n20300\t4\n20302\t4\n20305\t4\n20308\t4\n20310\t4\n20330\t4\n20331\t4\n20356\t4\n20357\t4\n20361\t4\n20362\t4\n20363\t4\n20371\t4\n20372\t4\n20373\t4\n20374\t4\n20375\t4\n20378\t4\n20379\t4\n20390\t4\n20391\t4\n20393\t4\n20397\t4\n20398\t4\n20416\t4\n20419\t4\n20420\t4\n20422\t4\n20426\t4\n20433\t4\n20434\t4\n20443\t4\n20451\t4\n20462\t4\n20476\t4\n20478\t4\n20479\t4\n20486\t4\n20487\t4\n20490\t4\n20493\t4\n20501\t4\n20503\t4\n20509\t4\n20526\t4\n20535\t4\n20544\t4\n20553\t4\n20555\t4\n20556\t4\n20557\t4\n20565\t4\n20569\t4\n20572\t4\n20583\t4\n20589\t4\n20591\t4\n20592\t4\n20599\t4\n20603\t4\n20604\t4\n20606\t4\n20607\t4\n20612\t4\n20613\t4\n20614\t4\n20631\t4\n20644\t4\n20647\t4\n20662\t4\n20668\t4\n20669\t4\n20676\t4\n20677\t4\n20682\t4\n20683\t4\n20689\t4\n20690\t4\n20697\t4\n20700\t4\n20705\t4\n20716\t4\n20723\t4\n20732\t4\n20733\t4\n20746\t4\n20758\t4\n20774\t4\n20779\t4\n20784\t4\n20786\t4\n20793\t4\n20800\t4\n20804\t4\n20812\t4\n20821\t4\n20831\t4\n20835\t4\n20839\t4\n20840\t4\n20844\t4\n20853\t4\n20854\t4\n20858\t4\n20866\t4\n20868\t4\n20873\t4\n20874\t4\n20876\t4\n20879\t4\n20893\t4\n20899\t4\n20911\t4\n20914\t4\n20915\t4\n20918\t4\n20920\t4\n20931\t4\n20932\t4\n20935\t4\n20961\t4\n20976\t4\n20980\t4\n20988\t4\n20989\t4\n21013\t4\n21015\t4\n21021\t4\n21030\t4\n21032\t4\n21033\t4\n21036\t4\n21050\t4\n21070\t4\n21074\t4\n21094\t4\n21106\t4\n21109\t4\n21111\t4\n21120\t4\n21122\t4\n21143\t4\n21144\t4\n21153\t4\n21154\t4\n21162\t4\n21165\t4\n21167\t4\n21168\t4\n21174\t4\n21181\t4\n21183\t4\n21184\t4\n21186\t4\n21188\t4\n21193\t4\n21210\t4\n21211\t4\n21216\t4\n21218\t4\n21219\t4\n21221\t4\n21235\t4\n21237\t4\n21244\t4\n21249\t4\n21289\t4\n21312\t4\n21315\t4\n21341\t4\n21342\t4\n21359\t4\n21360\t4\n21361\t4\n21370\t4\n21373\t4\n21378\t4\n21381\t4\n21396\t4\n21403\t4\n21406\t4\n21407\t4\n21411\t4\n21413\t4\n21419\t4\n21420\t4\n21422\t4\n21423\t4\n21433\t4\n21437\t4\n21448\t4\n21451\t4\n21456\t4\n21459\t4\n21470\t4\n21488\t4\n21489\t4\n21493\t4\n21494\t4\n21497\t4\n21499\t4\n21503\t4\n21525\t4\n21528\t4\n21529\t4\n21539\t4\n21542\t4\n21545\t4\n21550\t4\n21554\t4\n21562\t4\n21567\t4\n21573\t4\n21583\t4\n21592\t4\n21593\t4\n21600\t4\n21612\t4\n21614\t4\n21615\t4\n21631\t4\n21632\t4\n21634\t4\n21646\t4\n21662\t4\n21666\t4\n21671\t4\n21672\t4\n21673\t4\n21685\t4\n21691\t4\n21696\t4\n21697\t4\n21703\t4\n21710\t4\n21711\t4\n21720\t4\n21730\t4\n21740\t4\n21746\t4\n21747\t4\n21748\t4\n21752\t4\n21757\t4\n21759\t4\n21777\t4\n21778\t4\n21783\t4\n21785\t4\n21789\t4\n21790\t4\n21805\t4\n21809\t4\n21815\t4\n21817\t4\n21819\t4\n21821\t4\n21829\t4\n21833\t4\n21847\t4\n21848\t4\n21851\t4\n21854\t4\n21873\t4\n21892\t4\n21894\t4\n21905\t4\n21906\t4\n21907\t4\n21914\t4\n21917\t4\n21929\t4\n21946\t4\n21960\t4\n21969\t4\n21977\t4\n21988\t4\n21998\t4\n21999\t4\n22007\t4\n22010\t4\n22014\t4\n22028\t4\n22029\t4\n22030\t4\n22033\t4\n22034\t4\n22037\t4\n22053\t4\n22060\t4\n22061\t4\n22070\t4\n22081\t4\n22084\t4\n22096\t4\n22101\t4\n22110\t4\n22114\t4\n22117\t4\n22119\t4\n22131\t4\n22133\t4\n22136\t4\n22141\t4\n22142\t4\n22144\t4\n22146\t4\n22147\t4\n22151\t4\n22154\t4\n22173\t4\n22178\t4\n22181\t4\n22201\t4\n22215\t4\n22218\t4\n22222\t4\n22230\t4\n22234\t4\n22243\t4\n22255\t4\n22263\t4\n22266\t4\n22268\t4\n22271\t4\n22276\t4\n22277\t4\n22294\t4\n22299\t4\n22327\t4\n22334\t4\n22335\t4\n22340\t4\n22354\t4\n22355\t4\n22358\t4\n22367\t4\n22371\t4\n22374\t4\n22379\t4\n22385\t4\n22386\t4\n22389\t4\n22390\t4\n22391\t4\n22407\t4\n22421\t4\n22423\t4\n22425\t4\n22427\t4\n22428\t4\n22430\t4\n22431\t4\n22434\t4\n22444\t4\n22453\t4\n22457\t4\n22458\t4\n22459\t4\n22460\t4\n22463\t4\n22487\t4\n22488\t4\n22490\t4\n22493\t4\n22497\t4\n22505\t4\n22507\t4\n22512\t4\n22515\t4\n22520\t4\n22536\t4\n22537\t4\n22548\t4\n22553\t4\n22561\t4\n22566\t4\n22567\t4\n22583\t4\n22585\t4\n22586\t4\n22587\t4\n22598\t4\n22600\t4\n22619\t4\n22620\t4\n22628\t4\n22632\t4\n22656\t4\n22669\t4\n22670\t4\n22671\t4\n22672\t4\n22677\t4\n22681\t4\n22684\t4\n22692\t4\n22713\t4\n22717\t4\n22718\t4\n22721\t4\n22728\t4\n22746\t4\n22768\t4\n22770\t4\n22776\t4\n22781\t4\n22796\t4\n22798\t4\n22800\t4\n22804\t4\n22813\t4\n22820\t4\n22825\t4\n22832\t4\n22834\t4\n22839\t4\n22850\t4\n22853\t4\n22854\t4\n22856\t4\n22868\t4\n22875\t4\n22880\t4\n22903\t4\n22908\t4\n22918\t4\n22921\t4\n22934\t4\n22951\t4\n22954\t4\n22956\t4\n22961\t4\n22966\t4\n22985\t4\n22991\t4\n23010\t4\n23012\t4\n23019\t4\n23021\t4\n23028\t4\n23036\t4\n23060\t4\n23061\t4\n23062\t4\n23063\t4\n23065\t4\n23073\t4\n23076\t4\n23080\t4\n23083\t4\n23090\t4\n23093\t4\n23094\t4\n23096\t4\n23111\t4\n23119\t4\n23126\t4\n23128\t4\n23132\t4\n23134\t4\n23136\t4\n23137\t4\n23145\t4\n23154\t4\n23168\t4\n23172\t4\n23175\t4\n23176\t4\n23180\t4\n23186\t4\n23188\t4\n23190\t4\n23197\t4\n23201\t4\n23208\t4\n23209\t4\n23222\t4\n23232\t4\n23243\t4\n23247\t4\n23253\t4\n23256\t4\n23257\t4\n23260\t4\n23264\t4\n23266\t4\n23274\t4\n23316\t4\n23317\t4\n23320\t4\n23325\t4\n23328\t4\n23329\t4\n23331\t4\n23332\t4\n23335\t4\n23351\t4\n23356\t4\n23363\t4\n23375\t4\n23380\t4\n23391\t4\n23392\t4\n23400\t4\n23410\t4\n23419\t4\n23421\t4\n23424\t4\n23438\t4\n23440\t4\n23441\t4\n23448\t4\n23451\t4\n23455\t4\n23456\t4\n23462\t4\n23481\t4\n23488\t4\n23498\t4\n23503\t4\n23509\t4\n23523\t4\n23528\t4\n23534\t4\n23536\t4\n23541\t4\n23544\t4\n23561\t4\n23570\t4\n23571\t4\n23581\t4\n23584\t4\n23586\t4\n23587\t4\n23588\t4\n23600\t4\n23605\t4\n23608\t4\n23613\t4\n23615\t4\n23621\t4\n23632\t4\n23639\t4\n23641\t4\n23646\t4\n23660\t4\n23662\t4\n23665\t4\n23666\t4\n23672\t4\n23677\t4\n23685\t4\n23691\t4\n23692\t4\n23707\t4\n23718\t4\n23719\t4\n23725\t4\n23726\t4\n23734\t4\n23747\t4\n23749\t4\n23750\t4\n23751\t4\n23757\t4\n23769\t4\n23772\t4\n23777\t4\n23779\t4\n23785\t4\n23791\t4\n23792\t4\n23796\t4\n23806\t4\n23827\t4\n23851\t4\n23856\t4\n23857\t4\n23862\t4\n23864\t4\n23868\t4\n23872\t4\n23885\t4\n23887\t4\n23891\t4\n23892\t4\n23896\t4\n23902\t4\n23911\t4\n23913\t4\n23917\t4\n23921\t4\n23934\t4\n23935\t4\n23941\t4\n23943\t4\n23944\t4\n23951\t4\n23955\t4\n23964\t4\n23966\t4\n23974\t4\n23982\t4\n23999\t4\n24001\t4\n24002\t4\n24007\t4\n24026\t4\n24036\t4\n24044\t4\n24046\t4\n24052\t4\n24068\t4\n24078\t4\n24079\t4\n24087\t4\n24090\t4\n24093\t4\n24096\t4\n24103\t4\n24111\t4\n24116\t4\n24118\t4\n24121\t4\n24129\t4\n24134\t4\n24137\t4\n24140\t4\n24141\t4\n24161\t4\n24170\t4\n24176\t4\n24178\t4\n24184\t4\n24190\t4\n24204\t4\n24206\t4\n24212\t4\n24217\t4\n24219\t4\n24221\t4\n24224\t4\n24225\t4\n24232\t4\n24236\t4\n24237\t4\n24239\t4\n24243\t4\n24255\t4\n24266\t4\n24272\t4\n24273\t4\n24277\t4\n24305\t4\n24310\t4\n24314\t4\n24318\t4\n24322\t4\n24325\t4\n24330\t4\n24337\t4\n24339\t4\n24351\t4\n24359\t4\n24364\t4\n24367\t4\n24375\t4\n24377\t4\n24385\t4\n24387\t4\n24395\t4\n24399\t4\n24400\t4\n24414\t4\n24418\t4\n24419\t4\n24420\t4\n24433\t4\n24441\t4\n24456\t4\n24463\t4\n24465\t4\n24467\t4\n24472\t4\n24475\t4\n24487\t4\n24488\t4\n24496\t4\n24516\t4\n24533\t4\n24536\t4\n24538\t4\n24544\t4\n24552\t4\n24558\t4\n24567\t4\n24572\t4\n24576\t4\n24583\t4\n24589\t4\n24605\t4\n24610\t4\n24616\t4\n24621\t4\n24626\t4\n24628\t4\n24635\t4\n24639\t4\n24653\t4\n24655\t4\n24665\t4\n24667\t4\n24669\t4\n24670\t4\n24692\t4\n24706\t4\n24710\t4\n24713\t4\n24718\t4\n24734\t4\n24737\t4\n24739\t4\n24741\t4\n24744\t4\n24751\t4\n24770\t4\n24783\t4\n24787\t4\n24788\t4\n24795\t4\n24806\t4\n24816\t4\n24828\t4\n24836\t4\n24849\t4\n24853\t4\n24860\t4\n24863\t4\n24864\t4\n24865\t4\n24867\t4\n24871\t4\n24872\t4\n24877\t4\n24879\t4\n24880\t4\n24891\t4\n24893\t4\n24896\t4\n24897\t4\n24905\t4\n24907\t4\n24909\t4\n24912\t4\n24933\t4\n24936\t4\n24937\t4\n24939\t4\n24944\t4\n24949\t4\n24954\t4\n24966\t4\n24967\t4\n24973\t4\n24978\t4\n24981\t4\n24986\t4\n24996\t4\n25002\t4\n25006\t4\n25008\t4\n25013\t4\n25014\t4\n25028\t4\n25030\t4\n25034\t4\n25036\t4\n25039\t4\n25043\t4\n25044\t4\n25046\t4\n25061\t4\n25068\t4\n25077\t4\n25098\t4\n25099\t4\n25102\t4\n25109\t4\n25110\t4\n25112\t4\n25122\t4\n25124\t4\n25134\t4\n25140\t4\n25143\t4\n25150\t4\n25152\t4\n25155\t4\n25158\t4\n25161\t4\n25165\t4\n25166\t4\n25168\t4\n25169\t4\n25185\t4\n25187\t4\n25191\t4\n25194\t4\n25197\t4\n25200\t4\n25201\t4\n25202\t4\n25204\t4\n25209\t4\n25211\t4\n25216\t4\n25217\t4\n25221\t4\n25222\t4\n25231\t4\n25232\t4\n25242\t4\n25245\t4\n25250\t4\n25266\t4\n25271\t4\n25278\t4\n25279\t4\n25294\t4\n25299\t4\n25306\t4\n25311\t4\n25328\t4\n25331\t4\n25337\t4\n25342\t4\n25369\t4\n25375\t4\n25376\t4\n25384\t4\n25395\t4\n25401\t4\n25406\t4\n25408\t4\n25409\t4\n25425\t4\n25432\t4\n25473\t4\n25486\t4\n25487\t4\n25492\t4\n25498\t4\n25499\t4\n25500\t4\n25512\t4\n25522\t4\n25523\t4\n25537\t4\n25548\t4\n25562\t4\n25564\t4\n25577\t4\n25583\t4\n25598\t4\n25603\t4\n25611\t4\n25625\t4\n25627\t4\n25629\t4\n25631\t4\n25641\t4\n25644\t4\n25646\t4\n25652\t4\n25661\t4\n25666\t4\n25668\t4\n25673\t4\n25679\t4\n25682\t4\n25683\t4\n25690\t4\n25691\t4\n25692\t4\n25707\t4\n25710\t4\n25711\t4\n25721\t4\n25722\t4\n25727\t4\n25730\t4\n25735\t4\n25736\t4\n25750\t4\n25755\t4\n25762\t4\n25771\t4\n25779\t4\n25794\t4\n25806\t4\n25809\t4\n25824\t4\n25832\t4\n25834\t4\n25835\t4\n25841\t4\n25853\t4\n25864\t4\n25865\t4\n25869\t4\n25880\t4\n25881\t4\n25890\t4\n25902\t4\n25913\t4\n25925\t4\n25927\t4\n25928\t4\n25933\t4\n25938\t4\n25939\t4\n25957\t4\n25972\t4\n25973\t4\n25986\t4\n25987\t4\n25992\t4\n26001\t4\n26002\t4\n26011\t4\n26012\t4\n26014\t4\n26017\t4\n26027\t4\n26029\t4\n26052\t4\n26065\t4\n26066\t4\n26075\t4\n26091\t4\n26092\t4\n26095\t4\n26112\t4\n26120\t4\n26125\t4\n26129\t4\n26144\t4\n26156\t4\n26157\t4\n26165\t4\n26173\t4\n26183\t4\n26185\t4\n26196\t4\n26200\t4\n26202\t4\n26230\t4\n26232\t4\n26250\t4\n26260\t4\n26268\t4\n26274\t4\n26276\t4\n26281\t4\n26282\t4\n26289\t4\n26290\t4\n26293\t4\n26294\t4\n26300\t4\n26301\t4\n26303\t4\n26309\t4\n26310\t4\n26320\t4\n26321\t4\n26325\t4\n26329\t4\n26336\t4\n26343\t4\n26349\t4\n26355\t4\n26370\t4\n26374\t4\n26375\t4\n26380\t4\n26383\t4\n26391\t4\n26392\t4\n26395\t4\n26396\t4\n26401\t4\n26404\t4\n26436\t4\n26445\t4\n26446\t4\n26457\t4\n26465\t4\n26466\t4\n26478\t4\n26479\t4\n26481\t4\n26490\t4\n26491\t4\n26498\t4\n26502\t4\n26506\t4\n26510\t4\n26512\t4\n26515\t4\n26516\t4\n26520\t4\n26521\t4\n26523\t4\n26528\t4\n26529\t4\n26539\t4\n26540\t4\n26544\t4\n26554\t4\n26571\t4\n26576\t4\n26582\t4\n26588\t4\n26593\t4\n26596\t4\n26603\t4\n26607\t4\n26612\t4\n26614\t4\n26621\t4\n26632\t4\n26636\t4\n26637\t4\n26643\t4\n26654\t4\n26657\t4\n26663\t4\n26674\t4\n26687\t4\n26691\t4\n26699\t4\n26707\t4\n26716\t4\n26727\t4\n26729\t4\n26730\t4\n26731\t4\n26740\t4\n26743\t4\n26755\t4\n26758\t4\n26761\t4\n26773\t4\n26777\t4\n26795\t4\n26797\t4\n26820\t4\n26840\t4\n26843\t4\n26845\t4\n26862\t4\n26863\t4\n26866\t4\n26867\t4\n26882\t4\n26887\t4\n26888\t4\n26891\t4\n26895\t4\n26899\t4\n26906\t4\n26907\t4\n26917\t4\n26918\t4\n26925\t4\n26931\t4\n26932\t4\n26944\t4\n26948\t4\n26951\t4\n26955\t4\n26956\t4\n26958\t4\n26963\t4\n26970\t4\n26974\t4\n26981\t4\n26985\t4\n26986\t4\n26987\t4\n26989\t4\n26997\t4\n27000\t4\n27007\t4\n27020\t4\n27027\t4\n27046\t4\n27053\t4\n27060\t4\n27063\t4\n27066\t4\n27068\t4\n27071\t4\n27084\t4\n27088\t4\n27090\t4\n27097\t4\n27101\t4\n27113\t4\n27127\t4\n27134\t4\n27141\t4\n27150\t4\n27152\t4\n27176\t4\n27181\t4\n27209\t4\n27211\t4\n27215\t4\n27221\t4\n27238\t4\n27243\t4\n27247\t4\n27248\t4\n27250\t4\n27262\t4\n27268\t4\n27272\t4\n27273\t4\n27274\t4\n27286\t4\n27291\t4\n27302\t4\n27311\t4\n27319\t4\n27320\t4\n27332\t4\n27338\t4\n27339\t4\n27341\t4\n27348\t4\n27350\t4\n27356\t4\n27370\t4\n27374\t4\n27376\t4\n27378\t4\n27379\t4\n27380\t4\n27385\t4\n27386\t4\n27393\t4\n27397\t4\n27416\t4\n27430\t4\n27431\t4\n27435\t4\n27436\t4\n27450\t4\n27463\t4\n27474\t4\n27476\t4\n27482\t4\n27483\t4\n27492\t4\n27493\t4\n27496\t4\n27506\t4\n27517\t4\n27523\t4\n27525\t4\n27528\t4\n27529\t4\n27551\t4\n27562\t4\n27563\t4\n27564\t4\n27567\t4\n27569\t4\n27574\t4\n27576\t4\n27586\t4\n27592\t4\n27602\t4\n27605\t4\n27616\t4\n27622\t4\n27623\t4\n27635\t4\n27637\t4\n27640\t4\n27644\t4\n27654\t4\n27661\t4\n27674\t4\n27676\t4\n27679\t4\n27682\t4\n27688\t4\n27692\t4\n27703\t4\n27713\t4\n27714\t4\n27723\t4\n27745\t4\n27746\t4\n27761\t4\n27767\t4\n27772\t4\n27773\t4\n27777\t4\n27801\t4\n27802\t4\n27811\t4\n27817\t4\n27821\t4\n27824\t4\n27834\t4\n27850\t4\n27851\t4\n27860\t4\n27862\t4\n27873\t4\n27878\t4\n27887\t4\n27900\t4\n27904\t4\n27915\t4\n27926\t4\n27927\t4\n27928\t4\n27956\t4\n27965\t4\n27967\t4\n27970\t4\n27971\t4\n27977\t4\n27982\t4\n27984\t4\n27987\t4\n27993\t4\n27995\t4\n28020\t4\n28021\t4\n28032\t4\n28033\t4\n28035\t4\n28036\t4\n28037\t4\n28041\t4\n28044\t4\n28051\t4\n28054\t4\n28055\t4\n28074\t4\n28091\t4\n28092\t4\n28099\t4\n28104\t4\n28112\t4\n28113\t4\n28127\t4\n28128\t4\n28134\t4\n28147\t4\n28150\t4\n28158\t4\n28164\t4\n28171\t4\n28178\t4\n28180\t4\n28182\t4\n28185\t4\n28187\t4\n28198\t4\n28200\t4\n28202\t4\n28211\t4\n28213\t4\n28222\t4\n28230\t4\n28231\t4\n28239\t4\n28249\t4\n28251\t4\n28254\t4\n28257\t4\n28258\t4\n28269\t4\n28280\t4\n28288\t4\n28293\t4\n28296\t4\n28297\t4\n28298\t4\n28309\t4\n28343\t4\n28361\t4\n28364\t4\n28368\t4\n28388\t4\n28392\t4\n28394\t4\n28399\t4\n28402\t4\n28415\t4\n28430\t4\n28432\t4\n28477\t4\n28497\t4\n28500\t4\n28508\t4\n28521\t4\n28525\t4\n28527\t4\n28528\t4\n28529\t4\n28533\t4\n28535\t4\n28544\t4\n28548\t4\n28549\t4\n28554\t4\n28577\t4\n28588\t4\n28593\t4\n28601\t4\n28603\t4\n28606\t4\n28618\t4\n28619\t4\n28623\t4\n28630\t4\n28644\t4\n28655\t4\n28675\t4\n28696\t4\n28709\t4\n28710\t4\n28714\t4\n28723\t4\n28726\t4\n28727\t4\n28729\t4\n28730\t4\n28738\t4\n28745\t4\n28747\t4\n28757\t4\n28759\t4\n28760\t4\n28776\t4\n28778\t4\n28783\t4\n28785\t4\n28790\t4\n28793\t4\n28816\t4\n28820\t4\n28823\t4\n28824\t4\n28838\t4\n28840\t4\n28846\t4\n28847\t4\n28850\t4\n28855\t4\n28858\t4\n28870\t4\n28877\t4\n28880\t4\n28881\t4\n28885\t4\n28888\t4\n28903\t4\n28920\t4\n28921\t4\n28923\t4\n28928\t4\n28941\t4\n28953\t4\n28956\t4\n28964\t4\n28977\t4\n28981\t4\n28982\t4\n28992\t4\n28994\t4\n29013\t4\n29018\t4\n29024\t4\n29027\t4\n29039\t4\n29044\t4\n29047\t4\n29052\t4\n29054\t4\n29056\t4\n29062\t4\n29063\t4\n29068\t4\n29071\t4\n29072\t4\n29087\t4\n29097\t4\n29100\t4\n29101\t4\n29110\t4\n29116\t4\n29117\t4\n29119\t4\n29127\t4\n29135\t4\n29145\t4\n29156\t4\n29162\t4\n29193\t4\n29206\t4\n29218\t4\n29220\t4\n29221\t4\n29224\t4\n29232\t4\n29247\t4\n29248\t4\n29252\t4\n29268\t4\n29273\t4\n29277\t4\n29281\t4\n29282\t4\n29284\t4\n29290\t4\n29299\t4\n29301\t4\n29304\t4\n29305\t4\n29324\t4\n29326\t4\n29333\t4\n29349\t4\n29372\t4\n29381\t4\n29396\t4\n29406\t4\n29414\t4\n29416\t4\n29418\t4\n29435\t4\n29444\t4\n29451\t4\n29457\t4\n29460\t4\n29474\t4\n29480\t4\n29491\t4\n29496\t4\n29499\t4\n29501\t4\n29507\t4\n29542\t4\n29546\t4\n29547\t4\n29550\t4\n29553\t4\n29556\t4\n29562\t4\n29563\t4\n29566\t4\n29568\t4\n29571\t4\n29589\t4\n29592\t4\n29602\t4\n29603\t4\n29611\t4\n29616\t4\n29623\t4\n29628\t4\n29629\t4\n29651\t4\n29652\t4\n29683\t4\n29695\t4\n29699\t4\n29704\t4\n29709\t4\n29723\t4\n29725\t4\n29726\t4\n29727\t4\n29737\t4\n29738\t4\n29744\t4\n29752\t4\n29753\t4\n29754\t4\n29758\t4\n29769\t4\n29776\t4\n29780\t4\n29782\t4\n29785\t4\n29789\t4\n29790\t4\n29791\t4\n29794\t4\n29795\t4\n29808\t4\n29815\t4\n29823\t4\n29825\t4\n29827\t4\n29834\t4\n29843\t4\n29854\t4\n29855\t4\n29867\t4\n29869\t4\n29877\t4\n29878\t4\n29881\t4\n29897\t4\n29900\t4\n29906\t4\n29919\t4\n29924\t4\n29940\t4\n29958\t4\n29959\t4\n29961\t4\n29965\t4\n29967\t4\n29969\t4\n29970\t4\n29991\t4\n29997\t4\n29998\t4\n30001\t4\n30007\t4\n30010\t4\n30016\t4\n30038\t4\n30041\t4\n30055\t4\n30060\t4\n30063\t4\n30067\t4\n30068\t4\n30071\t4\n30072\t4\n30077\t4\n30080\t4\n30082\t4\n30097\t4\n30119\t4\n30127\t4\n30128\t4\n30137\t4\n30141\t4\n30163\t4\n30172\t4\n30180\t4\n30181\t4\n30187\t4\n30189\t4\n30191\t4\n30206\t4\n30214\t4\n30215\t4\n30218\t4\n30219\t4\n30225\t4\n30227\t4\n30229\t4\n30243\t4\n30245\t4\n30247\t4\n30259\t4\n30261\t4\n30266\t4\n30274\t4\n30278\t4\n30280\t4\n30282\t4\n30290\t4\n30293\t4\n30299\t4\n30303\t4\n30311\t4\n30319\t4\n30336\t4\n30351\t4\n30354\t4\n30359\t4\n30367\t4\n30371\t4\n30382\t4\n30384\t4\n30390\t4\n30405\t4\n30410\t4\n30414\t4\n30415\t4\n30420\t4\n30432\t4\n30434\t4\n30436\t4\n30440\t4\n30445\t4\n30450\t4\n30456\t4\n30460\t4\n30471\t4\n30474\t4\n30476\t4\n30487\t4\n30488\t4\n30492\t4\n30500\t4\n30524\t4\n30525\t4\n30527\t4\n30531\t4\n30544\t4\n30550\t4\n30552\t4\n30558\t4\n30564\t4\n30566\t4\n30574\t4\n30576\t4\n30595\t4\n30605\t4\n30606\t4\n30607\t4\n30609\t4\n30614\t4\n30626\t4\n30639\t4\n30640\t4\n30650\t4\n30651\t4\n30655\t4\n30657\t4\n30660\t4\n30664\t4\n30667\t4\n30671\t4\n30675\t4\n30677\t4\n30678\t4\n30680\t4\n30683\t4\n30688\t4\n30691\t4\n30693\t4\n30707\t4\n30708\t4\n30718\t4\n30722\t4\n30724\t4\n30726\t4\n30732\t4\n30737\t4\n30739\t4\n30740\t4\n30753\t4\n30755\t4\n30756\t4\n30767\t4\n30775\t4\n30776\t4\n30781\t4\n30786\t4\n30791\t4\n30792\t4\n30796\t4\n30800\t4\n30806\t4\n30807\t4\n30813\t4\n30816\t4\n30823\t4\n30829\t4\n30836\t4\n30849\t4\n30854\t4\n30858\t4\n30859\t4\n30862\t4\n30873\t4\n30880\t4\n30892\t4\n30901\t4\n30903\t4\n30907\t4\n30918\t4\n30921\t4\n30923\t4\n30928\t4\n30931\t4\n30933\t4\n30937\t4\n30942\t4\n30955\t4\n30957\t4\n30959\t4\n30968\t4\n30969\t4\n30973\t4\n30977\t4\n30978\t4\n30980\t4\n30983\t4\n30988\t4\n30990\t4\n30993\t4\n30995\t4\n30997\t4\n31028\t4\n31045\t4\n31048\t4\n31051\t4\n31055\t4\n31056\t4\n31066\t4\n31069\t4\n31078\t4\n31081\t4\n31083\t4\n31084\t4\n31104\t4\n31106\t4\n31123\t4\n31134\t4\n31140\t4\n31142\t4\n31149\t4\n31151\t4\n31152\t4\n31160\t4\n31165\t4\n31169\t4\n31172\t4\n31173\t4\n31183\t4\n31184\t4\n31190\t4\n31191\t4\n31200\t4\n31204\t4\n31212\t4\n31222\t4\n31223\t4\n31224\t4\n31230\t4\n31245\t4\n31258\t4\n31268\t4\n31269\t4\n31272\t4\n31276\t4\n31277\t4\n31280\t4\n31282\t4\n31283\t4\n31284\t4\n31285\t4\n31294\t4\n31296\t4\n31297\t4\n31299\t4\n31300\t4\n31309\t4\n31310\t4\n31316\t4\n31326\t4\n31334\t4\n31341\t4\n31346\t4\n31353\t4\n31355\t4\n31360\t4\n31370\t4\n31378\t4\n31385\t4\n31393\t4\n31402\t4\n31415\t4\n31424\t4\n31430\t4\n31437\t4\n31445\t4\n31458\t4\n31459\t4\n31463\t4\n31468\t4\n31470\t4\n31480\t4\n31482\t4\n31492\t4\n31493\t4\n31504\t4\n31506\t4\n31511\t4\n31522\t4\n31523\t4\n31526\t4\n31528\t4\n31533\t4\n31540\t4\n31555\t4\n31570\t4\n31572\t4\n31573\t4\n31580\t4\n31593\t4\n31594\t4\n31606\t4\n31607\t4\n31609\t4\n31612\t4\n31616\t4\n31619\t4\n31624\t4\n31630\t4\n31633\t4\n31645\t4\n31651\t4\n31654\t4\n31665\t4\n31668\t4\n31669\t4\n31671\t4\n31682\t4\n31687\t4\n31692\t4\n31693\t4\n31694\t4\n31697\t4\n31700\t4\n31712\t4\n31713\t4\n31714\t4\n31715\t4\n31722\t4\n31725\t4\n31726\t4\n31729\t4\n31730\t4\n31736\t4\n31737\t4\n31747\t4\n31749\t4\n31752\t4\n31758\t4\n31765\t4\n31773\t4\n31774\t4\n31776\t4\n31790\t4\n31791\t4\n31795\t4\n31796\t4\n31809\t4\n31813\t4\n31829\t4\n31837\t4\n31840\t4\n31847\t4\n31859\t4\n31860\t4\n31862\t4\n31872\t4\n31874\t4\n31887\t4\n31891\t4\n31894\t4\n31899\t4\n31902\t4\n31910\t4\n31912\t4\n31913\t4\n31915\t4\n31919\t4\n31920\t4\n31930\t4\n31933\t4\n31944\t4\n31946\t4\n31948\t4\n31950\t4\n31955\t4\n31956\t4\n31959\t4\n31961\t4\n31964\t4\n31966\t4\n31972\t4\n31981\t4\n31992\t4\n31995\t4\n31999\t4\n32000\t4\n32004\t4\n32006\t4\n32010\t4\n32012\t4\n32018\t4\n32019\t4\n32021\t4\n32028\t4\n32029\t4\n32031\t4\n32034\t4\n32037\t4\n32039\t4\n32042\t4\n32065\t4\n32067\t4\n32074\t4\n32076\t4\n32085\t4\n32090\t4\n32091\t4\n32093\t4\n32094\t4\n32101\t4\n32103\t4\n32111\t4\n32113\t4\n32117\t4\n32118\t4\n32120\t4\n32121\t4\n32124\t4\n32127\t4\n32142\t4\n32143\t4\n32153\t4\n32158\t4\n32162\t4\n32163\t4\n32169\t4\n32177\t4\n32184\t4\n32188\t4\n32210\t4\n32212\t4\n32215\t4\n32231\t4\n32235\t4\n32237\t4\n32238\t4\n32240\t4\n32243\t4\n32246\t4\n32247\t4\n32250\t4\n32252\t4\n32254\t4\n32255\t4\n32257\t4\n32262\t4\n32270\t4\n32273\t4\n32275\t4\n32283\t4\n32287\t4\n32288\t4\n32290\t4\n32297\t4\n32298\t4\n32327\t4\n32331\t4\n32333\t4\n32339\t4\n32340\t4\n32343\t4\n32345\t4\n32351\t4\n32352\t4\n32362\t4\n32368\t4\n32370\t4\n32371\t4\n32374\t4\n32376\t4\n32378\t4\n32379\t4\n32382\t4\n32383\t4\n32396\t4\n32402\t4\n32412\t4\n32415\t4\n32421\t4\n32423\t4\n32441\t4\n32463\t4\n32467\t4\n32478\t4\n32485\t4\n32488\t4\n32490\t4\n32493\t4\n32502\t4\n32507\t4\n32513\t4\n32524\t4\n32528\t4\n32531\t4\n32535\t4\n32538\t4\n32540\t4\n32541\t4\n32542\t4\n32547\t4\n32557\t4\n32560\t4\n32572\t4\n32588\t4\n32615\t4\n32619\t4\n32624\t4\n32627\t4\n32644\t4\n32645\t4\n32646\t4\n32648\t4\n32659\t4\n32663\t4\n32673\t4\n32679\t4\n32682\t4\n32684\t4\n32695\t4\n32700\t4\n32701\t4\n32708\t4\n32712\t4\n32725\t4\n32751\t4\n32770\t4\n32776\t4\n32789\t4\n32793\t4\n32796\t4\n32808\t4\n32838\t4\n32840\t4\n32843\t4\n32850\t4\n32856\t4\n32862\t4\n32864\t4\n32870\t4\n32874\t4\n32875\t4\n32877\t4\n32879\t4\n32889\t4\n32905\t4\n32906\t4\n32909\t4\n32910\t4\n32918\t4\n32925\t4\n32928\t4\n32932\t4\n32933\t4\n32938\t4\n32954\t4\n32955\t4\n32962\t4\n32966\t4\n32968\t4\n32971\t4\n32974\t4\n32975\t4\n32976\t4\n32979\t4\n32984\t4\n32988\t4\n32994\t4\n32999\t4\n33006\t4\n33019\t4\n33028\t4\n33034\t4\n33061\t4\n33065\t4\n33076\t4\n33077\t4\n33082\t4\n33086\t4\n33087\t4\n33091\t4\n33096\t4\n33114\t4\n33125\t4\n33131\t4\n33145\t4\n33146\t4\n33156\t4\n33166\t4\n33168\t4\n33178\t4\n33180\t4\n33196\t4\n33197\t4\n33201\t4\n33204\t4\n33205\t4\n33207\t4\n33218\t4\n33219\t4\n33227\t4\n33231\t4\n33241\t4\n33242\t4\n33243\t4\n33245\t4\n33255\t4\n33257\t4\n33263\t4\n33271\t4\n33280\t4\n33281\t4\n33296\t4\n33298\t4\n33310\t4\n33313\t4\n33328\t4\n33330\t4\n33331\t4\n33347\t4\n33354\t4\n33359\t4\n33366\t4\n33369\t4\n33378\t4\n33380\t4\n33390\t4\n33394\t4\n33395\t4\n33396\t4\n33398\t4\n33400\t4\n33409\t4\n33412\t4\n33413\t4\n33414\t4\n33418\t4\n33429\t4\n33439\t4\n33440\t4\n33448\t4\n33453\t4\n33455\t4\n33462\t4\n33466\t4\n33468\t4\n33469\t4\n33473\t4\n33475\t4\n33477\t4\n33484\t4\n33502\t4\n33506\t4\n33508\t4\n33517\t4\n33520\t4\n33522\t4\n33533\t4\n33540\t4\n33541\t4\n33549\t4\n33562\t4\n33572\t4\n33583\t4\n33594\t4\n33604\t4\n33613\t4\n33622\t4\n33626\t4\n33627\t4\n33633\t4\n33643\t4\n33654\t4\n33660\t4\n33661\t4\n33667\t4\n33671\t4\n33672\t4\n33673\t4\n33685\t4\n33687\t4\n33697\t4\n33701\t4\n33706\t4\n33713\t4\n33717\t4\n33723\t4\n33728\t4\n33738\t4\n33740\t4\n33750\t4\n33782\t4\n33795\t4\n33802\t4\n33807\t4\n33809\t4\n33810\t4\n33814\t4\n33819\t4\n33821\t4\n33823\t4\n33827\t4\n33833\t4\n33834\t4\n33842\t4\n33844\t4\n33851\t4\n33857\t4\n33860\t4\n33862\t4\n33863\t4\n33866\t4\n33873\t4\n33889\t4\n33891\t4\n33892\t4\n33895\t4\n33912\t4\n33919\t4\n33920\t4\n33922\t4\n33923\t4\n33925\t4\n33930\t4\n33933\t4\n33943\t4\n33957\t4\n33968\t4\n33973\t4\n33980\t4\n33981\t4\n33986\t4\n33989\t4\n33990\t4\n33997\t4\n33998\t4\n34001\t4\n34005\t4\n34007\t4\n34020\t4\n34023\t4\n34026\t4\n34033\t4\n34039\t4\n34044\t4\n34045\t4\n34048\t4\n34052\t4\n34061\t4\n34069\t4\n34073\t4\n34088\t4\n34096\t4\n34103\t4\n34104\t4\n34105\t4\n34113\t4\n34118\t4\n34120\t4\n34122\t4\n34124\t4\n34128\t4\n34131\t4\n34132\t4\n34145\t4\n34151\t4\n34152\t4\n34161\t4\n34162\t4\n34178\t4\n34188\t4\n34194\t4\n34197\t4\n34217\t4\n34219\t4\n34220\t4\n34234\t4\n34244\t4\n34246\t4\n34247\t4\n34249\t4\n34256\t4\n34259\t4\n34263\t4\n34267\t4\n34278\t4\n34284\t4\n34286\t4\n34300\t4\n34318\t4\n34327\t4\n34328\t4\n34335\t4\n34340\t4\n34345\t4\n34348\t4\n34351\t4\n34357\t4\n34361\t4\n34362\t4\n34370\t4\n34381\t4\n34386\t4\n34387\t4\n34389\t4\n34393\t4\n34401\t4\n34403\t4\n34404\t4\n34408\t4\n34418\t4\n34423\t4\n34432\t4\n34433\t4\n34437\t4\n34439\t4\n34442\t4\n34447\t4\n34448\t4\n34454\t4\n34460\t4\n34466\t4\n34470\t4\n34475\t4\n34479\t4\n34488\t4\n34510\t4\n34511\t4\n34535\t4\n34542\t4\n34551\t4\n34565\t4\n34571\t4\n34580\t4\n34593\t4\n34595\t4\n34596\t4\n34599\t4\n34602\t4\n34603\t4\n34617\t4\n34619\t4\n34623\t4\n34624\t4\n34626\t4\n34634\t4\n34638\t4\n34649\t4\n34651\t4\n34654\t4\n34664\t4\n34669\t4\n34673\t4\n34679\t4\n34701\t4\n34740\t4\n34741\t4\n34763\t4\n34764\t4\n34765\t4\n34771\t4\n34776\t4\n34777\t4\n34779\t4\n34787\t4\n34790\t4\n34795\t4\n34796\t4\n34801\t4\n34810\t4\n34812\t4\n34822\t4\n34835\t4\n34837\t4\n34838\t4\n34850\t4\n34857\t4\n34862\t4\n34866\t4\n34869\t4\n34881\t4\n34927\t4\n34930\t4\n34931\t4\n34939\t4\n34954\t4\n34960\t4\n34968\t4\n34982\t4\n34986\t4\n34992\t4\n34999\t4\n35007\t4\n35009\t4\n35016\t4\n35020\t4\n35029\t4\n35038\t4\n35039\t4\n35044\t4\n35046\t4\n35058\t4\n35070\t4\n35079\t4\n35081\t4\n35082\t4\n35084\t4\n35088\t4\n35095\t4\n35101\t4\n35103\t4\n35111\t4\n35113\t4\n35126\t4\n35128\t4\n35133\t4\n35136\t4\n35158\t4\n35160\t4\n35161\t4\n35163\t4\n35165\t4\n35170\t4\n35173\t4\n35182\t4\n35183\t4\n35186\t4\n35197\t4\n35199\t4\n35203\t4\n35207\t4\n35208\t4\n35219\t4\n35224\t4\n35229\t4\n35232\t4\n35254\t4\n35261\t4\n35262\t4\n35271\t4\n35272\t4\n35278\t4\n35284\t4\n35285\t4\n35292\t4\n35297\t4\n35298\t4\n35299\t4\n35301\t4\n35304\t4\n35312\t4\n35316\t4\n35320\t4\n35333\t4\n35341\t4\n35370\t4\n35373\t4\n35378\t4\n35381\t4\n35388\t4\n35393\t4\n35394\t4\n35403\t4\n35408\t4\n35410\t4\n35412\t4\n35415\t4\n35426\t4\n35428\t4\n35435\t4\n35436\t4\n35437\t4\n35442\t4\n35445\t4\n35451\t4\n35458\t4\n35462\t4\n35472\t4\n35479\t4\n35480\t4\n35482\t4\n35494\t4\n35495\t4\n35504\t4\n35511\t4\n35512\t4\n35517\t4\n35521\t4\n35523\t4\n35536\t4\n35538\t4\n35542\t4\n35543\t4\n35547\t4\n35557\t4\n35562\t4\n35563\t4\n35572\t4\n35573\t4\n35576\t4\n35577\t4\n35582\t4\n35591\t4\n35603\t4\n35620\t4\n35622\t4\n35632\t4\n35635\t4\n35647\t4\n35650\t4\n35659\t4\n35660\t4\n35661\t4\n35663\t4\n35664\t4\n35668\t4\n35670\t4\n35671\t4\n35676\t4\n35717\t4\n35729\t4\n35730\t4\n35732\t4\n35736\t4\n35737\t4\n35740\t4\n35751\t4\n35752\t4\n35753\t4\n35756\t4\n35764\t4\n35773\t4\n35777\t4\n35780\t4\n35784\t4\n35789\t4\n35804\t4\n35805\t4\n35811\t4\n35813\t4\n35826\t4\n35835\t4\n35836\t4\n35840\t4\n35849\t4\n35854\t4\n35858\t4\n35862\t4\n35872\t4\n35875\t4\n35882\t4\n35887\t4\n35899\t4\n35901\t4\n35908\t4\n35910\t4\n35914\t4\n35922\t4\n35933\t4\n35950\t4\n35952\t4\n35965\t4\n35967\t4\n35974\t4\n35975\t4\n35977\t4\n35978\t4\n35980\t4\n35987\t4\n36002\t4\n36003\t4\n36011\t4\n36015\t4\n36017\t4\n36020\t4\n36028\t4\n36033\t4\n36034\t4\n36037\t4\n36041\t4\n36049\t4\n36061\t4\n36062\t4\n36088\t4\n36092\t4\n36093\t4\n36095\t4\n36111\t4\n36114\t4\n36131\t4\n36136\t4\n36137\t4\n36138\t4\n36142\t4\n36146\t4\n36151\t4\n36154\t4\n36156\t4\n36159\t4\n36160\t4\n36161\t4\n36162\t4\n36171\t4\n36180\t4\n36181\t4\n36185\t4\n36186\t4\n36197\t4\n36211\t4\n36212\t4\n36214\t4\n36215\t4\n36228\t4\n36238\t4\n36242\t4\n36248\t4\n36259\t4\n36271\t4\n36272\t4\n36279\t4\n36280\t4\n36283\t4\n36286\t4\n36294\t4\n36306\t4\n36315\t4\n36317\t4\n36320\t4\n36321\t4\n36323\t4\n36324\t4\n36329\t4\n36331\t4\n36332\t4\n36334\t4\n36336\t4\n36337\t4\n36345\t4\n36346\t4\n36361\t4\n36362\t4\n36387\t4\n36397\t4\n36401\t4\n36405\t4\n36408\t4\n36420\t4\n36423\t4\n36424\t4\n36425\t4\n36430\t4\n36435\t4\n36450\t4\n36452\t4\n36454\t4\n36455\t4\n36476\t4\n36477\t4\n36482\t4\n36494\t4\n36496\t4\n36502\t4\n36506\t4\n36511\t4\n36514\t4\n36515\t4\n36520\t4\n36521\t4\n36528\t4\n36529\t4\n36533\t4\n36540\t4\n36541\t4\n36543\t4\n36556\t4\n36557\t4\n36562\t4\n36573\t4\n36576\t4\n36580\t4\n36584\t4\n36585\t4\n36592\t4\n36594\t4\n36611\t4\n36621\t4\n36628\t4\n36633\t4\n36636\t4\n36642\t4\n36644\t4\n36645\t4\n36648\t4\n36658\t4\n36659\t4\n36663\t4\n36664\t4\n36668\t4\n36670\t4\n36674\t4\n36685\t4\n36689\t4\n36705\t4\n36711\t4\n36714\t4\n36722\t4\n36733\t4\n36735\t4\n36736\t4\n36744\t4\n36748\t4\n36762\t4\n36765\t4\n36773\t4\n36775\t4\n36776\t4\n36777\t4\n36782\t4\n36786\t4\n36788\t4\n36797\t4\n36799\t4\n36803\t4\n36804\t4\n36818\t4\n36819\t4\n36827\t4\n36831\t4\n36842\t4\n36843\t4\n36847\t4\n36865\t4\n36868\t4\n36876\t4\n36879\t4\n36880\t4\n36894\t4\n36895\t4\n36912\t4\n36918\t4\n36922\t4\n36925\t4\n36927\t4\n36928\t4\n36935\t4\n36946\t4\n36965\t4\n36968\t4\n36979\t4\n36991\t4\n36999\t4\n37006\t4\n37015\t4\n37026\t4\n37027\t4\n37036\t4\n37041\t4\n37052\t4\n37053\t4\n37057\t4\n37061\t4\n37064\t4\n37075\t4\n37079\t4\n37088\t4\n37092\t4\n37099\t4\n37103\t4\n37104\t4\n37105\t4\n37107\t4\n37109\t4\n37111\t4\n37116\t4\n37125\t4\n37126\t4\n37131\t4\n37134\t4\n37142\t4\n37143\t4\n37148\t4\n37151\t4\n37173\t4\n37179\t4\n37185\t4\n37187\t4\n37190\t4\n37195\t4\n37197\t4\n37202\t4\n37207\t4\n37208\t4\n37212\t4\n37217\t4\n37228\t4\n37231\t4\n37237\t4\n37238\t4\n37248\t4\n37252\t4\n37253\t4\n37262\t4\n37268\t4\n37278\t4\n37293\t4\n37303\t4\n37307\t4\n37310\t4\n37312\t4\n37320\t4\n37324\t4\n37325\t4\n37328\t4\n37334\t4\n37351\t4\n37356\t4\n37359\t4\n37361\t4\n37366\t4\n37373\t4\n37380\t4\n37381\t4\n37385\t4\n37387\t4\n37388\t4\n37389\t4\n37390\t4\n37404\t4\n37405\t4\n37415\t4\n37419\t4\n37427\t4\n37428\t4\n37434\t4\n37436\t4\n37441\t4\n37446\t4\n37456\t4\n37458\t4\n37459\t4\n37475\t4\n37478\t4\n37480\t4\n37483\t4\n37484\t4\n37494\t4\n37496\t4\n37512\t4\n37517\t4\n37526\t4\n37529\t4\n37532\t4\n37533\t4\n37535\t4\n37544\t4\n37550\t4\n37554\t4\n37557\t4\n37565\t4\n37573\t4\n37589\t4\n37590\t4\n37592\t4\n37595\t4\n37604\t4\n37614\t4\n37624\t4\n37628\t4\n37630\t4\n37635\t4\n37636\t4\n37661\t4\n37680\t4\n37682\t4\n37690\t4\n37691\t4\n37697\t4\n37703\t4\n37704\t4\n37706\t4\n37708\t4\n37734\t4\n37736\t4\n37758\t4\n37762\t4\n37769\t4\n37783\t4\n37793\t4\n37797\t4\n37806\t4\n37807\t4\n37820\t4\n37822\t4\n37832\t4\n37835\t4\n37839\t4\n37847\t4\n37865\t4\n37868\t4\n37872\t4\n37877\t4\n37880\t4\n37881\t4\n37886\t4\n37887\t4\n37889\t4\n37891\t4\n37892\t4\n37908\t4\n37910\t4\n37913\t4\n37921\t4\n37926\t4\n37948\t4\n37953\t4\n37955\t4\n37962\t4\n37964\t4\n37976\t4\n37978\t4\n37981\t4\n37982\t4\n37990\t4\n37991\t4\n37992\t4\n38006\t4\n38010\t4\n38022\t4\n38023\t4\n38024\t4\n38031\t4\n38033\t4\n38034\t4\n38040\t4\n38048\t4\n38050\t4\n38055\t4\n38056\t4\n38064\t4\n38072\t4\n38074\t4\n38086\t4\n38092\t4\n38093\t4\n38111\t4\n38120\t4\n38125\t4\n38126\t4\n38141\t4\n38142\t4\n38148\t4\n38150\t4\n38154\t4\n38155\t4\n38165\t4\n38173\t4\n38179\t4\n38212\t4\n38218\t4\n38221\t4\n38223\t4\n38225\t4\n38237\t4\n38238\t4\n38244\t4\n38267\t4\n38272\t4\n38280\t4\n38282\t4\n38287\t4\n38292\t4\n38297\t4\n38306\t4\n38330\t4\n38332\t4\n38334\t4\n38335\t4\n38343\t4\n38350\t4\n38358\t4\n38363\t4\n38370\t4\n38381\t4\n38383\t4\n38393\t4\n38405\t4\n38407\t4\n38408\t4\n38413\t4\n38415\t4\n38420\t4\n38422\t4\n38427\t4\n38429\t4\n38430\t4\n38439\t4\n38440\t4\n38458\t4\n38461\t4\n38463\t4\n38470\t4\n38471\t4\n38474\t4\n38477\t4\n38486\t4\n38487\t4\n38489\t4\n38491\t4\n38492\t4\n38496\t4\n38497\t4\n38501\t4\n38503\t4\n38505\t4\n38513\t4\n38516\t4\n38517\t4\n38524\t4\n38527\t4\n38529\t4\n38530\t4\n38533\t4\n38553\t4\n38557\t4\n38562\t4\n38563\t4\n38564\t4\n38567\t4\n38583\t4\n38584\t4\n38586\t4\n38597\t4\n38598\t4\n38600\t4\n38610\t4\n38625\t4\n38627\t4\n38630\t4\n38632\t4\n38636\t4\n38641\t4\n38644\t4\n38651\t4\n38656\t4\n38658\t4\n38687\t4\n38689\t4\n38699\t4\n38701\t4\n38712\t4\n38727\t4\n38732\t4\n38733\t4\n38737\t4\n38756\t4\n38770\t4\n38773\t4\n38775\t4\n38779\t4\n38801\t4\n38804\t4\n38805\t4\n38821\t4\n38823\t4\n38825\t4\n38826\t4\n38828\t4\n38830\t4\n38831\t4\n38832\t4\n38833\t4\n38839\t4\n38843\t4\n38856\t4\n38861\t4\n38875\t4\n38880\t4\n38885\t4\n38897\t4\n38903\t4\n38918\t4\n38919\t4\n38923\t4\n38930\t4\n38933\t4\n38938\t4\n38941\t4\n38954\t4\n38955\t4\n38962\t4\n38965\t4\n38967\t4\n38983\t4\n38987\t4\n38992\t4\n39006\t4\n39036\t4\n39041\t4\n39048\t4\n39059\t4\n39063\t4\n39066\t4\n39070\t4\n39071\t4\n39073\t4\n39080\t4\n39081\t4\n39084\t4\n39086\t4\n39089\t4\n39098\t4\n39099\t4\n39102\t4\n39103\t4\n39109\t4\n39114\t4\n39121\t4\n39122\t4\n39127\t4\n39130\t4\n39136\t4\n39144\t4\n39145\t4\n39149\t4\n39154\t4\n39157\t4\n39164\t4\n39165\t4\n39169\t4\n39171\t4\n39180\t4\n39181\t4\n39187\t4\n39192\t4\n39195\t4\n39199\t4\n39205\t4\n39209\t4\n39213\t4\n39214\t4\n39215\t4\n39216\t4\n39219\t4\n39220\t4\n39236\t4\n39238\t4\n39252\t4\n39257\t4\n39274\t4\n39275\t4\n39286\t4\n39287\t4\n39288\t4\n39312\t4\n39323\t4\n39326\t4\n39330\t4\n39334\t4\n39336\t4\n39337\t4\n39342\t4\n39351\t4\n39352\t4\n39353\t4\n39359\t4\n39361\t4\n39364\t4\n39365\t4\n39371\t4\n39373\t4\n39384\t4\n39385\t4\n39391\t4\n39394\t4\n39396\t4\n39398\t4\n39399\t4\n39401\t4\n39418\t4\n39428\t4\n39431\t4\n39433\t4\n39436\t4\n39452\t4\n39455\t4\n39457\t4\n39483\t4\n39515\t4\n39517\t4\n39518\t4\n39519\t4\n39532\t4\n39533\t4\n39535\t4\n39539\t4\n39541\t4\n39545\t4\n39550\t4\n39553\t4\n39562\t4\n39564\t4\n39572\t4\n39573\t4\n39577\t4\n39591\t4\n39593\t4\n39605\t4\n39608\t4\n39617\t4\n39624\t4\n39629\t4\n39630\t4\n39640\t4\n39646\t4\n39648\t4\n39650\t4\n39651\t4\n39653\t4\n39657\t4\n39658\t4\n39665\t4\n39668\t4\n39672\t4\n39680\t4\n39689\t4\n39691\t4\n39704\t4\n39705\t4\n39706\t4\n39713\t4\n39734\t4\n39736\t4\n39740\t4\n39762\t4\n39764\t4\n39771\t4\n39772\t4\n39783\t4\n39787\t4\n39807\t4\n39808\t4\n39811\t4\n39817\t4\n39822\t4\n39824\t4\n39832\t4\n39833\t4\n39837\t4\n39848\t4\n39854\t4\n39858\t4\n39860\t4\n39861\t4\n39865\t4\n39868\t4\n39882\t4\n39893\t4\n39895\t4\n39906\t4\n39913\t4\n39915\t4\n39921\t4\n39923\t4\n39924\t4\n39929\t4\n39950\t4\n39959\t4\n39964\t4\n39967\t4\n39976\t4\n39981\t4\n39986\t4\n39995\t4\n39998\t4\n39999\t4\n40001\t4\n40006\t4\n40016\t4\n40026\t4\n40027\t4\n40032\t4\n40033\t4\n40044\t4\n40048\t4\n40051\t4\n40056\t4\n40067\t4\n40075\t4\n40083\t4\n40129\t4\n40145\t4\n40146\t4\n40147\t4\n40151\t4\n40153\t4\n40157\t4\n40163\t4\n40167\t4\n40169\t4\n40172\t4\n40173\t4\n40176\t4\n40183\t4\n40184\t4\n40194\t4\n40202\t4\n40203\t4\n40214\t4\n40216\t4\n40219\t4\n40221\t4\n40223\t4\n40225\t4\n40229\t4\n40231\t4\n40251\t4\n40255\t4\n40256\t4\n40263\t4\n40266\t4\n40267\t4\n40275\t4\n40278\t4\n40314\t4\n40317\t4\n40319\t4\n40329\t4\n40337\t4\n40339\t4\n40340\t4\n40364\t4\n40366\t4\n40367\t4\n40374\t4\n40375\t4\n40389\t4\n40390\t4\n40392\t4\n40394\t4\n40395\t4\n40400\t4\n40401\t4\n40412\t4\n40418\t4\n40420\t4\n40422\t4\n40425\t4\n40432\t4\n40445\t4\n40448\t4\n40450\t4\n40454\t4\n40458\t4\n40463\t4\n40466\t4\n40480\t4\n40481\t4\n40482\t4\n40484\t4\n40490\t4\n40492\t4\n40496\t4\n40497\t4\n40510\t4\n40517\t4\n40520\t4\n40524\t4\n40543\t4\n40563\t4\n40564\t4\n40569\t4\n40573\t4\n40577\t4\n40596\t4\n40597\t4\n40601\t4\n40603\t4\n40604\t4\n40613\t4\n40614\t4\n40615\t4\n40619\t4\n40623\t4\n40630\t4\n40631\t4\n40634\t4\n40637\t4\n40645\t4\n40650\t4\n40668\t4\n40670\t4\n40672\t4\n40678\t4\n40679\t4\n40681\t4\n40683\t4\n40684\t4\n40686\t4\n40688\t4\n40691\t4\n40692\t4\n40698\t4\n40702\t4\n40714\t4\n40724\t4\n40730\t4\n40735\t4\n40737\t4\n40741\t4\n40743\t4\n40744\t4\n40748\t4\n40749\t4\n40751\t4\n40757\t4\n40761\t4\n40766\t4\n40772\t4\n40773\t4\n40777\t4\n40779\t4\n40780\t4\n40782\t4\n40786\t4\n40788\t4\n40790\t4\n40791\t4\n40796\t4\n40797\t4\n40799\t4\n40804\t4\n40809\t4\n40812\t4\n40816\t4\n40817\t4\n40820\t4\n40821\t4\n40825\t4\n40833\t4\n40836\t4\n40838\t4\n40852\t4\n40853\t4\n40854\t4\n40855\t4\n40858\t4\n40866\t4\n40868\t4\n40873\t4\n40879\t4\n40890\t4\n40895\t4\n40903\t4\n40905\t4\n40910\t4\n40912\t4\n40920\t4\n40931\t4\n40942\t4\n40949\t4\n40965\t4\n40972\t4\n40979\t4\n40982\t4\n40984\t4\n40987\t4\n40992\t4\n40996\t4\n40998\t4\n41001\t4\n41002\t4\n41024\t4\n41027\t4\n41028\t4\n41029\t4\n41032\t4\n41047\t4\n41053\t4\n41074\t4\n41088\t4\n41089\t4\n41094\t4\n41106\t4\n41110\t4\n41120\t4\n41128\t4\n41141\t4\n41145\t4\n41148\t4\n41154\t4\n41155\t4\n41158\t4\n41161\t4\n41176\t4\n41179\t4\n41182\t4\n41187\t4\n41192\t4\n41194\t4\n41195\t4\n41202\t4\n41218\t4\n41223\t4\n41228\t4\n41245\t4\n41254\t4\n41256\t4\n41262\t4\n41263\t4\n41270\t4\n41281\t4\n41283\t4\n41286\t4\n41290\t4\n41294\t4\n41297\t4\n41300\t4\n41301\t4\n41312\t4\n41315\t4\n41326\t4\n41327\t4\n41346\t4\n41353\t4\n41362\t4\n41378\t4\n41383\t4\n41384\t4\n41386\t4\n41388\t4\n41393\t4\n41398\t4\n41404\t4\n41410\t4\n41415\t4\n41417\t4\n41426\t4\n41436\t4\n41439\t4\n41443\t4\n41445\t4\n41446\t4\n41461\t4\n41469\t4\n41471\t4\n41504\t4\n41512\t4\n41517\t4\n41520\t4\n41521\t4\n41531\t4\n41534\t4\n41535\t4\n41537\t4\n41538\t4\n41559\t4\n41563\t4\n41570\t4\n41578\t4\n41583\t4\n41584\t4\n41589\t4\n41593\t4\n41598\t4\n41601\t4\n41616\t4\n41618\t4\n41622\t4\n41623\t4\n41625\t4\n41649\t4\n41652\t4\n41653\t4\n41655\t4\n41658\t4\n41663\t4\n41686\t4\n41687\t4\n41689\t4\n41693\t4\n41707\t4\n41717\t4\n41726\t4\n41734\t4\n41736\t4\n41737\t4\n41756\t4\n41757\t4\n41761\t4\n41762\t4\n41764\t4\n41766\t4\n41771\t4\n41781\t4\n41784\t4\n41790\t4\n41794\t4\n41801\t4\n41802\t4\n41807\t4\n41814\t4\n41827\t4\n41831\t4\n41832\t4\n41842\t4\n41844\t4\n41862\t4\n41881\t4\n41882\t4\n41884\t4\n41886\t4\n41889\t4\n41894\t4\n41907\t4\n41914\t4\n41919\t4\n41929\t4\n41946\t4\n41948\t4\n41951\t4\n41966\t4\n41985\t4\n41990\t4\n42007\t4\n42008\t4\n42016\t4\n42018\t4\n42019\t4\n42044\t4\n42045\t4\n42049\t4\n42050\t4\n42054\t4\n42057\t4\n42072\t4\n42074\t4\n42083\t4\n42086\t4\n42088\t4\n42095\t4\n42101\t4\n42105\t4\n42111\t4\n42123\t4\n42126\t4\n42128\t4\n42143\t4\n42145\t4\n42152\t4\n42155\t4\n42162\t4\n42172\t4\n42179\t4\n42185\t4\n42191\t4\n42198\t4\n42202\t4\n42204\t4\n42208\t4\n42213\t4\n42226\t4\n42227\t4\n42233\t4\n42234\t4\n42243\t4\n42250\t4\n42251\t4\n42263\t4\n42265\t4\n42270\t4\n42276\t4\n42278\t4\n42290\t4\n42293\t4\n42299\t4\n42304\t4\n42306\t4\n42307\t4\n42322\t4\n42325\t4\n42329\t4\n42331\t4\n42332\t4\n42337\t4\n42340\t4\n42348\t4\n42352\t4\n42354\t4\n42355\t4\n42366\t4\n42398\t4\n42408\t4\n42415\t4\n42419\t4\n42422\t4\n42431\t4\n42432\t4\n42438\t4\n42441\t4\n42444\t4\n42457\t4\n42459\t4\n42462\t4\n42467\t4\n42469\t4\n42470\t4\n42487\t4\n42488\t4\n42492\t4\n42495\t4\n42499\t4\n42508\t4\n42509\t4\n42526\t4\n42531\t4\n42533\t4\n42534\t4\n42544\t4\n42546\t4\n42548\t4\n42557\t4\n42566\t4\n42568\t4\n42574\t4\n42582\t4\n42583\t4\n42598\t4\n42603\t4\n42614\t4\n42621\t4\n42623\t4\n42628\t4\n42631\t4\n42632\t4\n42635\t4\n42640\t4\n42642\t4\n42648\t4\n42649\t4\n42660\t4\n42667\t4\n42669\t4\n42673\t4\n42674\t4\n42683\t4\n42690\t4\n42691\t4\n42699\t4\n42721\t4\n42725\t4\n42727\t4\n42728\t4\n42734\t4\n42739\t4\n42746\t4\n42751\t4\n42753\t4\n42760\t4\n42761\t4\n42773\t4\n42780\t4\n42785\t4\n42786\t4\n42788\t4\n42794\t4\n42822\t4\n42824\t4\n42829\t4\n42833\t4\n42834\t4\n42838\t4\n42840\t4\n42841\t4\n42846\t4\n42847\t4\n42853\t4\n42856\t4\n42859\t4\n42866\t4\n42871\t4\n42872\t4\n42878\t4\n42880\t4\n42882\t4\n42892\t4\n42906\t4\n42915\t4\n42934\t4\n42941\t4\n42946\t4\n42947\t4\n42957\t4\n42972\t4\n42989\t4\n42992\t4\n42995\t4\n42998\t4\n43005\t4\n43023\t4\n43028\t4\n43029\t4\n43033\t4\n43040\t4\n43043\t4\n43052\t4\n43059\t4\n43061\t4\n43062\t4\n43068\t4\n43078\t4\n43082\t4\n43084\t4\n43094\t4\n43096\t4\n43100\t4\n43103\t4\n43118\t4\n43128\t4\n43129\t4\n43137\t4\n43144\t4\n43153\t4\n43154\t4\n43159\t4\n43161\t4\n43178\t4\n43180\t4\n43186\t4\n43199\t4\n43200\t4\n43204\t4\n43214\t4\n43217\t4\n43218\t4\n43222\t4\n43233\t4\n43236\t4\n43241\t4\n43244\t4\n43247\t4\n43248\t4\n43250\t4\n43254\t4\n43256\t4\n43258\t4\n43274\t4\n43275\t4\n43276\t4\n43277\t4\n43282\t4\n43284\t4\n43287\t4\n43289\t4\n43296\t4\n43297\t4\n43306\t4\n43307\t4\n43309\t4\n43314\t4\n43315\t4\n43318\t4\n43320\t4\n43321\t4\n43323\t4\n43330\t4\n43339\t4\n43343\t4\n43345\t4\n43350\t4\n43355\t4\n43363\t4\n43366\t4\n43372\t4\n43375\t4\n43381\t4\n43383\t4\n43388\t4\n43392\t4\n43394\t4\n43396\t4\n43410\t4\n43411\t4\n43417\t4\n43421\t4\n43425\t4\n43428\t4\n43446\t4\n43455\t4\n43459\t4\n43460\t4\n43483\t4\n43484\t4\n43489\t4\n43490\t4\n43501\t4\n43509\t4\n43516\t4\n43529\t4\n43533\t4\n43535\t4\n43550\t4\n43554\t4\n43555\t4\n43560\t4\n43563\t4\n43574\t4\n43580\t4\n43581\t4\n43585\t4\n43588\t4\n43602\t4\n43603\t4\n43604\t4\n43607\t4\n43625\t4\n43632\t4\n43636\t4\n43638\t4\n43640\t4\n43642\t4\n43648\t4\n43657\t4\n43668\t4\n43672\t4\n43700\t4\n43711\t4\n43714\t4\n43723\t4\n43737\t4\n43738\t4\n43739\t4\n43743\t4\n43753\t4\n43755\t4\n43769\t4\n43772\t4\n43776\t4\n43790\t4\n43799\t4\n43807\t4\n43814\t4\n43816\t4\n43819\t4\n43824\t4\n43828\t4\n43830\t4\n43838\t4\n43848\t4\n43851\t4\n43853\t4\n43855\t4\n43867\t4\n43869\t4\n43871\t4\n43875\t4\n43895\t4\n43899\t4\n43911\t4\n43914\t4\n43918\t4\n43940\t4\n43945\t4\n43957\t4\n43962\t4\n43965\t4\n43974\t4\n43976\t4\n43988\t4\n43989\t4\n43992\t4\n44005\t4\n44006\t4\n44009\t4\n44015\t4\n44016\t4\n44023\t4\n44032\t4\n44036\t4\n44037\t4\n44054\t4\n44055\t4\n44059\t4\n44067\t4\n44072\t4\n44078\t4\n44081\t4\n44085\t4\n44094\t4\n44104\t4\n44108\t4\n44111\t4\n44113\t4\n44118\t4\n44121\t4\n44130\t4\n44134\t4\n44140\t4\n44143\t4\n44164\t4\n44165\t4\n44172\t4\n44173\t4\n44183\t4\n44185\t4\n44195\t4\n44197\t4\n44204\t4\n44208\t4\n44210\t4\n44213\t4\n44214\t4\n44225\t4\n44227\t4\n44230\t4\n44234\t4\n44237\t4\n44239\t4\n44243\t4\n44255\t4\n44257\t4\n44277\t4\n44279\t4\n44284\t4\n44289\t4\n44305\t4\n44307\t4\n44311\t4\n44312\t4\n44313\t4\n44325\t4\n44329\t4\n44331\t4\n44333\t4\n44334\t4\n44339\t4\n44340\t4\n44347\t4\n44349\t4\n44351\t4\n44356\t4\n44359\t4\n44361\t4\n44367\t4\n44371\t4\n44398\t4\n44399\t4\n44437\t4\n44442\t4\n44458\t4\n44468\t4\n44487\t4\n44488\t4\n44489\t4\n44496\t4\n44497\t4\n44502\t4\n44503\t4\n44509\t4\n44517\t4\n44518\t4\n44531\t4\n44540\t4\n44549\t4\n44550\t4\n44559\t4\n44560\t4\n44562\t4\n44563\t4\n44586\t4\n44589\t4\n44593\t4\n44598\t4\n44608\t4\n44609\t4\n44614\t4\n44617\t4\n44618\t4\n44623\t4\n44631\t4\n44636\t4\n44642\t4\n44662\t4\n44673\t4\n44674\t4\n44679\t4\n44693\t4\n44699\t4\n44701\t4\n44704\t4\n44706\t4\n44714\t4\n44718\t4\n44720\t4\n44725\t4\n44727\t4\n44732\t4\n44742\t4\n44744\t4\n44751\t4\n44757\t4\n44773\t4\n44778\t4\n44783\t4\n44790\t4\n44800\t4\n44810\t4\n44816\t4\n44820\t4\n44821\t4\n44824\t4\n44826\t4\n44857\t4\n44860\t4\n44861\t4\n44863\t4\n44864\t4\n44868\t4\n44870\t4\n44877\t4\n44885\t4\n44886\t4\n44893\t4\n44904\t4\n44920\t4\n44924\t4\n44929\t4\n44930\t4\n44935\t4\n44936\t4\n44940\t4\n44952\t4\n44955\t4\n44967\t4\n44978\t4\n44982\t4\n44989\t4\n44990\t4\n44993\t4\n45012\t4\n45015\t4\n45021\t4\n45026\t4\n45037\t4\n45038\t4\n45065\t4\n45067\t4\n45068\t4\n45071\t4\n45073\t4\n45079\t4\n45093\t4\n45098\t4\n45103\t4\n45110\t4\n45114\t4\n45121\t4\n45127\t4\n45129\t4\n45132\t4\n45133\t4\n45134\t4\n45147\t4\n45168\t4\n45180\t4\n45184\t4\n45202\t4\n45204\t4\n45212\t4\n45213\t4\n45218\t4\n45220\t4\n45222\t4\n45233\t4\n45240\t4\n45254\t4\n45261\t4\n45266\t4\n45268\t4\n45270\t4\n45274\t4\n45279\t4\n45282\t4\n45297\t4\n45302\t4\n45305\t4\n45333\t4\n45334\t4\n45337\t4\n45343\t4\n45345\t4\n45347\t4\n45365\t4\n45372\t4\n45374\t4\n45377\t4\n45378\t4\n45381\t4\n45387\t4\n45393\t4\n45398\t4\n45401\t4\n45404\t4\n45408\t4\n45420\t4\n45421\t4\n45428\t4\n45431\t4\n45436\t4\n45456\t4\n45457\t4\n45462\t4\n45467\t4\n45468\t4\n45480\t4\n45486\t4\n45503\t4\n45510\t4\n45521\t4\n45525\t4\n45526\t4\n45528\t4\n45534\t4\n45566\t4\n45571\t4\n45574\t4\n45580\t4\n45586\t4\n45589\t4\n45592\t4\n45594\t4\n45595\t4\n45598\t4\n45601\t4\n45608\t4\n45612\t4\n45618\t4\n45631\t4\n45638\t4\n45643\t4\n45649\t4\n45661\t4\n45664\t4\n45672\t4\n45677\t4\n45681\t4\n45682\t4\n45690\t4\n45691\t4\n45693\t4\n45701\t4\n45711\t4\n45719\t4\n45730\t4\n45734\t4\n45740\t4\n45746\t4\n45751\t4\n45767\t4\n45782\t4\n45792\t4\n45797\t4\n45799\t4\n45803\t4\n45813\t4\n45817\t4\n45824\t4\n45825\t4\n45833\t4\n45838\t4\n45847\t4\n45852\t4\n45855\t4\n45860\t4\n45862\t4\n45869\t4\n45876\t4\n45883\t4\n45884\t4\n45885\t4\n45888\t4\n45889\t4\n45898\t4\n45911\t4\n45916\t4\n45918\t4\n45919\t4\n45923\t4\n45935\t4\n45938\t4\n45939\t4\n45944\t4\n45961\t4\n45963\t4\n45966\t4\n45968\t4\n45970\t4\n45974\t4\n45986\t4\n45993\t4\n45997\t4\n45999\t4\n46004\t4\n46010\t4\n46011\t4\n46017\t4\n46023\t4\n46043\t4\n46045\t4\n46047\t4\n46053\t4\n46057\t4\n46070\t4\n46079\t4\n46083\t4\n46087\t4\n46088\t4\n46091\t4\n46094\t4\n46095\t4\n46103\t4\n46104\t4\n46109\t4\n46113\t4\n46127\t4\n46133\t4\n46149\t4\n46155\t4\n46168\t4\n46170\t4\n46171\t4\n46177\t4\n46192\t4\n46194\t4\n46199\t4\n46202\t4\n46210\t4\n46213\t4\n46218\t4\n46223\t4\n46230\t4\n46232\t4\n46257\t4\n46259\t4\n46264\t4\n46290\t4\n46291\t4\n46297\t4\n46299\t4\n46304\t4\n46306\t4\n46309\t4\n46311\t4\n46322\t4\n46328\t4\n46331\t4\n46335\t4\n46346\t4\n46349\t4\n46350\t4\n46359\t4\n46360\t4\n46366\t4\n46369\t4\n46371\t4\n46373\t4\n46379\t4\n46391\t4\n46392\t4\n46416\t4\n46420\t4\n46433\t4\n46437\t4\n46442\t4\n46449\t4\n46460\t4\n46467\t4\n46473\t4\n46475\t4\n46477\t4\n46478\t4\n46479\t4\n46480\t4\n46489\t4\n46491\t4\n46496\t4\n46500\t4\n46501\t4\n46505\t4\n46518\t4\n46521\t4\n46522\t4\n46524\t4\n46531\t4\n46534\t4\n46535\t4\n46541\t4\n46546\t4\n46547\t4\n46553\t4\n46561\t4\n46566\t4\n46572\t4\n46580\t4\n46582\t4\n46590\t4\n46591\t4\n46600\t4\n46601\t4\n46606\t4\n46607\t4\n46609\t4\n46611\t4\n46622\t4\n46630\t4\n46635\t4\n46638\t4\n46648\t4\n46651\t4\n46654\t4\n46656\t4\n46660\t4\n46663\t4\n46671\t4\n46675\t4\n46679\t4\n46708\t4\n46711\t4\n46713\t4\n46715\t4\n46731\t4\n46741\t4\n46745\t4\n46749\t4\n46759\t4\n46764\t4\n46767\t4\n46768\t4\n46774\t4\n46784\t4\n46789\t4\n46794\t4\n46798\t4\n46801\t4\n46802\t4\n46804\t4\n46810\t4\n46819\t4\n46821\t4\n46826\t4\n46828\t4\n46831\t4\n46839\t4\n46852\t4\n46856\t4\n46868\t4\n46869\t4\n46871\t4\n46877\t4\n46894\t4\n46895\t4\n46920\t4\n46925\t4\n46937\t4\n46950\t4\n46963\t4\n46974\t4\n46975\t4\n46991\t4\n47002\t4\n47008\t4\n47011\t4\n47017\t4\n47028\t4\n47030\t4\n47046\t4\n47050\t4\n47052\t4\n47061\t4\n47062\t4\n47067\t4\n47068\t4\n47069\t4\n47076\t4\n47094\t4\n47110\t4\n47121\t4\n47122\t4\n47144\t4\n47153\t4\n47154\t4\n47155\t4\n47157\t4\n47168\t4\n47177\t4\n47186\t4\n47190\t4\n47203\t4\n47206\t4\n47208\t4\n47210\t4\n47212\t4\n47219\t4\n47221\t4\n47224\t4\n47225\t4\n47235\t4\n47250\t4\n47258\t4\n47270\t4\n47271\t4\n47277\t4\n47278\t4\n47279\t4\n47290\t4\n47292\t4\n47301\t4\n47302\t4\n47311\t4\n47315\t4\n47324\t4\n47333\t4\n47362\t4\n47367\t4\n47369\t4\n47370\t4\n47373\t4\n47382\t4\n47384\t4\n47386\t4\n47399\t4\n47402\t4\n47405\t4\n47409\t4\n47410\t4\n47416\t4\n47427\t4\n47433\t4\n47468\t4\n47469\t4\n47471\t4\n47479\t4\n47481\t4\n47491\t4\n47493\t4\n47498\t4\n47513\t4\n47515\t4\n47523\t4\n47538\t4\n47548\t4\n47553\t4\n47560\t4\n47561\t4\n47570\t4\n47572\t4\n47587\t4\n47599\t4\n47601\t4\n47602\t4\n47604\t4\n47613\t4\n47614\t4\n47621\t4\n47623\t4\n47626\t4\n47627\t4\n47630\t4\n47637\t4\n47645\t4\n47648\t4\n47652\t4\n47677\t4\n47685\t4\n47687\t4\n47693\t4\n47699\t4\n47700\t4\n47705\t4\n47706\t4\n47718\t4\n47722\t4\n47723\t4\n47726\t4\n47728\t4\n47735\t4\n47759\t4\n47773\t4\n47774\t4\n47778\t4\n47785\t4\n47804\t4\n47813\t4\n47829\t4\n47832\t4\n47837\t4\n47850\t4\n47862\t4\n47873\t4\n47875\t4\n47876\t4\n47878\t4\n47879\t4\n47884\t4\n47892\t4\n47911\t4\n47917\t4\n47921\t4\n47928\t4\n47936\t4\n47938\t4\n47940\t4\n47953\t4\n47956\t4\n47957\t4\n47959\t4\n47961\t4\n47971\t4\n47974\t4\n47975\t4\n47985\t4\n47997\t4\n47998\t4\n48003\t4\n48015\t4\n48017\t4\n48018\t4\n48023\t4\n48024\t4\n48025\t4\n48027\t4\n48029\t4\n48031\t4\n48032\t4\n48033\t4\n48037\t4\n48040\t4\n48046\t4\n48052\t4\n48061\t4\n48084\t4\n48085\t4\n48093\t4\n48094\t4\n48102\t4\n48107\t4\n48108\t4\n48109\t4\n48126\t4\n48132\t4\n48153\t4\n48159\t4\n48166\t4\n48184\t4\n48188\t4\n48201\t4\n48205\t4\n48208\t4\n48215\t4\n48219\t4\n48222\t4\n48233\t4\n48236\t4\n48241\t4\n48243\t4\n48248\t4\n48252\t4\n48267\t4\n48269\t4\n48271\t4\n48278\t4\n48286\t4\n48290\t4\n48293\t4\n48297\t4\n48301\t4\n48303\t4\n48305\t4\n48308\t4\n48310\t4\n48316\t4\n48321\t4\n48323\t4\n48324\t4\n48327\t4\n48331\t4\n48341\t4\n48354\t4\n48356\t4\n48358\t4\n48364\t4\n48365\t4\n48377\t4\n48384\t4\n48386\t4\n48389\t4\n48391\t4\n48392\t4\n48401\t4\n48402\t4\n48403\t4\n48405\t4\n48419\t4\n48428\t4\n48434\t4\n48455\t4\n48457\t4\n48468\t4\n48475\t4\n48477\t4\n48478\t4\n48484\t4\n48485\t4\n48489\t4\n48490\t4\n48497\t4\n48501\t4\n48503\t4\n48512\t4\n48525\t4\n48532\t4\n48541\t4\n48542\t4\n48552\t4\n48569\t4\n48572\t4\n48582\t4\n48593\t4\n48614\t4\n48617\t4\n48636\t4\n48638\t4\n48647\t4\n48655\t4\n48663\t4\n48672\t4\n48678\t4\n48679\t4\n48686\t4\n48690\t4\n48693\t4\n48696\t4\n48698\t4\n48701\t4\n48702\t4\n48708\t4\n48709\t4\n48711\t4\n48722\t4\n48734\t4\n48740\t4\n48741\t4\n48744\t4\n48745\t4\n48749\t4\n48750\t4\n48755\t4\n48760\t4\n48763\t4\n48788\t4\n48794\t4\n48798\t4\n48801\t4\n48802\t4\n48819\t4\n48820\t4\n48822\t4\n48824\t4\n48830\t4\n48834\t4\n48842\t4\n48849\t4\n48850\t4\n48854\t4\n48863\t4\n48869\t4\n48880\t4\n48881\t4\n48883\t4\n48885\t4\n48890\t4\n48892\t4\n48899\t4\n48901\t4\n48915\t4\n48919\t4\n48936\t4\n48941\t4\n48944\t4\n48945\t4\n48950\t4\n48952\t4\n48955\t4\n48956\t4\n48965\t4\n48968\t4\n48969\t4\n48977\t4\n48984\t4\n49002\t4\n49013\t4\n49015\t4\n49018\t4\n49022\t4\n49043\t4\n49046\t4\n49051\t4\n49053\t4\n49058\t4\n49060\t4\n49069\t4\n49082\t4\n49083\t4\n49086\t4\n49088\t4\n49091\t4\n49094\t4\n49096\t4\n49101\t4\n49111\t4\n49115\t4\n49119\t4\n49123\t4\n49125\t4\n49132\t4\n49136\t4\n49146\t4\n49147\t4\n49149\t4\n49156\t4\n49159\t4\n49171\t4\n49174\t4\n49181\t4\n49182\t4\n49188\t4\n49192\t4\n49200\t4\n49204\t4\n49218\t4\n49219\t4\n49233\t4\n49234\t4\n49247\t4\n49252\t4\n49253\t4\n49259\t4\n49267\t4\n49281\t4\n49297\t4\n49310\t4\n49315\t4\n49316\t4\n49318\t4\n49324\t4\n49329\t4\n49332\t4\n49338\t4\n49354\t4\n49365\t4\n49371\t4\n49373\t4\n49374\t4\n49381\t4\n49382\t4\n49387\t4\n49389\t4\n49394\t4\n49396\t4\n49409\t4\n49423\t4\n49433\t4\n49436\t4\n49439\t4\n49449\t4\n49463\t4\n49466\t4\n49469\t4\n49474\t4\n49480\t4\n49487\t4\n49500\t4\n49505\t4\n49506\t4\n49507\t4\n49516\t4\n49518\t4\n49519\t4\n49523\t4\n49526\t4\n49529\t4\n49534\t4\n49536\t4\n49538\t4\n49559\t4\n49560\t4\n49580\t4\n49592\t4\n49593\t4\n49596\t4\n49605\t4\n49610\t4\n49619\t4\n49620\t4\n49639\t4\n49641\t4\n49652\t4\n49659\t4\n49665\t4\n49675\t4\n49676\t4\n49678\t4\n49679\t4\n49680\t4\n49686\t4\n49691\t4\n49692\t4\n49706\t4\n49711\t4\n49717\t4\n49728\t4\n49766\t4\n49767\t4\n49777\t4\n49779\t4\n49784\t4\n49787\t4\n49789\t4\n49794\t4\n49796\t4\n49807\t4\n49809\t4\n49811\t4\n49820\t4\n49821\t4\n49826\t4\n49833\t4\n49846\t4\n49850\t4\n49855\t4\n49856\t4\n49867\t4\n49884\t4\n49890\t4\n49891\t4\n49909\t4\n49926\t4\n49928\t4\n49930\t4\n49944\t4\n49959\t4\n49960\t4\n49967\t4\n49971\t4\n49975\t4\n49977\t4\n49979\t4\n49983\t4\n49988\t4\n49991\t4\n49998\t4\n50001\t4\n50002\t4\n50003\t4\n50011\t4\n50014\t4\n50028\t4\n50029\t4\n50032\t4\n50036\t4\n50039\t4\n50052\t4\n50058\t4\n50061\t4\n50071\t4\n50072\t4\n50075\t4\n50078\t4\n50082\t4\n50084\t4\n50092\t4\n50097\t4\n50099\t4\n50101\t4\n50117\t4\n50118\t4\n50121\t4\n50123\t4\n50125\t4\n50132\t4\n50133\t4\n50144\t4\n50145\t4\n50149\t4\n50175\t4\n50178\t4\n50179\t4\n50181\t4\n50191\t4\n50193\t4\n50199\t4\n50204\t4\n50213\t4\n50226\t4\n50239\t4\n50240\t4\n50242\t4\n50247\t4\n50248\t4\n50249\t4\n50253\t4\n50266\t4\n50280\t4\n50281\t4\n50290\t4\n50298\t4\n50305\t4\n50312\t4\n50314\t4\n50315\t4\n50318\t4\n50327\t4\n50331\t4\n50334\t4\n50338\t4\n50339\t4\n50340\t4\n50341\t4\n50351\t4\n50353\t4\n50358\t4\n50373\t4\n50388\t4\n50408\t4\n50411\t4\n50412\t4\n50413\t4\n50417\t4\n50423\t4\n50427\t4\n50443\t4\n50448\t4\n50452\t4\n50453\t4\n50464\t4\n50465\t4\n50467\t4\n50473\t4\n50487\t4\n50489\t4\n50493\t4\n50495\t4\n50506\t4\n50507\t4\n50517\t4\n50522\t4\n50527\t4\n50531\t4\n50538\t4\n50540\t4\n50545\t4\n50549\t4\n50550\t4\n50552\t4\n50559\t4\n50570\t4\n50588\t4\n50594\t4\n50597\t4\n50601\t4\n50602\t4\n50605\t4\n50608\t4\n50611\t4\n50632\t4\n50640\t4\n50646\t4\n50652\t4\n50656\t4\n50661\t4\n50663\t4\n50665\t4\n50676\t4\n50677\t4\n50683\t4\n50701\t4\n50707\t4\n50714\t4\n50721\t4\n50723\t4\n50728\t4\n50738\t4\n50745\t4\n50750\t4\n50751\t4\n50752\t4\n50778\t4\n50781\t4\n50789\t4\n50793\t4\n50811\t4\n50813\t4\n50819\t4\n50833\t4\n50835\t4\n50840\t4\n50861\t4\n50862\t4\n50865\t4\n50874\t4\n50876\t4\n50891\t4\n50898\t4\n50919\t4\n50925\t4\n50929\t4\n50931\t4\n50937\t4\n50938\t4\n50945\t4\n50957\t4\n50959\t4\n50964\t4\n50967\t4\n50972\t4\n50976\t4\n50980\t4\n50981\t4\n50985\t4\n50987\t4\n51000\t4\n51005\t4\n51018\t4\n51029\t4\n51031\t4\n51035\t4\n51038\t4\n51040\t4\n51041\t4\n51044\t4\n51055\t4\n51056\t4\n51065\t4\n51067\t4\n51076\t4\n51083\t4\n51104\t4\n51111\t4\n51113\t4\n51117\t4\n51118\t4\n51134\t4\n51148\t4\n51154\t4\n51160\t4\n51161\t4\n51171\t4\n51175\t4\n51179\t4\n51183\t4\n51186\t4\n51192\t4\n51194\t4\n51206\t4\n51211\t4\n51214\t4\n51217\t4\n51218\t4\n51220\t4\n51228\t4\n51229\t4\n51230\t4\n51231\t4\n51238\t4\n51251\t4\n51256\t4\n51259\t4\n51270\t4\n51278\t4\n51284\t4\n51286\t4\n51288\t4\n51289\t4\n51292\t4\n51294\t4\n51295\t4\n51301\t4\n51306\t4\n51324\t4\n51329\t4\n51336\t4\n51337\t4\n51339\t4\n51342\t4\n51369\t4\n51370\t4\n51373\t4\n51383\t4\n51397\t4\n51401\t4\n51408\t4\n51411\t4\n51414\t4\n51419\t4\n51425\t4\n51427\t4\n51429\t4\n51434\t4\n51439\t4\n51447\t4\n51448\t4\n51450\t4\n51453\t4\n51456\t4\n51467\t4\n51469\t4\n51473\t4\n51491\t4\n51493\t4\n51497\t4\n51498\t4\n51502\t4\n51505\t4\n51509\t4\n51512\t4\n51515\t4\n51523\t4\n51533\t4\n51541\t4\n51544\t4\n51549\t4\n51552\t4\n51554\t4\n51566\t4\n51574\t4\n51575\t4\n51576\t4\n51577\t4\n51583\t4\n51590\t4\n51591\t4\n51595\t4\n51596\t4\n51604\t4\n51615\t4\n51633\t4\n51639\t4\n51642\t4\n51643\t4\n51646\t4\n51647\t4\n51664\t4\n51669\t4\n51686\t4\n51706\t4\n51707\t4\n51710\t4\n51711\t4\n51714\t4\n51716\t4\n51719\t4\n51728\t4\n51733\t4\n51734\t4\n51739\t4\n51741\t4\n51747\t4\n51752\t4\n51758\t4\n51761\t4\n51767\t4\n51769\t4\n51771\t4\n51775\t4\n51776\t4\n51784\t4\n51789\t4\n51790\t4\n51791\t4\n51797\t4\n51803\t4\n51808\t4\n51813\t4\n51816\t4\n51826\t4\n51834\t4\n51838\t4\n51841\t4\n51843\t4\n51847\t4\n51848\t4\n51857\t4\n51862\t4\n51866\t4\n51884\t4\n51886\t4\n51893\t4\n51894\t4\n51897\t4\n51907\t4\n51912\t4\n51916\t4\n51917\t4\n51922\t4\n51930\t4\n51931\t4\n51932\t4\n51937\t4\n51938\t4\n51945\t4\n51948\t4\n51953\t4\n51955\t4\n51958\t4\n51961\t4\n51963\t4\n51968\t4\n51969\t4\n51980\t4\n51983\t4\n51994\t4\n52000\t4\n52003\t4\n52010\t4\n52018\t4\n52022\t4\n52034\t4\n52038\t4\n52039\t4\n52063\t4\n52071\t4\n52082\t4\n52087\t4\n52089\t4\n52090\t4\n52096\t4\n52099\t4\n52101\t4\n52109\t4\n52110\t4\n52111\t4\n52112\t4\n52116\t4\n52121\t4\n52126\t4\n52134\t4\n52140\t4\n52152\t4\n52162\t4\n52170\t4\n52178\t4\n52181\t4\n52186\t4\n52188\t4\n52194\t4\n52198\t4\n52212\t4\n52219\t4\n52221\t4\n52222\t4\n52227\t4\n52240\t4\n52251\t4\n52252\t4\n52253\t4\n52256\t4\n52270\t4\n52271\t4\n52272\t4\n52273\t4\n52275\t4\n52280\t4\n52283\t4\n52291\t4\n52292\t4\n52315\t4\n52317\t4\n52320\t4\n52330\t4\n52345\t4\n52346\t4\n52351\t4\n52354\t4\n52367\t4\n52371\t4\n52373\t4\n52375\t4\n52377\t4\n52380\t4\n52393\t4\n52406\t4\n52408\t4\n52411\t4\n52414\t4\n52426\t4\n52440\t4\n52448\t4\n52459\t4\n52460\t4\n52463\t4\n52470\t4\n52473\t4\n52474\t4\n52475\t4\n52500\t4\n52503\t4\n52507\t4\n52516\t4\n52523\t4\n52525\t4\n52526\t4\n52528\t4\n52531\t4\n52546\t4\n52548\t4\n52567\t4\n52572\t4\n52579\t4\n52600\t4\n52605\t4\n52612\t4\n52621\t4\n52644\t4\n52645\t4\n52648\t4\n52654\t4\n52663\t4\n52665\t4\n52671\t4\n52679\t4\n52682\t4\n52696\t4\n52699\t4\n52708\t4\n52711\t4\n52722\t4\n52724\t4\n52727\t4\n52730\t4\n52733\t4\n52748\t4\n52749\t4\n52756\t4\n52764\t4\n52770\t4\n52775\t4\n52776\t4\n52784\t4\n52791\t4\n52792\t4\n52795\t4\n52801\t4\n52804\t4\n52814\t4\n52817\t4\n52824\t4\n52829\t4\n52836\t4\n52838\t4\n52842\t4\n52845\t4\n52846\t4\n52848\t4\n52849\t4\n52859\t4\n52861\t4\n52873\t4\n52880\t4\n52881\t4\n52884\t4\n52887\t4\n52891\t4\n52893\t4\n52919\t4\n52930\t4\n52933\t4\n52939\t4\n52944\t4\n52945\t4\n52951\t4\n52955\t4\n52960\t4\n52968\t4\n52970\t4\n52972\t4\n52977\t4\n52980\t4\n52982\t4\n52993\t4\n52995\t4\n53003\t4\n53010\t4\n53011\t4\n53019\t4\n53021\t4\n53028\t4\n53030\t4\n53033\t4\n53034\t4\n53036\t4\n53038\t4\n53039\t4\n53043\t4\n53048\t4\n53053\t4\n53058\t4\n53059\t4\n53060\t4\n53067\t4\n53071\t4\n53072\t4\n53077\t4\n53079\t4\n53105\t4\n53106\t4\n53112\t4\n53115\t4\n53117\t4\n53136\t4\n53142\t4\n53146\t4\n53147\t4\n53149\t4\n53160\t4\n53161\t4\n53162\t4\n53173\t4\n53175\t4\n53177\t4\n53203\t4\n53204\t4\n53222\t4\n53225\t4\n53228\t4\n53232\t4\n53236\t4\n53244\t4\n53245\t4\n53247\t4\n53250\t4\n53254\t4\n53273\t4\n53290\t4\n53291\t4\n53292\t4\n53303\t4\n53305\t4\n53308\t4\n53309\t4\n53316\t4\n53324\t4\n53325\t4\n53331\t4\n53336\t4\n53347\t4\n53355\t4\n53356\t4\n53369\t4\n53370\t4\n53384\t4\n53402\t4\n53413\t4\n53415\t4\n53417\t4\n53422\t4\n53423\t4\n53425\t4\n53432\t4\n53433\t4\n53437\t4\n53445\t4\n53449\t4\n53469\t4\n53472\t4\n53480\t4\n53487\t4\n53489\t4\n53496\t4\n53498\t4\n53512\t4\n53522\t4\n53527\t4\n53544\t4\n53549\t4\n53558\t4\n53561\t4\n53571\t4\n53574\t4\n53582\t4\n53586\t4\n53587\t4\n53592\t4\n53593\t4\n53609\t4\n53611\t4\n53621\t4\n53630\t4\n53646\t4\n53647\t4\n53669\t4\n53670\t4\n53672\t4\n53676\t4\n53680\t4\n53686\t4\n53696\t4\n53700\t4\n53701\t4\n53708\t4\n53715\t4\n53742\t4\n53744\t4\n53754\t4\n53755\t4\n53762\t4\n53772\t4\n53775\t4\n53776\t4\n53777\t4\n53784\t4\n53785\t4\n53795\t4\n53796\t4\n53800\t4\n53802\t4\n53806\t4\n53807\t4\n53810\t4\n53812\t4\n53818\t4\n53825\t4\n53831\t4\n53837\t4\n53841\t4\n53847\t4\n53850\t4\n53857\t4\n53876\t4\n53879\t4\n53884\t4\n53886\t4\n53896\t4\n53903\t4\n53907\t4\n53909\t4\n53911\t4\n53917\t4\n53918\t4\n53922\t4\n53924\t4\n53925\t4\n53927\t4\n53933\t4\n53944\t4\n53945\t4\n53951\t4\n53953\t4\n53975\t4\n53984\t4\n53988\t4\n53990\t4\n53994\t4\n53996\t4\n53998\t4\n54005\t4\n54015\t4\n54017\t4\n54022\t4\n54024\t4\n54025\t4\n54033\t4\n54040\t4\n54057\t4\n54063\t4\n54070\t4\n54075\t4\n54076\t4\n54078\t4\n54081\t4\n54083\t4\n54106\t4\n54111\t4\n54112\t4\n54119\t4\n54121\t4\n54133\t4\n54135\t4\n54141\t4\n54153\t4\n54159\t4\n54174\t4\n54180\t4\n54187\t4\n54191\t4\n54193\t4\n54202\t4\n54203\t4\n54206\t4\n54208\t4\n54212\t4\n54213\t4\n54222\t4\n54230\t4\n54241\t4\n54253\t4\n54257\t4\n54258\t4\n54262\t4\n54264\t4\n54276\t4\n54278\t4\n54279\t4\n54282\t4\n54298\t4\n54305\t4\n54314\t4\n54317\t4\n54322\t4\n54325\t4\n54327\t4\n54340\t4\n54347\t4\n54353\t4\n54358\t4\n54359\t4\n54374\t4\n54379\t4\n54381\t4\n54384\t4\n54390\t4\n54393\t4\n54394\t4\n54401\t4\n54411\t4\n54418\t4\n54421\t4\n54426\t4\n54427\t4\n54439\t4\n54440\t4\n54442\t4\n54451\t4\n54454\t4\n54455\t4\n54464\t4\n54465\t4\n54467\t4\n54468\t4\n54493\t4\n54496\t4\n54503\t4\n54509\t4\n54523\t4\n54527\t4\n54533\t4\n54534\t4\n54538\t4\n54554\t4\n54557\t4\n54559\t4\n54563\t4\n54565\t4\n54567\t4\n54569\t4\n54578\t4\n54580\t4\n54586\t4\n54592\t4\n54606\t4\n54611\t4\n54623\t4\n54629\t4\n54630\t4\n54639\t4\n54642\t4\n54660\t4\n54666\t4\n54672\t4\n54677\t4\n54684\t4\n54689\t4\n54698\t4\n54704\t4\n54708\t4\n54718\t4\n54721\t4\n54736\t4\n54737\t4\n54739\t4\n54751\t4\n54761\t4\n54770\t4\n54771\t4\n54773\t4\n54780\t4\n54781\t4\n54790\t4\n54796\t4\n54810\t4\n54816\t4\n54817\t4\n54825\t4\n54839\t4\n54848\t4\n54849\t4\n54858\t4\n54860\t4\n54875\t4\n54877\t4\n54882\t4\n54891\t4\n54909\t4\n54931\t4\n54932\t4\n54940\t4\n54942\t4\n54946\t4\n54965\t4\n54967\t4\n54974\t4\n54977\t4\n54980\t4\n54982\t4\n55000\t4\n55014\t4\n55021\t4\n55039\t4\n55043\t4\n55052\t4\n55069\t4\n55072\t4\n55077\t4\n55080\t4\n55082\t4\n55087\t4\n55097\t4\n55104\t4\n55105\t4\n55114\t4\n55116\t4\n55117\t4\n55130\t4\n55134\t4\n55153\t4\n55158\t4\n55163\t4\n55165\t4\n55170\t4\n55171\t4\n55175\t4\n55177\t4\n55189\t4\n55199\t4\n55200\t4\n55211\t4\n55216\t4\n55225\t4\n55226\t4\n55228\t4\n55234\t4\n55237\t4\n55241\t4\n55244\t4\n55247\t4\n55252\t4\n55253\t4\n55258\t4\n55267\t4\n55273\t4\n55276\t4\n55277\t4\n55282\t4\n55283\t4\n55291\t4\n55292\t4\n55298\t4\n55306\t4\n55308\t4\n55320\t4\n55322\t4\n55324\t4\n55329\t4\n55331\t4\n55344\t4\n55349\t4\n55354\t4\n55365\t4\n55369\t4\n55380\t4\n55387\t4\n55390\t4\n55393\t4\n55399\t4\n55402\t4\n55408\t4\n55411\t4\n55418\t4\n55420\t4\n55432\t4\n55433\t4\n55435\t4\n55445\t4\n55446\t4\n55453\t4\n55461\t4\n55462\t4\n55465\t4\n55470\t4\n55473\t4\n55479\t4\n55484\t4\n55486\t4\n55495\t4\n55496\t4\n55498\t4\n55500\t4\n55507\t4\n55508\t4\n55518\t4\n55527\t4\n55528\t4\n55534\t4\n55536\t4\n55542\t4\n55545\t4\n55546\t4\n55548\t4\n55559\t4\n55560\t4\n55565\t4\n55569\t4\n55577\t4\n55582\t4\n55583\t4\n55585\t4\n55601\t4\n55603\t4\n55604\t4\n55620\t4\n55621\t4\n55645\t4\n55646\t4\n55654\t4\n55658\t4\n55663\t4\n55674\t4\n55677\t4\n55678\t4\n55690\t4\n55692\t4\n55693\t4\n55694\t4\n55695\t4\n55703\t4\n55717\t4\n55726\t4\n55729\t4\n55733\t4\n55740\t4\n55757\t4\n55767\t4\n55768\t4\n55773\t4\n55774\t4\n55788\t4\n55790\t4\n55798\t4\n55804\t4\n55811\t4\n55812\t4\n55819\t4\n55822\t4\n55829\t4\n55845\t4\n55850\t4\n55852\t4\n55856\t4\n55871\t4\n55875\t4\n55876\t4\n55878\t4\n55889\t4\n55896\t4\n55906\t4\n55909\t4\n55910\t4\n55915\t4\n55916\t4\n55925\t4\n55928\t4\n55934\t4\n55940\t4\n55946\t4\n55948\t4\n55966\t4\n55967\t4\n55968\t4\n55974\t4\n55981\t4\n55999\t4\n56000\t4\n56007\t4\n56011\t4\n56014\t4\n56022\t4\n56029\t4\n56031\t4\n56033\t4\n56034\t4\n56036\t4\n56038\t4\n56039\t4\n56059\t4\n56060\t4\n56076\t4\n56080\t4\n56081\t4\n56083\t4\n56084\t4\n56107\t4\n56118\t4\n56120\t4\n56125\t4\n56133\t4\n56143\t4\n56146\t4\n56156\t4\n56157\t4\n56162\t4\n56165\t4\n56168\t4\n56170\t4\n56172\t4\n56185\t4\n56188\t4\n56212\t4\n56218\t4\n56235\t4\n56236\t4\n56242\t4\n56255\t4\n56257\t4\n56269\t4\n56279\t4\n56280\t4\n56281\t4\n56285\t4\n56286\t4\n56293\t4\n56301\t4\n56312\t4\n56313\t4\n56329\t4\n56330\t4\n56343\t4\n56345\t4\n56351\t4\n56356\t4\n56359\t4\n56360\t4\n56363\t4\n56364\t4\n56369\t4\n56391\t4\n56396\t4\n56402\t4\n56411\t4\n56423\t4\n56427\t4\n56439\t4\n56449\t4\n56451\t4\n56462\t4\n56463\t4\n56465\t4\n56468\t4\n56479\t4\n56480\t4\n56481\t4\n56483\t4\n56487\t4\n56496\t4\n56497\t4\n56501\t4\n56512\t4\n56514\t4\n56516\t4\n56518\t4\n56520\t4\n56534\t4\n56542\t4\n56546\t4\n56554\t4\n56576\t4\n56581\t4\n56605\t4\n56606\t4\n56614\t4\n56628\t4\n56631\t4\n56632\t4\n56646\t4\n56650\t4\n56655\t4\n56657\t4\n56659\t4\n56660\t4\n56664\t4\n56667\t4\n56670\t4\n56672\t4\n56676\t4\n56678\t4\n56684\t4\n56701\t4\n56703\t4\n56708\t4\n56716\t4\n56718\t4\n56727\t4\n56732\t4\n56738\t4\n56744\t4\n56745\t4\n56746\t4\n56747\t4\n56755\t4\n56756\t4\n56762\t4\n56773\t4\n56779\t4\n56783\t4\n56792\t4\n56794\t4\n56799\t4\n56801\t4\n56802\t4\n56803\t4\n56812\t4\n56815\t4\n56819\t4\n56826\t4\n56827\t4\n56828\t4\n56833\t4\n56835\t4\n56870\t4\n56871\t4\n56879\t4\n56884\t4\n56908\t4\n56923\t4\n56929\t4\n56932\t4\n56933\t4\n56942\t4\n56946\t4\n56948\t4\n56982\t4\n56984\t4\n56987\t4\n56999\t4\n57002\t4\n57007\t4\n57010\t4\n57011\t4\n57014\t4\n57020\t4\n57024\t4\n57034\t4\n57058\t4\n57059\t4\n57070\t4\n57074\t4\n57082\t4\n57085\t4\n57094\t4\n57095\t4\n57097\t4\n57098\t4\n57101\t4\n57126\t4\n57147\t4\n57148\t4\n57150\t4\n57161\t4\n57182\t4\n57194\t4\n57196\t4\n57199\t4\n57204\t4\n57206\t4\n57207\t4\n57209\t4\n57233\t4\n57240\t4\n57248\t4\n57257\t4\n57268\t4\n57286\t4\n57288\t4\n57291\t4\n57301\t4\n57302\t4\n57304\t4\n57305\t4\n57308\t4\n57316\t4\n57319\t4\n57323\t4\n57325\t4\n57334\t4\n57338\t4\n57341\t4\n57342\t4\n57350\t4\n57353\t4\n57368\t4\n57373\t4\n57377\t4\n57380\t4\n57385\t4\n57388\t4\n57395\t4\n57408\t4\n57414\t4\n57415\t4\n57431\t4\n57440\t4\n57447\t4\n57450\t4\n57457\t4\n57474\t4\n57475\t4\n57492\t4\n57494\t4\n57497\t4\n57506\t4\n57507\t4\n57512\t4\n57517\t4\n57521\t4\n57522\t4\n57527\t4\n57532\t4\n57536\t4\n57537\t4\n57543\t4\n57547\t4\n57550\t4\n57558\t4\n57563\t4\n57564\t4\n57574\t4\n57581\t4\n57584\t4\n57592\t4\n57596\t4\n57619\t4\n57643\t4\n57645\t4\n57657\t4\n57659\t4\n57663\t4\n57664\t4\n57666\t4\n57669\t4\n57674\t4\n57677\t4\n57679\t4\n57680\t4\n57684\t4\n57695\t4\n57697\t4\n57701\t4\n57706\t4\n57714\t4\n57719\t4\n57721\t4\n57744\t4\n57751\t4\n57754\t4\n57771\t4\n57777\t4\n57779\t4\n57792\t4\n57796\t4\n57798\t4\n57801\t4\n57802\t4\n57812\t4\n57816\t4\n57821\t4\n57826\t4\n57828\t4\n57837\t4\n57851\t4\n57860\t4\n57863\t4\n57866\t4\n57868\t4\n57875\t4\n57883\t4\n57885\t4\n57887\t4\n57892\t4\n57893\t4\n57898\t4\n57902\t4\n57910\t4\n57918\t4\n57923\t4\n57927\t4\n57928\t4\n57930\t4\n57939\t4\n57940\t4\n57949\t4\n57958\t4\n57959\t4\n57962\t4\n57966\t4\n57974\t4\n57979\t4\n57981\t4\n57996\t4\n58009\t4\n58012\t4\n58014\t4\n58027\t4\n58028\t4\n58035\t4\n58063\t4\n58064\t4\n58067\t4\n58070\t4\n58073\t4\n58079\t4\n58080\t4\n58088\t4\n58093\t4\n58095\t4\n58098\t4\n58114\t4\n58130\t4\n58143\t4\n58147\t4\n58148\t4\n58167\t4\n58175\t4\n58200\t4\n58202\t4\n58215\t4\n58223\t4\n58230\t4\n58231\t4\n58232\t4\n58233\t4\n58238\t4\n58240\t4\n58249\t4\n58250\t4\n58254\t4\n58259\t4\n58261\t4\n58271\t4\n58277\t4\n58281\t4\n58282\t4\n58292\t4\n58295\t4\n58299\t4\n58300\t4\n58304\t4\n58307\t4\n58320\t4\n58323\t4\n58337\t4\n58348\t4\n58350\t4\n58353\t4\n58364\t4\n58372\t4\n58380\t4\n58381\t4\n58390\t4\n58397\t4\n58401\t4\n58409\t4\n58414\t4\n58416\t4\n58430\t4\n58440\t4\n58441\t4\n58442\t4\n58458\t4\n58461\t4\n58462\t4\n58470\t4\n58472\t4\n58476\t4\n58485\t4\n58495\t4\n58498\t4\n58502\t4\n58507\t4\n58509\t4\n58510\t4\n58515\t4\n58518\t4\n58521\t4\n58526\t4\n58527\t4\n58529\t4\n58533\t4\n58540\t4\n58542\t4\n58543\t4\n58545\t4\n58546\t4\n58548\t4\n58549\t4\n58564\t4\n58566\t4\n58575\t4\n58588\t4\n58597\t4\n58598\t4\n58603\t4\n58618\t4\n58622\t4\n58666\t4\n58678\t4\n58684\t4\n58685\t4\n58692\t4\n58698\t4\n58699\t4\n58703\t4\n58707\t4\n58719\t4\n58720\t4\n58724\t4\n58731\t4\n58739\t4\n58742\t4\n58747\t4\n58748\t4\n58750\t4\n58756\t4\n58764\t4\n58765\t4\n58768\t4\n58772\t4\n58778\t4\n58781\t4\n58783\t4\n58792\t4\n58806\t4\n58811\t4\n58821\t4\n58826\t4\n58832\t4\n58834\t4\n58837\t4\n58838\t4\n58839\t4\n58841\t4\n58844\t4\n58850\t4\n58852\t4\n58858\t4\n58860\t4\n58878\t4\n58886\t4\n58903\t4\n58919\t4\n58924\t4\n58932\t4\n58937\t4\n58938\t4\n58945\t4\n58946\t4\n58949\t4\n58958\t4\n58964\t4\n58981\t4\n58982\t4\n58986\t4\n58990\t4\n58994\t4\n58995\t4\n58997\t4\n59001\t4\n59003\t4\n59017\t4\n59020\t4\n59043\t4\n59045\t4\n59059\t4\n59069\t4\n59072\t4\n59074\t4\n59088\t4\n59094\t4\n59101\t4\n59112\t4\n59117\t4\n59130\t4\n59137\t4\n59139\t4\n59141\t4\n59150\t4\n59158\t4\n59171\t4\n59172\t4\n59173\t4\n59196\t4\n59200\t4\n59204\t4\n59205\t4\n59212\t4\n59215\t4\n59219\t4\n59225\t4\n59229\t4\n59236\t4\n59239\t4\n59249\t4\n59250\t4\n59253\t4\n59254\t4\n59257\t4\n59258\t4\n59259\t4\n59266\t4\n59272\t4\n59285\t4\n59293\t4\n59298\t4\n59328\t4\n59361\t4\n59367\t4\n59369\t4\n59373\t4\n59374\t4\n59379\t4\n59382\t4\n59385\t4\n59390\t4\n59398\t4\n59445\t4\n59446\t4\n59452\t4\n59453\t4\n59454\t4\n59468\t4\n59478\t4\n59484\t4\n59491\t4\n59494\t4\n59500\t4\n59502\t4\n59511\t4\n59513\t4\n59519\t4\n59525\t4\n59529\t4\n59533\t4\n59540\t4\n59549\t4\n59552\t4\n59553\t4\n59556\t4\n59561\t4\n59563\t4\n59565\t4\n59568\t4\n59575\t4\n59581\t4\n59588\t4\n59613\t4\n59632\t4\n59633\t4\n59650\t4\n59651\t4\n59656\t4\n59660\t4\n59664\t4\n59672\t4\n59675\t4\n59677\t4\n59680\t4\n59682\t4\n59694\t4\n59702\t4\n59706\t4\n59713\t4\n59719\t4\n59721\t4\n59732\t4\n59737\t4\n59746\t4\n59761\t4\n59780\t4\n59792\t4\n59799\t4\n59805\t4\n59807\t4\n59816\t4\n59817\t4\n59821\t4\n59823\t4\n59831\t4\n59838\t4\n59839\t4\n59840\t4\n59842\t4\n59844\t4\n59850\t4\n59853\t4\n59855\t4\n59856\t4\n59857\t4\n59858\t4\n59861\t4\n59879\t4\n59882\t4\n59900\t4\n59913\t4\n59929\t4\n59949\t4\n59954\t4\n59967\t4\n59971\t4\n59974\t4\n59976\t4\n59977\t4\n59981\t4\n59997\t4\n60005\t4\n60007\t4\n60018\t4\n60021\t4\n60026\t4\n60027\t4\n60028\t4\n60030\t4\n60038\t4\n60041\t4\n60044\t4\n60046\t4\n60050\t4\n60061\t4\n60085\t4\n60095\t4\n60097\t4\n60100\t4\n60101\t4\n60112\t4\n60115\t4\n60118\t4\n60123\t4\n60124\t4\n60132\t4\n60140\t4\n60141\t4\n60149\t4\n60150\t4\n60162\t4\n60176\t4\n60177\t4\n60189\t4\n60202\t4\n60205\t4\n60208\t4\n60218\t4\n60219\t4\n60229\t4\n60230\t4\n60233\t4\n60234\t4\n60240\t4\n60250\t4\n60264\t4\n60265\t4\n60269\t4\n60275\t4\n60282\t4\n60285\t4\n60298\t4\n60299\t4\n60303\t4\n60318\t4\n60319\t4\n60328\t4\n60329\t4\n60331\t4\n60333\t4\n60350\t4\n60366\t4\n60368\t4\n60383\t4\n60387\t4\n60395\t4\n60398\t4\n60403\t4\n60405\t4\n60414\t4\n60420\t4\n60425\t4\n60426\t4\n60430\t4\n60442\t4\n60444\t4\n60445\t4\n60460\t4\n60464\t4\n60469\t4\n60471\t4\n60473\t4\n60480\t4\n60487\t4\n60490\t4\n60491\t4\n60494\t4\n60501\t4\n60505\t4\n60517\t4\n60518\t4\n60523\t4\n60525\t4\n60527\t4\n60529\t4\n60540\t4\n60541\t4\n60553\t4\n60558\t4\n60563\t4\n60565\t4\n60570\t4\n60572\t4\n60574\t4\n60590\t4\n60598\t4\n60599\t4\n60608\t4\n60609\t4\n60619\t4\n60623\t4\n60624\t4\n60632\t4\n60649\t4\n60656\t4\n60658\t4\n60660\t4\n60662\t4\n60664\t4\n60668\t4\n60669\t4\n60670\t4\n60675\t4\n60676\t4\n60686\t4\n60690\t4\n60701\t4\n60704\t4\n60714\t4\n60716\t4\n60724\t4\n60731\t4\n60743\t4\n60745\t4\n60747\t4\n60761\t4\n60778\t4\n60790\t4\n60794\t4\n60823\t4\n60826\t4\n60827\t4\n60830\t4\n60838\t4\n60841\t4\n60843\t4\n60845\t4\n60848\t4\n60850\t4\n60855\t4\n60859\t4\n60862\t4\n60865\t4\n60867\t4\n60870\t4\n60873\t4\n60875\t4\n60884\t4\n60896\t4\n60905\t4\n60909\t4\n60911\t4\n60920\t4\n60925\t4\n60938\t4\n60951\t4\n60953\t4\n60955\t4\n60965\t4\n60969\t4\n60977\t4\n60978\t4\n60981\t4\n60989\t4\n60991\t4\n60996\t4\n61001\t4\n61002\t4\n61005\t4\n61006\t4\n61012\t4\n61013\t4\n61017\t4\n61023\t4\n61035\t4\n61045\t4\n61046\t4\n61057\t4\n61063\t4\n61073\t4\n61075\t4\n61089\t4\n61098\t4\n61102\t4\n61107\t4\n61109\t4\n61131\t4\n61145\t4\n61148\t4\n61153\t4\n61156\t4\n61159\t4\n61178\t4\n61179\t4\n61195\t4\n61204\t4\n61208\t4\n61210\t4\n61211\t4\n61212\t4\n61218\t4\n61228\t4\n61237\t4\n61238\t4\n61243\t4\n61245\t4\n61250\t4\n61253\t4\n61261\t4\n61280\t4\n61286\t4\n61288\t4\n61298\t4\n61313\t4\n61324\t4\n61328\t4\n61338\t4\n61349\t4\n61356\t4\n61358\t4\n61367\t4\n61372\t4\n61382\t4\n61386\t4\n61393\t4\n61399\t4\n61403\t4\n61410\t4\n61425\t4\n61436\t4\n61437\t4\n61438\t4\n61440\t4\n61441\t4\n61443\t4\n61449\t4\n61480\t4\n61484\t4\n61488\t4\n61496\t4\n61505\t4\n61506\t4\n61511\t4\n61512\t4\n61522\t4\n61534\t4\n61555\t4\n61558\t4\n61563\t4\n61585\t4\n61586\t4\n61593\t4\n61597\t4\n61598\t4\n61606\t4\n61609\t4\n61612\t4\n61615\t4\n61616\t4\n61625\t4\n61627\t4\n61636\t4\n61644\t4\n61648\t4\n61649\t4\n61652\t4\n61654\t4\n61661\t4\n61677\t4\n61680\t4\n61681\t4\n61686\t4\n61688\t4\n61700\t4\n61706\t4\n61708\t4\n61710\t4\n61720\t4\n61725\t4\n61726\t4\n61736\t4\n61748\t4\n61749\t4\n61765\t4\n61766\t4\n61779\t4\n61783\t4\n61788\t4\n61794\t4\n61799\t4\n61809\t4\n61813\t4\n61820\t4\n61823\t4\n61828\t4\n61837\t4\n61845\t4\n61887\t4\n61888\t4\n61891\t4\n61910\t4\n61918\t4\n61921\t4\n61926\t4\n61929\t4\n61938\t4\n61961\t4\n61973\t4\n61980\t4\n61984\t4\n61989\t4\n61997\t4\n61999\t4\n62009\t4\n62013\t4\n62014\t4\n62022\t4\n62025\t4\n62029\t4\n62031\t4\n62035\t4\n62046\t4\n62049\t4\n62050\t4\n62055\t4\n62057\t4\n62058\t4\n62060\t4\n62062\t4\n62063\t4\n62070\t4\n62075\t4\n62082\t4\n62086\t4\n62091\t4\n62105\t4\n62114\t4\n62118\t4\n62129\t4\n62131\t4\n62133\t4\n62152\t4\n62153\t4\n62165\t4\n62171\t4\n62175\t4\n62180\t4\n62181\t4\n62183\t4\n62185\t4\n62186\t4\n62192\t4\n62199\t4\n62211\t4\n62215\t4\n62218\t4\n62223\t4\n62226\t4\n62230\t4\n62236\t4\n62237\t4\n62241\t4\n62242\t4\n62273\t4\n62281\t4\n62284\t4\n62287\t4\n62288\t4\n62292\t4\n62306\t4\n62308\t4\n62311\t4\n62313\t4\n62314\t4\n62322\t4\n62334\t4\n62335\t4\n62336\t4\n62343\t4\n62345\t4\n62347\t4\n62360\t4\n62366\t4\n62374\t4\n62375\t4\n62380\t4\n62390\t4\n62393\t4\n62394\t4\n62395\t4\n62406\t4\n62414\t4\n62416\t4\n62417\t4\n62421\t4\n62437\t4\n62442\t4\n62444\t4\n62451\t4\n62460\t4\n62468\t4\n62475\t4\n62479\t4\n62480\t4\n62488\t4\n62489\t4\n62506\t4\n62508\t4\n62510\t4\n62514\t4\n62516\t4\n62518\t4\n62522\t4\n62523\t4\n62527\t4\n62532\t4\n62534\t4\n62542\t4\n62544\t4\n62550\t4\n62551\t4\n62560\t4\n62587\t4\n62593\t4\n62596\t4\n62606\t4\n62612\t4\n62613\t4\n62616\t4\n62624\t4\n62629\t4\n62631\t4\n62636\t4\n62639\t4\n62650\t4\n62658\t4\n62659\t4\n62661\t4\n62668\t4\n62674\t4\n62689\t4\n62695\t4\n62699\t4\n62708\t4\n62710\t4\n62711\t4\n62716\t4\n62727\t4\n62734\t4\n62747\t4\n62767\t4\n62795\t4\n62800\t4\n62808\t4\n62809\t4\n62818\t4\n62820\t4\n62821\t4\n62824\t4\n62827\t4\n62837\t4\n62838\t4\n62841\t4\n62852\t4\n62857\t4\n62861\t4\n62871\t4\n62881\t4\n62882\t4\n62888\t4\n62889\t4\n62892\t4\n62897\t4\n62900\t4\n62906\t4\n62916\t4\n62923\t4\n62930\t4\n62935\t4\n62943\t4\n62954\t4\n62957\t4\n62966\t4\n62971\t4\n62974\t4\n62981\t4\n62985\t4\n62986\t4\n62995\t4\n62998\t4\n63000\t4\n63002\t4\n63005\t4\n63006\t4\n63009\t4\n63023\t4\n63037\t4\n63049\t4\n63069\t4\n63072\t4\n63078\t4\n63081\t4\n63083\t4\n63091\t4\n63093\t4\n63106\t4\n63109\t4\n63110\t4\n63131\t4\n63136\t4\n63142\t4\n63148\t4\n63159\t4\n63168\t4\n63170\t4\n63177\t4\n63179\t4\n63188\t4\n63190\t4\n63191\t4\n63194\t4\n63195\t4\n63197\t4\n63212\t4\n63220\t4\n63230\t4\n63234\t4\n63238\t4\n63248\t4\n63250\t4\n63254\t4\n63260\t4\n63266\t4\n63284\t4\n63285\t4\n63288\t4\n63297\t4\n63307\t4\n63316\t4\n63320\t4\n63333\t4\n63335\t4\n63342\t4\n63346\t4\n63349\t4\n63354\t4\n63356\t4\n63361\t4\n63365\t4\n63367\t4\n63371\t4\n63372\t4\n63374\t4\n63375\t4\n63382\t4\n63390\t4\n63397\t4\n63398\t4\n63399\t4\n63402\t4\n63403\t4\n63409\t4\n63411\t4\n63413\t4\n63418\t4\n63431\t4\n63434\t4\n63444\t4\n63450\t4\n63453\t4\n63454\t4\n63459\t4\n63461\t4\n63462\t4\n63466\t4\n63468\t4\n63472\t4\n63473\t4\n63474\t4\n63481\t4\n63482\t4\n63496\t4\n63500\t4\n63505\t4\n63513\t4\n63528\t4\n63529\t4\n63533\t4\n63536\t4\n63541\t4\n63542\t4\n63547\t4\n63548\t4\n63549\t4\n63555\t4\n63556\t4\n63562\t4\n63580\t4\n63581\t4\n63590\t4\n63594\t4\n63597\t4\n63605\t4\n63607\t4\n63613\t4\n63621\t4\n63627\t4\n63644\t4\n63645\t4\n63657\t4\n63658\t4\n63667\t4\n63669\t4\n63684\t4\n63686\t4\n63690\t4\n63691\t4\n63694\t4\n63707\t4\n63708\t4\n63712\t4\n63713\t4\n63721\t4\n63726\t4\n63733\t4\n63734\t4\n63741\t4\n63748\t4\n63750\t4\n63752\t4\n63758\t4\n63759\t4\n63770\t4\n63774\t4\n63778\t4\n63783\t4\n63791\t4\n63797\t4\n63800\t4\n63811\t4\n63813\t4\n63832\t4\n63839\t4\n63842\t4\n63845\t4\n63852\t4\n63856\t4\n63858\t4\n63865\t4\n63869\t4\n63878\t4\n63883\t4\n63884\t4\n63922\t4\n63940\t4\n63941\t4\n63948\t4\n63949\t4\n63953\t4\n63966\t4\n63973\t4\n63977\t4\n63979\t4\n63982\t4\n63985\t4\n63989\t4\n63991\t4\n64017\t4\n64019\t4\n64020\t4\n64021\t4\n64058\t4\n64063\t4\n64076\t4\n64088\t4\n64089\t4\n64106\t4\n64110\t4\n64115\t4\n64121\t4\n64125\t4\n64128\t4\n64136\t4\n64137\t4\n64142\t4\n64143\t4\n64144\t4\n64155\t4\n64164\t4\n64165\t4\n64187\t4\n64188\t4\n64191\t4\n64195\t4\n64202\t4\n64206\t4\n64207\t4\n64216\t4\n64218\t4\n64223\t4\n64241\t4\n64247\t4\n64261\t4\n64289\t4\n64298\t4\n64301\t4\n64302\t4\n64304\t4\n64305\t4\n64306\t4\n64322\t4\n64330\t4\n64334\t4\n64338\t4\n64342\t4\n64352\t4\n64376\t4\n64380\t4\n64391\t4\n64396\t4\n64410\t4\n64415\t4\n64420\t4\n64423\t4\n64432\t4\n64433\t4\n64441\t4\n64446\t4\n64452\t4\n64461\t4\n64476\t4\n64478\t4\n64504\t4\n64514\t4\n64517\t4\n64518\t4\n64526\t4\n64536\t4\n64541\t4\n64553\t4\n64560\t4\n64567\t4\n64571\t4\n64585\t4\n64586\t4\n64589\t4\n64592\t4\n64595\t4\n64596\t4\n64629\t4\n64633\t4\n64634\t4\n64636\t4\n64648\t4\n64652\t4\n64653\t4\n64659\t4\n64663\t4\n64674\t4\n64680\t4\n64684\t4\n64685\t4\n64694\t4\n64703\t4\n64707\t4\n64718\t4\n64726\t4\n64729\t4\n64754\t4\n64762\t4\n64773\t4\n64776\t4\n64788\t4\n64789\t4\n64790\t4\n64793\t4\n64803\t4\n64804\t4\n64805\t4\n64809\t4\n64811\t4\n64813\t4\n64817\t4\n64818\t4\n64823\t4\n64824\t4\n64832\t4\n64836\t4\n64849\t4\n64875\t4\n64877\t4\n64878\t4\n64882\t4\n64885\t4\n64886\t4\n64889\t4\n64892\t4\n64897\t4\n64903\t4\n64906\t4\n64916\t4\n64918\t4\n64933\t4\n64938\t4\n64940\t4\n64942\t4\n64943\t4\n64953\t4\n64961\t4\n64962\t4\n64977\t4\n64980\t4\n64997\t4\n64999\t4\n65007\t4\n65011\t4\n65019\t4\n65020\t4\n65030\t4\n65044\t4\n65047\t4\n65053\t4\n65061\t4\n65073\t4\n65075\t4\n65084\t4\n65085\t4\n65088\t4\n65093\t4\n65096\t4\n65099\t4\n65104\t4\n65106\t4\n65112\t4\n65115\t4\n65119\t4\n65130\t4\n65139\t4\n65151\t4\n65155\t4\n65160\t4\n65182\t4\n65186\t4\n65192\t4\n65197\t4\n65205\t4\n65211\t4\n65213\t4\n65215\t4\n65221\t4\n65233\t4\n65245\t4\n65246\t4\n65253\t4\n65274\t4\n65285\t4\n65292\t4\n65293\t4\n65300\t4\n65301\t4\n65312\t4\n65314\t4\n65320\t4\n65336\t4\n65341\t4\n65346\t4\n65347\t4\n65361\t4\n65364\t4\n65370\t4\n65375\t4\n65377\t4\n65382\t4\n65392\t4\n65406\t4\n65410\t4\n65411\t4\n65423\t4\n65438\t4\n65456\t4\n65457\t4\n65464\t4\n65473\t4\n65477\t4\n65482\t4\n65497\t4\n65502\t4\n65507\t4\n65509\t4\n65513\t4\n65514\t4\n65518\t4\n65521\t4\n65531\t4\n65532\t4\n65544\t4\n65556\t4\n65558\t4\n65561\t4\n65566\t4\n65567\t4\n65569\t4\n65576\t4\n65580\t4\n65584\t4\n65600\t4\n65611\t4\n65613\t4\n65630\t4\n65633\t4\n65636\t4\n65645\t4\n65646\t4\n65649\t4\n65659\t4\n65665\t4\n65677\t4\n65682\t4\n65684\t4\n65690\t4\n65691\t4\n65692\t4\n65693\t4\n65697\t4\n65711\t4\n65715\t4\n65716\t4\n65721\t4\n65728\t4\n65737\t4\n65746\t4\n65749\t4\n65754\t4\n65758\t4\n65765\t4\n65767\t4\n65768\t4\n65775\t4\n65777\t4\n65780\t4\n65785\t4\n65786\t4\n65794\t4\n65813\t4\n65827\t4\n65829\t4\n65830\t4\n65840\t4\n65841\t4\n65848\t4\n65849\t4\n65856\t4\n65859\t4\n65861\t4\n65864\t4\n65865\t4\n65867\t4\n65877\t4\n65883\t4\n65886\t4\n65892\t4\n65900\t4\n65905\t4\n65906\t4\n65916\t4\n65928\t4\n65929\t4\n65931\t4\n65932\t4\n65939\t4\n65960\t4\n65962\t4\n65970\t4\n65978\t4\n65983\t4\n65985\t4\n65995\t4\n66004\t4\n66006\t4\n66009\t4\n66015\t4\n66022\t4\n66023\t4\n66029\t4\n66031\t4\n66043\t4\n66046\t4\n66051\t4\n66054\t4\n66068\t4\n66077\t4\n66081\t4\n66083\t4\n66084\t4\n66093\t4\n66113\t4\n66122\t4\n66124\t4\n66130\t4\n66141\t4\n66150\t4\n66153\t4\n66158\t4\n66160\t4\n66163\t4\n66179\t4\n66192\t4\n66193\t4\n66197\t4\n66205\t4\n66206\t4\n66215\t4\n66216\t4\n66218\t4\n66224\t4\n66234\t4\n66235\t4\n66242\t4\n66248\t4\n66256\t4\n66267\t4\n66269\t4\n66273\t4\n66274\t4\n66276\t4\n66282\t4\n66284\t4\n66288\t4\n66299\t4\n66302\t4\n66307\t4\n66309\t4\n66326\t4\n66333\t4\n66348\t4\n66351\t4\n66361\t4\n66366\t4\n66367\t4\n66376\t4\n66377\t4\n66394\t4\n66401\t4\n66402\t4\n66406\t4\n66408\t4\n66411\t4\n66413\t4\n66414\t4\n66418\t4\n66422\t4\n66423\t4\n66425\t4\n66432\t4\n66440\t4\n66446\t4\n66447\t4\n66462\t4\n66465\t4\n66474\t4\n66479\t4\n66488\t4\n66489\t4\n66496\t4\n66498\t4\n66503\t4\n66508\t4\n66516\t4\n66522\t4\n66530\t4\n66535\t4\n66546\t4\n66554\t4\n66565\t4\n66572\t4\n66573\t4\n66576\t4\n66582\t4\n66585\t4\n66586\t4\n66588\t4\n66589\t4\n66593\t4\n66597\t4\n66600\t4\n66602\t4\n66605\t4\n66607\t4\n66609\t4\n66612\t4\n66635\t4\n66646\t4\n66661\t4\n66668\t4\n66679\t4\n66686\t4\n66688\t4\n66693\t4\n66695\t4\n66712\t4\n66718\t4\n66727\t4\n66742\t4\n66747\t4\n66757\t4\n66766\t4\n66773\t4\n66777\t4\n66782\t4\n66790\t4\n66795\t4\n66800\t4\n66801\t4\n66803\t4\n66813\t4\n66820\t4\n66830\t4\n66839\t4\n66846\t4\n66849\t4\n66853\t4\n66868\t4\n66870\t4\n66873\t4\n66878\t4\n66888\t4\n66900\t4\n66911\t4\n66926\t4\n66946\t4\n66947\t4\n66951\t4\n66954\t4\n66955\t4\n66958\t4\n66960\t4\n66963\t4\n66965\t4\n66966\t4\n66974\t4\n66975\t4\n66980\t4\n66987\t4\n66988\t4\n66993\t4\n67002\t4\n67006\t4\n67020\t4\n67026\t4\n67031\t4\n67050\t4\n67064\t4\n67065\t4\n67066\t4\n67067\t4\n67069\t4\n67070\t4\n67076\t4\n67090\t4\n67091\t4\n67095\t4\n67096\t4\n67099\t4\n67101\t4\n67109\t4\n67113\t4\n67120\t4\n67122\t4\n67125\t4\n67128\t4\n67137\t4\n67147\t4\n67152\t4\n67157\t4\n67161\t4\n67166\t4\n67167\t4\n67186\t4\n67189\t4\n67191\t4\n67214\t4\n67220\t4\n67230\t4\n67231\t4\n67244\t4\n67246\t4\n67247\t4\n67252\t4\n67254\t4\n67257\t4\n67260\t4\n67276\t4\n67280\t4\n67292\t4\n67305\t4\n67309\t4\n67310\t4\n67311\t4\n67313\t4\n67322\t4\n67325\t4\n67334\t4\n67336\t4\n67338\t4\n67341\t4\n67344\t4\n67350\t4\n67351\t4\n67357\t4\n67368\t4\n67371\t4\n67375\t4\n67376\t4\n67378\t4\n67381\t4\n67382\t4\n67391\t4\n67393\t4\n67403\t4\n67406\t4\n67420\t4\n67421\t4\n67424\t4\n67428\t4\n67432\t4\n67445\t4\n67448\t4\n67450\t4\n67457\t4\n67458\t4\n67461\t4\n67466\t4\n67476\t4\n67483\t4\n67503\t4\n67505\t4\n67506\t4\n67507\t4\n67516\t4\n67521\t4\n67524\t4\n67530\t4\n67531\t4\n67532\t4\n67536\t4\n67541\t4\n67548\t4\n67549\t4\n67550\t4\n67551\t4\n67554\t4\n67558\t4\n67559\t4\n67563\t4\n67566\t4\n67567\t4\n67570\t4\n67574\t4\n67579\t4\n67580\t4\n67585\t4\n67586\t4\n67588\t4\n67600\t4\n67608\t4\n67613\t4\n67614\t4\n67615\t4\n67620\t4\n67621\t4\n67633\t4\n67635\t4\n67638\t4\n67646\t4\n67648\t4\n67662\t4\n67667\t4\n67668\t4\n67679\t4\n67681\t4\n67683\t4\n67685\t4\n67697\t4\n67698\t4\n67714\t4\n67715\t4\n67718\t4\n67720\t4\n67737\t4\n67745\t4\n67747\t4\n67750\t4\n67752\t4\n67768\t4\n67769\t4\n67771\t4\n67774\t4\n67793\t4\n67798\t4\n67800\t4\n67806\t4\n67808\t4\n67811\t4\n67815\t4\n67819\t4\n67824\t4\n67825\t4\n67835\t4\n67856\t4\n67861\t4\n67864\t4\n67867\t4\n67885\t4\n67896\t4\n67907\t4\n67915\t4\n67921\t4\n67942\t4\n67948\t4\n67955\t4\n67959\t4\n67965\t4\n67978\t4\n67987\t4\n67990\t4\n67992\t4\n67993\t4\n67997\t4\n68002\t4\n68005\t4\n68007\t4\n68009\t4\n68016\t4\n68018\t4\n68019\t4\n68020\t4\n68023\t4\n68066\t4\n68068\t4\n68079\t4\n68103\t4\n68104\t4\n68137\t4\n68138\t4\n68139\t4\n68144\t4\n68146\t4\n68151\t4\n68168\t4\n68182\t4\n68183\t4\n68195\t4\n68206\t4\n68215\t4\n68217\t4\n68229\t4\n68238\t4\n68240\t4\n68241\t4\n68247\t4\n68258\t4\n68260\t4\n68262\t4\n68263\t4\n68270\t4\n68271\t4\n68273\t4\n68279\t4\n68285\t4\n68286\t4\n68289\t4\n68299\t4\n68309\t4\n68315\t4\n68327\t4\n68331\t4\n68333\t4\n68334\t4\n68337\t4\n68354\t4\n68358\t4\n68359\t4\n68361\t4\n68370\t4\n68379\t4\n68384\t4\n68387\t4\n68388\t4\n68392\t4\n68395\t4\n68405\t4\n68406\t4\n68415\t4\n68418\t4\n68423\t4\n68427\t4\n68431\t4\n68435\t4\n68438\t4\n68449\t4\n68454\t4\n68459\t4\n68461\t4\n68476\t4\n68478\t4\n68479\t4\n68485\t4\n68501\t4\n68508\t4\n68509\t4\n68516\t4\n68520\t4\n68527\t4\n68528\t4\n68530\t4\n68533\t4\n68537\t4\n68542\t4\n68551\t4\n68564\t4\n68568\t4\n68571\t4\n68572\t4\n68590\t4\n68592\t4\n68595\t4\n68604\t4\n68616\t4\n68617\t4\n68618\t4\n68622\t4\n68626\t4\n68633\t4\n68636\t4\n68647\t4\n68649\t4\n68651\t4\n68653\t4\n68661\t4\n68664\t4\n68670\t4\n68672\t4\n68682\t4\n68692\t4\n68698\t4\n68699\t4\n68701\t4\n68708\t4\n68710\t4\n68724\t4\n68727\t4\n68740\t4\n68743\t4\n68748\t4\n68761\t4\n68762\t4\n68777\t4\n68779\t4\n68791\t4\n68795\t4\n68808\t4\n68817\t4\n68818\t4\n68821\t4\n68822\t4\n68837\t4\n68873\t4\n68883\t4\n68890\t4\n68893\t4\n68898\t4\n68903\t4\n68907\t4\n68913\t4\n68918\t4\n68926\t4\n68942\t4\n68948\t4\n68950\t4\n68952\t4\n68953\t4\n68961\t4\n68962\t4\n68968\t4\n68985\t4\n69005\t4\n69020\t4\n69025\t4\n69042\t4\n69049\t4\n69054\t4\n69067\t4\n69068\t4\n69070\t4\n69072\t4\n69103\t4\n69120\t4\n69123\t4\n69129\t4\n69130\t4\n69148\t4\n69149\t4\n69154\t4\n69162\t4\n69173\t4\n69175\t4\n69176\t4\n69187\t4\n69207\t4\n69211\t4\n69214\t4\n69222\t4\n69224\t4\n69229\t4\n69234\t4\n69236\t4\n69240\t4\n69258\t4\n69264\t4\n69299\t4\n69304\t4\n69318\t4\n69326\t4\n69327\t4\n69328\t4\n69341\t4\n69344\t4\n69360\t4\n69363\t4\n69370\t4\n69371\t4\n69374\t4\n69377\t4\n69382\t4\n69385\t4\n69394\t4\n69400\t4\n69422\t4\n69423\t4\n69430\t4\n69431\t4\n69442\t4\n69443\t4\n69448\t4\n69455\t4\n69458\t4\n69467\t4\n69469\t4\n69470\t4\n69473\t4\n69478\t4\n69479\t4\n69491\t4\n69494\t4\n69498\t4\n69510\t4\n69511\t4\n69513\t4\n69517\t4\n69518\t4\n69526\t4\n69527\t4\n69531\t4\n69534\t4\n69547\t4\n69569\t4\n69572\t4\n69575\t4\n69578\t4\n69595\t4\n69600\t4\n69603\t4\n69606\t4\n69607\t4\n69615\t4\n69618\t4\n69624\t4\n69639\t4\n69645\t4\n69652\t4\n69654\t4\n69655\t4\n69665\t4\n69671\t4\n69676\t4\n69677\t4\n69683\t4\n69685\t4\n69689\t4\n69693\t4\n69706\t4\n69725\t4\n69730\t4\n69757\t4\n69764\t4\n69771\t4\n69772\t4\n69775\t4\n69781\t4\n69783\t4\n69784\t4\n69787\t4\n69793\t4\n69796\t4\n69807\t4\n69808\t4\n69817\t4\n69827\t4\n69834\t4\n69842\t4\n69856\t4\n69864\t4\n69865\t4\n69869\t4\n69877\t4\n69884\t4\n69885\t4\n69888\t4\n69889\t4\n69906\t4\n69907\t4\n69914\t4\n69928\t4\n69933\t4\n69937\t4\n69946\t4\n69949\t4\n69953\t4\n69965\t4\n69966\t4\n69969\t4\n69972\t4\n69973\t4\n69977\t4\n69990\t4\n70000\t4\n70003\t4\n70008\t4\n70009\t4\n70011\t4\n70030\t4\n70048\t4\n70052\t4\n70053\t4\n70056\t4\n70075\t4\n70079\t4\n70089\t4\n70100\t4\n70107\t4\n70115\t4\n70116\t4\n70117\t4\n70126\t4\n70127\t4\n70139\t4\n70141\t4\n70156\t4\n70158\t4\n70176\t4\n70182\t4\n70183\t4\n70184\t4\n70192\t4\n70195\t4\n70198\t4\n70199\t4\n70212\t4\n70221\t4\n70229\t4\n70234\t4\n70253\t4\n70254\t4\n70255\t4\n70261\t4\n70266\t4\n70269\t4\n70270\t4\n70271\t4\n70272\t4\n70273\t4\n70279\t4\n70280\t4\n70283\t4\n70284\t4\n70289\t4\n70290\t4\n70292\t4\n70301\t4\n70320\t4\n70322\t4\n70323\t4\n70338\t4\n70344\t4\n70345\t4\n70349\t4\n70357\t4\n70359\t4\n70365\t4\n70366\t4\n70381\t4\n70385\t4\n70386\t4\n70390\t4\n70395\t4\n70397\t4\n70401\t4\n70408\t4\n70409\t4\n70410\t4\n70412\t4\n70417\t4\n70422\t4\n70434\t4\n70438\t4\n70440\t4\n70445\t4\n70450\t4\n70452\t4\n70460\t4\n70464\t4\n70466\t4\n70469\t4\n70470\t4\n70474\t4\n70477\t4\n70505\t4\n70525\t4\n70526\t4\n70539\t4\n70544\t4\n70545\t4\n70558\t4\n70563\t4\n70567\t4\n70586\t4\n70587\t4\n70591\t4\n70592\t4\n70593\t4\n70597\t4\n70599\t4\n70620\t4\n70642\t4\n70645\t4\n70649\t4\n70653\t4\n70677\t4\n70682\t4\n70686\t4\n70689\t4\n70694\t4\n70695\t4\n70698\t4\n70700\t4\n70706\t4\n70712\t4\n70717\t4\n70719\t4\n70720\t4\n70724\t4\n70725\t4\n70753\t4\n70759\t4\n70765\t4\n70768\t4\n70771\t4\n70772\t4\n70778\t4\n70779\t4\n70782\t4\n70787\t4\n70796\t4\n70798\t4\n70826\t4\n70827\t4\n70830\t4\n70841\t4\n70851\t4\n70852\t4\n70855\t4\n70861\t4\n70871\t4\n70872\t4\n70877\t4\n70879\t4\n70880\t4\n70882\t4\n70884\t4\n70898\t4\n70913\t4\n70918\t4\n70933\t4\n70939\t4\n70943\t4\n70944\t4\n70946\t4\n70953\t4\n70958\t4\n70966\t4\n70973\t4\n70978\t4\n70982\t4\n70987\t4\n71003\t4\n71008\t4\n71029\t4\n71035\t4\n71037\t4\n71041\t4\n71050\t4\n71054\t4\n71062\t4\n71067\t4\n71070\t4\n71079\t4\n71085\t4\n71087\t4\n71092\t4\n71100\t4\n71101\t4\n71111\t4\n71115\t4\n71121\t4\n71138\t4\n71139\t4\n71142\t4\n71144\t4\n71145\t4\n71157\t4\n71162\t4\n71164\t4\n71173\t4\n71199\t4\n71211\t4\n71217\t4\n71219\t4\n71221\t4\n71240\t4\n71243\t4\n71246\t4\n71253\t4\n71256\t4\n71266\t4\n71270\t4\n71275\t4\n71278\t4\n71286\t4\n71290\t4\n71291\t4\n71296\t4\n71297\t4\n71309\t4\n71314\t4\n71315\t4\n71320\t4\n71326\t4\n71327\t4\n71331\t4\n71348\t4\n71361\t4\n71364\t4\n71372\t4\n71376\t4\n71377\t4\n71379\t4\n71384\t4\n71387\t4\n71389\t4\n71395\t4\n71396\t4\n71407\t4\n71412\t4\n71416\t4\n71420\t4\n71423\t4\n71431\t4\n71442\t4\n71444\t4\n71447\t4\n71456\t4\n71457\t4\n71462\t4\n71476\t4\n71482\t4\n71489\t4\n71491\t4\n71492\t4\n71505\t4\n71510\t4\n71526\t4\n71534\t4\n71537\t4\n71550\t4\n71551\t4\n71555\t4\n71559\t4\n71565\t4\n71566\t4\n71573\t4\n71596\t4\n71604\t4\n71608\t4\n71615\t4\n71626\t4\n71637\t4\n71644\t4\n71660\t4\n71663\t4\n71664\t4\n71669\t4\n71678\t4\n71680\t4\n71684\t4\n71689\t4\n71690\t4\n71704\t4\n71705\t4\n71707\t4\n71709\t4\n71714\t4\n71719\t4\n71720\t4\n71721\t4\n71724\t4\n71743\t4\n71747\t4\n71748\t4\n71750\t4\n71755\t4\n71763\t4\n71767\t4\n71768\t4\n71769\t4\n71772\t4\n71776\t4\n71785\t4\n71786\t4\n71799\t4\n71824\t4\n71828\t4\n71841\t4\n71847\t4\n71849\t4\n71855\t4\n71858\t4\n71869\t4\n71882\t4\n71894\t4\n71906\t4\n71910\t4\n71912\t4\n71913\t4\n71914\t4\n71916\t4\n71918\t4\n71922\t4\n71923\t4\n71926\t4\n71928\t4\n71929\t4\n71931\t4\n71932\t4\n71938\t4\n71969\t4\n71970\t4\n71972\t4\n71984\t4\n71991\t4\n72003\t4\n72023\t4\n72025\t4\n72026\t4\n72028\t4\n72032\t4\n72049\t4\n72061\t4\n72062\t4\n72083\t4\n72089\t4\n72090\t4\n72094\t4\n72102\t4\n72103\t4\n72112\t4\n72115\t4\n72120\t4\n72122\t4\n72134\t4\n72135\t4\n72152\t4\n72154\t4\n72159\t4\n72162\t4\n72165\t4\n72179\t4\n72180\t4\n72193\t4\n72201\t4\n72222\t4\n72225\t4\n72229\t4\n72230\t4\n72232\t4\n72233\t4\n72237\t4\n72242\t4\n72249\t4\n72250\t4\n72252\t4\n72264\t4\n72270\t4\n72280\t4\n72281\t4\n72282\t4\n72289\t4\n72290\t4\n72294\t4\n72295\t4\n72296\t4\n72298\t4\n72301\t4\n72308\t4\n72311\t4\n72313\t4\n72324\t4\n72329\t4\n72348\t4\n72350\t4\n72351\t4\n72353\t4\n72362\t4\n72366\t4\n72370\t4\n72378\t4\n72386\t4\n72389\t4\n72390\t4\n72395\t4\n72397\t4\n72402\t4\n72403\t4\n72415\t4\n72425\t4\n72430\t4\n72439\t4\n72443\t4\n72453\t4\n72504\t4\n72508\t4\n72515\t4\n72516\t4\n72520\t4\n72522\t4\n72530\t4\n72539\t4\n72541\t4\n72562\t4\n72566\t4\n72575\t4\n72577\t4\n72582\t4\n72589\t4\n72593\t4\n72616\t4\n72621\t4\n72622\t4\n72628\t4\n72632\t4\n72647\t4\n72650\t4\n72668\t4\n72671\t4\n72679\t4\n72681\t4\n72692\t4\n72701\t4\n72704\t4\n72708\t4\n72728\t4\n72730\t4\n72731\t4\n72737\t4\n72738\t4\n72749\t4\n72760\t4\n72762\t4\n72763\t4\n72774\t4\n72775\t4\n72799\t4\n72804\t4\n72806\t4\n72808\t4\n72811\t4\n72812\t4\n72820\t4\n72826\t4\n72827\t4\n72834\t4\n72839\t4\n72842\t4\n72849\t4\n72853\t4\n72865\t4\n72882\t4\n72889\t4\n72893\t4\n72905\t4\n72907\t4\n72913\t4\n72927\t4\n72940\t4\n72947\t4\n72948\t4\n72952\t4\n72953\t4\n72954\t4\n72956\t4\n72960\t4\n72971\t4\n72979\t4\n72985\t4\n72989\t4\n72990\t4\n72997\t4\n73005\t4\n73008\t4\n73016\t4\n73029\t4\n73031\t4\n73033\t4\n73040\t4\n73044\t4\n73052\t4\n73060\t4\n73070\t4\n73079\t4\n73085\t4\n73087\t4\n73089\t4\n73099\t4\n73100\t4\n73105\t4\n73125\t4\n73135\t4\n73137\t4\n73148\t4\n73150\t4\n73155\t4\n73157\t4\n73161\t4\n73162\t4\n73180\t4\n73189\t4\n73190\t4\n73202\t4\n73206\t4\n73211\t4\n73218\t4\n73231\t4\n73245\t4\n73250\t4\n73252\t4\n73263\t4\n73264\t4\n73272\t4\n73274\t4\n73277\t4\n73286\t4\n73290\t4\n73294\t4\n73296\t4\n73300\t4\n73305\t4\n73307\t4\n73310\t4\n73313\t4\n73318\t4\n73328\t4\n73338\t4\n73354\t4\n73356\t4\n73361\t4\n73365\t4\n73366\t4\n73371\t4\n73387\t4\n73392\t4\n73396\t4\n73398\t4\n73400\t4\n73401\t4\n73411\t4\n73430\t4\n73436\t4\n73441\t4\n73453\t4\n73454\t4\n73456\t4\n73468\t4\n73473\t4\n73474\t4\n73480\t4\n73482\t4\n73485\t4\n73490\t4\n73493\t4\n73495\t4\n73498\t4\n73499\t4\n73518\t4\n73524\t4\n73538\t4\n73539\t4\n73557\t4\n73588\t4\n73590\t4\n73593\t4\n73597\t4\n73608\t4\n73609\t4\n73617\t4\n73622\t4\n73631\t4\n73633\t4\n73642\t4\n73644\t4\n73646\t4\n73647\t4\n73652\t4\n73656\t4\n73684\t4\n73690\t4\n73693\t4\n73694\t4\n73700\t4\n73712\t4\n73719\t4\n73720\t4\n73726\t4\n73731\t4\n73755\t4\n73758\t4\n73770\t4\n73782\t4\n73787\t4\n73792\t4\n73793\t4\n73805\t4\n73808\t4\n73809\t4\n73813\t4\n73824\t4\n73837\t4\n73848\t4\n73850\t4\n73854\t4\n73863\t4\n73874\t4\n73892\t4\n73902\t4\n73904\t4\n73906\t4\n73912\t4\n73921\t4\n73926\t4\n73935\t4\n73938\t4\n73942\t4\n73947\t4\n73952\t4\n73964\t4\n73965\t4\n73981\t4\n73991\t4\n73994\t4\n73998\t4\n74000\t4\n74005\t4\n74009\t4\n74011\t4\n74015\t4\n74029\t4\n74037\t4\n74041\t4\n74052\t4\n74077\t4\n74079\t4\n74083\t4\n74090\t4\n74092\t4\n74093\t4\n74094\t4\n74095\t4\n74096\t4\n74099\t4\n74101\t4\n74102\t4\n74107\t4\n74113\t4\n74116\t4\n74123\t4\n74125\t4\n74152\t4\n74154\t4\n74155\t4\n74157\t4\n74164\t4\n74165\t4\n74168\t4\n74169\t4\n74171\t4\n74183\t4\n74189\t4\n74197\t4\n74206\t4\n74208\t4\n74209\t4\n74212\t4\n74216\t4\n74218\t4\n74219\t4\n74228\t4\n74244\t4\n74246\t4\n74255\t4\n74267\t4\n74268\t4\n74270\t4\n74271\t4\n74286\t4\n74291\t4\n74299\t4\n74313\t4\n74316\t4\n74333\t4\n74338\t4\n74363\t4\n74366\t4\n74367\t4\n74369\t4\n74385\t4\n74396\t4\n74400\t4\n74412\t4\n74414\t4\n74429\t4\n74431\t4\n74437\t4\n74448\t4\n74454\t4\n74456\t4\n74468\t4\n74475\t4\n74493\t4\n74496\t4\n74506\t4\n74513\t4\n74515\t4\n74518\t4\n74521\t4\n74525\t4\n74527\t4\n74529\t4\n74538\t4\n74551\t4\n74554\t4\n74560\t4\n74575\t4\n74580\t4\n74585\t4\n74591\t4\n74599\t4\n74600\t4\n74601\t4\n74610\t4\n74618\t4\n74622\t4\n74623\t4\n74625\t4\n74631\t4\n74633\t4\n74637\t4\n74644\t4\n74659\t4\n74666\t4\n74670\t4\n74673\t4\n74681\t4\n74682\t4\n74685\t4\n74691\t4\n74693\t4\n74696\t4\n74703\t4\n74704\t4\n74708\t4\n74711\t4\n74714\t4\n74715\t4\n74718\t4\n74727\t4\n74733\t4\n74739\t4\n74740\t4\n74747\t4\n74751\t4\n74766\t4\n74768\t4\n74771\t4\n74773\t4\n74787\t4\n74792\t4\n74798\t4\n74801\t4\n74811\t4\n74816\t4\n74821\t4\n74822\t4\n74846\t4\n74850\t4\n74853\t4\n74854\t4\n74857\t4\n74858\t4\n74863\t4\n74865\t4\n74866\t4\n74869\t4\n74871\t4\n74877\t4\n74883\t4\n74890\t4\n74896\t4\n74900\t4\n74913\t4\n74915\t4\n74918\t4\n74928\t4\n74930\t4\n74940\t4\n74942\t4\n74950\t4\n74967\t4\n74972\t4\n74985\t4\n74986\t4\n74995\t4\n74998\t4\n75012\t4\n75016\t4\n75017\t4\n75021\t4\n75022\t4\n75023\t4\n75028\t4\n75032\t4\n75035\t4\n75040\t4\n75053\t4\n75055\t4\n75057\t4\n75062\t4\n75064\t4\n75077\t4\n75078\t4\n75084\t4\n75098\t4\n75108\t4\n75116\t4\n75126\t4\n75145\t4\n75156\t4\n75158\t4\n75159\t4\n75176\t4\n75179\t4\n75182\t4\n75188\t4\n75199\t4\n75210\t4\n75220\t4\n75228\t4\n75233\t4\n75234\t4\n75236\t4\n75237\t4\n75241\t4\n75245\t4\n75246\t4\n75253\t4\n75276\t4\n75280\t4\n75281\t4\n75287\t4\n75293\t4\n75297\t4\n75302\t4\n75320\t4\n75321\t4\n75328\t4\n75334\t4\n75344\t4\n75350\t4\n75358\t4\n75359\t4\n75377\t4\n75379\t4\n75381\t4\n75382\t4\n75393\t4\n75395\t4\n75404\t4\n75409\t4\n75411\t4\n75415\t4\n75423\t4\n75424\t4\n75425\t4\n75438\t4\n75443\t4\n75447\t4\n75453\t4\n75457\t4\n75464\t4\n75468\t4\n75469\t4\n75471\t4\n75472\t4\n75479\t4\n75481\t4\n75482\t4\n75485\t4\n75487\t4\n75489\t4\n75499\t4\n75500\t4\n75505\t4\n75507\t4\n75511\t4\n75517\t4\n75539\t4\n75546\t4\n75555\t4\n75556\t4\n75558\t4\n75566\t4\n75571\t4\n75620\t4\n75621\t4\n75629\t4\n75634\t4\n75649\t4\n75653\t4\n75654\t4\n75667\t4\n75669\t4\n75679\t4\n75693\t4\n75698\t4\n75726\t4\n75730\t4\n75745\t4\n75753\t4\n75759\t4\n75761\t4\n75765\t4\n75766\t4\n75771\t4\n75772\t4\n75778\t4\n75779\t4\n75783\t4\n75801\t4\n75803\t4\n75804\t4\n75806\t4\n75812\t4\n75815\t4\n75819\t4\n75820\t4\n75837\t4\n75839\t4\n75840\t4\n75845\t4\n75847\t4\n75857\t4\n75860\t4\n75869\t4\n75884\t4\n75887\t4\n75903\t4\n75909\t4\n75937\t4\n75948\t4\n75952\t4\n75962\t4\n75967\t4\n75968\t4\n75974\t4\n75980\t4\n75995\t4\n75997\t4\n75999\t4\n76000\t4\n76014\t4\n76025\t4\n76027\t4\n76035\t4\n76052\t4\n76053\t4\n76057\t4\n76062\t4\n76065\t4\n76066\t4\n76068\t4\n76074\t4\n76075\t4\n76090\t4\n76102\t4\n76105\t4\n76111\t4\n76115\t4\n76125\t4\n76127\t4\n76144\t4\n76152\t4\n76157\t4\n76164\t4\n76175\t4\n76179\t4\n76180\t4\n76184\t4\n76191\t4\n76193\t4\n76203\t4\n76206\t4\n76214\t4\n76218\t4\n76220\t4\n76224\t4\n76228\t4\n76234\t4\n76238\t4\n76241\t4\n76259\t4\n76268\t4\n76269\t4\n76275\t4\n76296\t4\n76305\t4\n76307\t4\n76324\t4\n76334\t4\n76335\t4\n76356\t4\n76357\t4\n76368\t4\n76374\t4\n76388\t4\n76392\t4\n76396\t4\n76399\t4\n76407\t4\n76414\t4\n76421\t4\n76427\t4\n76429\t4\n76436\t4\n76437\t4\n76439\t4\n76449\t4\n76456\t4\n76464\t4\n76465\t4\n76466\t4\n76472\t4\n76487\t4\n76489\t4\n76493\t4\n76496\t4\n76501\t4\n76514\t4\n76522\t4\n76530\t4\n76539\t4\n76544\t4\n76549\t4\n76561\t4\n76566\t4\n76569\t4\n76579\t4\n76590\t4\n76592\t4\n76596\t4\n76616\t4\n76624\t4\n76629\t4\n76653\t4\n76662\t4\n76665\t4\n76678\t4\n76680\t4\n76687\t4\n76714\t4\n76719\t4\n76723\t4\n76735\t4\n76736\t4\n76737\t4\n76750\t4\n76761\t4\n76762\t4\n76767\t4\n76773\t4\n76774\t4\n76775\t4\n76782\t4\n76788\t4\n76792\t4\n76800\t4\n76802\t4\n76803\t4\n76811\t4\n76826\t4\n76828\t4\n76836\t4\n76848\t4\n76851\t4\n76853\t4\n76858\t4\n76859\t4\n76865\t4\n76868\t4\n76876\t4\n76895\t4\n76901\t4\n76903\t4\n76905\t4\n76914\t4\n76918\t4\n76927\t4\n76928\t4\n76933\t4\n76934\t4\n76944\t4\n76946\t4\n76954\t4\n76969\t4\n76973\t4\n76984\t4\n76989\t4\n76994\t4\n77005\t4\n77010\t4\n77017\t4\n77018\t4\n77020\t4\n77021\t4\n77027\t4\n77029\t4\n77032\t4\n77042\t4\n77050\t4\n77052\t4\n77053\t4\n77056\t4\n77063\t4\n77064\t4\n77067\t4\n77068\t4\n77070\t4\n77079\t4\n77081\t4\n77083\t4\n77089\t4\n77090\t4\n77092\t4\n77093\t4\n77098\t4\n77106\t4\n77114\t4\n77122\t4\n77128\t4\n77132\t4\n77143\t4\n77145\t4\n77155\t4\n77160\t4\n77171\t4\n77177\t4\n77182\t4\n77190\t4\n77203\t4\n77214\t4\n77215\t4\n77219\t4\n77229\t4\n77232\t4\n77243\t4\n77249\t4\n77252\t4\n77253\t4\n77257\t4\n77259\t4\n77261\t4\n77264\t4\n77276\t4\n77277\t4\n77284\t4\n77293\t4\n77306\t4\n77311\t4\n77315\t4\n77320\t4\n77327\t4\n77340\t4\n77342\t4\n77346\t4\n77347\t4\n77364\t4\n77373\t4\n77374\t4\n77377\t4\n77378\t4\n77379\t4\n77383\t4\n77408\t4\n77409\t4\n77412\t4\n77420\t4\n77423\t4\n77425\t4\n77426\t4\n77427\t4\n77430\t4\n77448\t4\n77452\t4\n77454\t4\n77457\t4\n77458\t4\n77460\t4\n77461\t4\n77462\t4\n77464\t4\n77468\t4\n77474\t4\n77479\t4\n77491\t4\n77498\t4\n77502\t4\n77509\t4\n77511\t4\n77515\t4\n77519\t4\n77524\t4\n77529\t4\n77532\t4\n77543\t4\n77545\t4\n77548\t4\n77558\t4\n77560\t4\n77562\t4\n77580\t4\n77581\t4\n77586\t4\n77588\t4\n77589\t4\n77591\t4\n77595\t4\n77600\t4\n77610\t4\n77611\t4\n77622\t4\n77623\t4\n77635\t4\n77638\t4\n77640\t4\n77648\t4\n77661\t4\n77666\t4\n77673\t4\n77680\t4\n77686\t4\n77705\t4\n77719\t4\n77720\t4\n77729\t4\n77736\t4\n77738\t4\n77739\t4\n77740\t4\n77746\t4\n77752\t4\n77753\t4\n77755\t4\n77761\t4\n77764\t4\n77772\t4\n77776\t4\n77777\t4\n77780\t4\n77788\t4\n77794\t4\n77797\t4\n77799\t4\n77820\t4\n77826\t4\n77830\t4\n77838\t4\n77843\t4\n77846\t4\n77848\t4\n77850\t4\n77853\t4\n77861\t4\n77862\t4\n77863\t4\n77878\t4\n77880\t4\n77887\t4\n77902\t4\n77903\t4\n77907\t4\n77908\t4\n77910\t4\n77912\t4\n77923\t4\n77924\t4\n77931\t4\n77935\t4\n77944\t4\n77952\t4\n77955\t4\n77961\t4\n77963\t4\n77967\t4\n77983\t4\n77986\t4\n77988\t4\n78010\t4\n78018\t4\n78039\t4\n78050\t4\n78062\t4\n78063\t4\n78064\t4\n78067\t4\n78070\t4\n78076\t4\n78079\t4\n78093\t4\n78100\t4\n78114\t4\n78117\t4\n78118\t4\n78128\t4\n78132\t4\n78141\t4\n78143\t4\n78158\t4\n78161\t4\n78165\t4\n78187\t4\n78202\t4\n78208\t4\n78211\t4\n78233\t4\n78249\t4\n78253\t4\n78256\t4\n78260\t4\n78266\t4\n78278\t4\n78282\t4\n78290\t4\n78313\t4\n78319\t4\n78321\t4\n78329\t4\n78346\t4\n78347\t4\n78349\t4\n78355\t4\n78357\t4\n78360\t4\n78361\t4\n78386\t4\n78404\t4\n78405\t4\n78416\t4\n78417\t4\n78431\t4\n78433\t4\n78442\t4\n78446\t4\n78452\t4\n78454\t4\n78456\t4\n78460\t4\n78466\t4\n78476\t4\n78479\t4\n78481\t4\n78495\t4\n78508\t4\n78512\t4\n78527\t4\n78531\t4\n78537\t4\n78538\t4\n78540\t4\n78543\t4\n78547\t4\n78548\t4\n78555\t4\n78557\t4\n78558\t4\n78593\t4\n78594\t4\n78604\t4\n78624\t4\n78627\t4\n78630\t4\n78635\t4\n78639\t4\n78655\t4\n78665\t4\n78666\t4\n78694\t4\n78697\t4\n78700\t4\n78702\t4\n78706\t4\n78716\t4\n78724\t4\n78725\t4\n78728\t4\n78731\t4\n78736\t4\n78750\t4\n78758\t4\n78764\t4\n78770\t4\n78793\t4\n78794\t4\n78800\t4\n78811\t4\n78815\t4\n78816\t4\n78852\t4\n78858\t4\n78867\t4\n78869\t4\n78875\t4\n78879\t4\n78887\t4\n78890\t4\n78892\t4\n78900\t4\n78906\t4\n78910\t4\n78914\t4\n78920\t4\n78922\t4\n78932\t4\n78934\t4\n78935\t4\n78936\t4\n78937\t4\n78958\t4\n78959\t4\n78961\t4\n78966\t4\n78967\t4\n78976\t4\n78981\t4\n78989\t4\n78995\t4\n79003\t4\n79007\t4\n79017\t4\n79021\t4\n79025\t4\n79028\t4\n79032\t4\n79033\t4\n79048\t4\n79061\t4\n79066\t4\n79076\t4\n79082\t4\n79084\t4\n79088\t4\n79092\t4\n79095\t4\n79096\t4\n79098\t4\n79103\t4\n79105\t4\n79107\t4\n79129\t4\n79130\t4\n79132\t4\n79134\t4\n79140\t4\n79145\t4\n79148\t4\n79153\t4\n79154\t4\n79157\t4\n79164\t4\n79167\t4\n79172\t4\n79176\t4\n79177\t4\n79181\t4\n79196\t4\n79212\t4\n79214\t4\n79229\t4\n79239\t4\n79240\t4\n79248\t4\n79254\t4\n79263\t4\n79265\t4\n79266\t4\n79271\t4\n79272\t4\n79275\t4\n79288\t4\n79294\t4\n79296\t4\n79301\t4\n79302\t4\n79316\t4\n79322\t4\n79328\t4\n79333\t4\n79335\t4\n79336\t4\n79344\t4\n79372\t4\n79387\t4\n79396\t4\n79400\t4\n79401\t4\n79402\t4\n79403\t4\n79408\t4\n79412\t4\n79414\t4\n79420\t4\n79425\t4\n79428\t4\n79432\t4\n79434\t4\n79436\t4\n79440\t4\n79446\t4\n79447\t4\n79460\t4\n79470\t4\n79472\t4\n79473\t4\n79477\t4\n79481\t4\n79483\t4\n79493\t4\n79498\t4\n79519\t4\n79524\t4\n79534\t4\n79540\t4\n79544\t4\n79548\t4\n79553\t4\n79558\t4\n79577\t4\n79578\t4\n79579\t4\n79587\t4\n79608\t4\n79614\t4\n79628\t4\n79629\t4\n79635\t4\n79645\t4\n79651\t4\n79658\t4\n79667\t4\n79668\t4\n79669\t4\n79675\t4\n79690\t4\n79705\t4\n79730\t4\n79739\t4\n79742\t4\n79752\t4\n79761\t4\n79762\t4\n79774\t4\n79782\t4\n79789\t4\n79799\t4\n79800\t4\n79811\t4\n79819\t4\n79821\t4\n79830\t4\n79841\t4\n79845\t4\n79855\t4\n79859\t4\n79861\t4\n79863\t4\n79873\t4\n79878\t4\n79880\t4\n79886\t4\n79891\t4\n79906\t4\n79918\t4\n79930\t4\n79931\t4\n79938\t4\n79939\t4\n79945\t4\n79953\t4\n79955\t4\n79974\t4\n79993\t4\n79996\t4\n79997\t4\n80014\t4\n80021\t4\n80023\t4\n80036\t4\n80039\t4\n80041\t4\n80044\t4\n80046\t4\n80049\t4\n80050\t4\n80054\t4\n80058\t4\n80061\t4\n80062\t4\n80069\t4\n80075\t4\n80078\t4\n80092\t4\n80099\t4\n80107\t4\n80116\t4\n80118\t4\n80139\t4\n80142\t4\n80143\t4\n80159\t4\n80161\t4\n80171\t4\n80172\t4\n80173\t4\n80181\t4\n80182\t4\n80191\t4\n80192\t4\n80196\t4\n80205\t4\n80207\t4\n80221\t4\n80222\t4\n80224\t4\n80232\t4\n80235\t4\n80237\t4\n80239\t4\n80243\t4\n80245\t4\n80254\t4\n80255\t4\n80260\t4\n80266\t4\n80271\t4\n80272\t4\n80284\t4\n80299\t4\n80304\t4\n80314\t4\n80337\t4\n80338\t4\n80346\t4\n80351\t4\n80354\t4\n80364\t4\n80367\t4\n80369\t4\n80371\t4\n80372\t4\n80376\t4\n80377\t4\n80383\t4\n80384\t4\n80391\t4\n80394\t4\n80398\t4\n80404\t4\n80405\t4\n80409\t4\n80412\t4\n80424\t4\n80431\t4\n80453\t4\n80460\t4\n80471\t4\n80472\t4\n80494\t4\n80499\t4\n80501\t4\n80503\t4\n80506\t4\n80511\t4\n80512\t4\n80522\t4\n80536\t4\n80550\t4\n80554\t4\n80563\t4\n80565\t4\n80568\t4\n80574\t4\n80578\t4\n80580\t4\n80586\t4\n80587\t4\n80595\t4\n80600\t4\n80603\t4\n80605\t4\n80606\t4\n80611\t4\n80614\t4\n80625\t4\n80627\t4\n80628\t4\n80634\t4\n80635\t4\n80639\t4\n80640\t4\n80643\t4\n80644\t4\n80656\t4\n80657\t4\n80671\t4\n80673\t4\n80682\t4\n80686\t4\n80688\t4\n80691\t4\n80692\t4\n80695\t4\n80697\t4\n80698\t4\n80700\t4\n80701\t4\n80714\t4\n80715\t4\n80718\t4\n80727\t4\n80731\t4\n80736\t4\n80741\t4\n80746\t4\n80747\t4\n80750\t4\n80754\t4\n80759\t4\n80767\t4\n80768\t4\n80790\t4\n80797\t4\n80798\t4\n80804\t4\n80806\t4\n80810\t4\n80825\t4\n80827\t4\n80829\t4\n80834\t4\n80836\t4\n80840\t4\n80862\t4\n80866\t4\n80869\t4\n80871\t4\n80872\t4\n80873\t4\n80886\t4\n80895\t4\n80899\t4\n80902\t4\n80910\t4\n80928\t4\n80933\t4\n80934\t4\n80936\t4\n80950\t4\n80971\t4\n80973\t4\n80975\t4\n80982\t4\n81001\t4\n81031\t4\n81032\t4\n81035\t4\n81045\t4\n81050\t4\n81053\t4\n81054\t4\n81057\t4\n81059\t4\n81066\t4\n81068\t4\n81073\t4\n81078\t4\n81080\t4\n81083\t4\n81086\t4\n81095\t4\n81103\t4\n81104\t4\n81106\t4\n81110\t4\n81112\t4\n81114\t4\n81125\t4\n81134\t4\n81137\t4\n81138\t4\n81163\t4\n81173\t4\n81176\t4\n81185\t4\n81194\t4\n81200\t4\n81201\t4\n81203\t4\n81208\t4\n81209\t4\n81217\t4\n81218\t4\n81227\t4\n81234\t4\n81237\t4\n81242\t4\n81244\t4\n81245\t4\n81247\t4\n81257\t4\n81276\t4\n81297\t4\n81320\t4\n81323\t4\n81325\t4\n81335\t4\n81343\t4\n81344\t4\n81362\t4\n81366\t4\n81371\t4\n81386\t4\n81405\t4\n81418\t4\n81423\t4\n81432\t4\n81464\t4\n81469\t4\n81470\t4\n81480\t4\n81483\t4\n81484\t4\n81487\t4\n81506\t4\n81514\t4\n81515\t4\n81517\t4\n81522\t4\n81523\t4\n81531\t4\n81532\t4\n81557\t4\n81558\t4\n81562\t4\n81567\t4\n81573\t4\n81579\t4\n81581\t4\n81589\t4\n81595\t4\n81597\t4\n81604\t4\n81609\t4\n81616\t4\n81628\t4\n81633\t4\n81649\t4\n81651\t4\n81654\t4\n81656\t4\n81660\t4\n81661\t4\n81669\t4\n81679\t4\n81684\t4\n81687\t4\n81690\t4\n81701\t4\n81706\t4\n81711\t4\n81713\t4\n81714\t4\n81725\t4\n81742\t4\n81744\t4\n81748\t4\n81749\t4\n81751\t4\n81767\t4\n81768\t4\n81771\t4\n81776\t4\n81781\t4\n81783\t4\n81784\t4\n81791\t4\n81794\t4\n81813\t4\n81838\t4\n81843\t4\n81849\t4\n81861\t4\n81864\t4\n81865\t4\n81868\t4\n81869\t4\n81874\t4\n81877\t4\n81882\t4\n81886\t4\n81891\t4\n81900\t4\n81911\t4\n81912\t4\n81923\t4\n81932\t4\n81937\t4\n81938\t4\n81951\t4\n81953\t4\n81970\t4\n81974\t4\n81987\t4\n81996\t4\n81997\t4\n82008\t4\n82012\t4\n82018\t4\n82021\t4\n82034\t4\n82035\t4\n82043\t4\n82048\t4\n82050\t4\n82053\t4\n82059\t4\n82065\t4\n82082\t4\n82091\t4\n82093\t4\n82113\t4\n82121\t4\n82125\t4\n82126\t4\n82132\t4\n82137\t4\n82139\t4\n82144\t4\n82145\t4\n82150\t4\n82155\t4\n82166\t4\n82183\t4\n82202\t4\n82208\t4\n82209\t4\n82212\t4\n82224\t4\n82226\t4\n82228\t4\n82231\t4\n82237\t4\n82246\t4\n82247\t4\n82250\t4\n82251\t4\n82252\t4\n82256\t4\n82262\t4\n82268\t4\n82276\t4\n82281\t4\n82284\t4\n82287\t4\n82288\t4\n82295\t4\n82308\t4\n82311\t4\n82313\t4\n82323\t4\n82331\t4\n82334\t4\n82340\t4\n82351\t4\n82355\t4\n82367\t4\n82373\t4\n82374\t4\n82380\t4\n82382\t4\n82396\t4\n82409\t4\n82415\t4\n82417\t4\n82431\t4\n82432\t4\n82435\t4\n82444\t4\n82445\t4\n82450\t4\n82451\t4\n82474\t4\n82476\t4\n82485\t4\n82486\t4\n82488\t4\n82506\t4\n82509\t4\n82512\t4\n82518\t4\n82519\t4\n82532\t4\n82539\t4\n82547\t4\n82548\t4\n82549\t4\n82553\t4\n82562\t4\n82563\t4\n82568\t4\n82570\t4\n82592\t4\n82593\t4\n82599\t4\n82616\t4\n82619\t4\n82621\t4\n82645\t4\n82647\t4\n82650\t4\n82653\t4\n82655\t4\n82656\t4\n82660\t4\n82661\t4\n82663\t4\n82669\t4\n82681\t4\n82682\t4\n82685\t4\n82694\t4\n82704\t4\n82707\t4\n82711\t4\n82713\t4\n82720\t4\n82726\t4\n82729\t4\n82733\t4\n82734\t4\n82736\t4\n82741\t4\n82746\t4\n82765\t4\n82777\t4\n82779\t4\n82782\t4\n82788\t4\n82791\t4\n82798\t4\n82800\t4\n82804\t4\n82808\t4\n82812\t4\n82825\t4\n82838\t4\n82842\t4\n82854\t4\n82860\t4\n82864\t4\n82871\t4\n82872\t4\n82899\t4\n82900\t4\n82913\t4\n82915\t4\n82916\t4\n82918\t4\n82927\t4\n82929\t4\n82931\t4\n82934\t4\n82952\t4\n82959\t4\n82969\t4\n82975\t4\n82994\t4\n82999\t4\n83001\t4\n83014\t4\n83015\t4\n83024\t4\n83025\t4\n83027\t4\n83028\t4\n83032\t4\n83047\t4\n83048\t4\n83054\t4\n83058\t4\n83060\t4\n83066\t4\n83067\t4\n83069\t4\n83093\t4\n83098\t4\n83109\t4\n83112\t4\n83115\t4\n83117\t4\n83119\t4\n83121\t4\n83132\t4\n83137\t4\n83138\t4\n83153\t4\n83154\t4\n83157\t4\n83165\t4\n83174\t4\n83191\t4\n83196\t4\n83197\t4\n83201\t4\n83212\t4\n83227\t4\n83229\t4\n83235\t4\n83244\t4\n83254\t4\n83271\t4\n83275\t4\n83277\t4\n83279\t4\n83281\t4\n83282\t4\n83296\t4\n83311\t4\n83315\t4\n83320\t4\n83324\t4\n83326\t4\n83334\t4\n83336\t4\n83340\t4\n83344\t4\n83345\t4\n83369\t4\n83370\t4\n83375\t4\n83392\t4\n83398\t4\n83408\t4\n83413\t4\n83415\t4\n83417\t4\n83432\t4\n83453\t4\n83454\t4\n83471\t4\n83472\t4\n83478\t4\n83480\t4\n83484\t4\n83489\t4\n83490\t4\n83528\t4\n83530\t4\n83532\t4\n83535\t4\n83539\t4\n83540\t4\n83553\t4\n83554\t4\n83557\t4\n83560\t4\n83572\t4\n83579\t4\n83582\t4\n83589\t4\n83596\t4\n83597\t4\n83598\t4\n83603\t4\n83619\t4\n83633\t4\n83634\t4\n83656\t4\n83657\t4\n83661\t4\n83666\t4\n83676\t4\n83678\t4\n83684\t4\n83688\t4\n83694\t4\n83702\t4\n83707\t4\n83715\t4\n83718\t4\n83726\t4\n83732\t4\n83737\t4\n83743\t4\n83766\t4\n83769\t4\n83772\t4\n83778\t4\n83789\t4\n83816\t4\n83818\t4\n83835\t4\n83853\t4\n83854\t4\n83856\t4\n83857\t4\n83859\t4\n83862\t4\n83872\t4\n83877\t4\n83882\t4\n83883\t4\n83886\t4\n83887\t4\n83891\t4\n83894\t4\n83895\t4\n83909\t4\n83911\t4\n83913\t4\n83917\t4\n83925\t4\n83930\t4\n83950\t4\n83956\t4\n83972\t4\n83980\t4\n83982\t4\n83987\t4\n83994\t4\n83996\t4\n83997\t4\n84004\t4\n84015\t4\n84019\t4\n84032\t4\n84037\t4\n84039\t4\n84060\t4\n84061\t4\n84062\t4\n84069\t4\n84073\t4\n84076\t4\n84089\t4\n84092\t4\n84099\t4\n84105\t4\n84117\t4\n84118\t4\n84120\t4\n84121\t4\n84136\t4\n84149\t4\n84161\t4\n84184\t4\n84186\t4\n84189\t4\n84192\t4\n84194\t4\n84201\t4\n84214\t4\n84221\t4\n84223\t4\n84229\t4\n84233\t4\n84237\t4\n84242\t4\n84245\t4\n84247\t4\n84252\t4\n84253\t4\n84261\t4\n84263\t4\n84291\t4\n84296\t4\n84302\t4\n84310\t4\n84316\t4\n84331\t4\n84353\t4\n84374\t4\n84379\t4\n84380\t4\n84389\t4\n84398\t4\n84403\t4\n84413\t4\n84416\t4\n84419\t4\n84431\t4\n84432\t4\n84434\t4\n84437\t4\n84438\t4\n84439\t4\n84449\t4\n84456\t4\n84459\t4\n84464\t4\n84467\t4\n84473\t4\n84487\t4\n84492\t4\n84493\t4\n84495\t4\n84502\t4\n84506\t4\n84511\t4\n84514\t4\n84525\t4\n84533\t4\n84537\t4\n84545\t4\n84566\t4\n84570\t4\n84572\t4\n84573\t4\n84575\t4\n84586\t4\n84587\t4\n84603\t4\n84604\t4\n84605\t4\n84619\t4\n84625\t4\n84626\t4\n84631\t4\n84636\t4\n84639\t4\n84644\t4\n84650\t4\n84651\t4\n84663\t4\n84667\t4\n84671\t4\n84682\t4\n84691\t4\n84703\t4\n84706\t4\n84713\t4\n84716\t4\n84717\t4\n84725\t4\n84727\t4\n84731\t4\n84732\t4\n84750\t4\n84751\t4\n84757\t4\n84760\t4\n84767\t4\n84779\t4\n84780\t4\n84787\t4\n84793\t4\n84801\t4\n84803\t4\n84806\t4\n84813\t4\n84816\t4\n84817\t4\n84830\t4\n84833\t4\n84852\t4\n84854\t4\n84858\t4\n84859\t4\n84867\t4\n84870\t4\n84872\t4\n84881\t4\n84883\t4\n84884\t4\n84892\t4\n84893\t4\n84902\t4\n84916\t4\n84919\t4\n84920\t4\n84921\t4\n84936\t4\n84962\t4\n84976\t4\n84983\t4\n84990\t4\n84991\t4\n84993\t4\n84996\t4\n85005\t4\n85021\t4\n85027\t4\n85031\t4\n85038\t4\n85046\t4\n85049\t4\n85051\t4\n85053\t4\n85056\t4\n85059\t4\n85072\t4\n85076\t4\n85086\t4\n85087\t4\n85088\t4\n85089\t4\n85096\t4\n85105\t4\n85110\t4\n85114\t4\n85116\t4\n85123\t4\n85128\t4\n85133\t4\n85148\t4\n85152\t4\n85157\t4\n85163\t4\n85166\t4\n85179\t4\n85182\t4\n85188\t4\n85190\t4\n85199\t4\n85204\t4\n85205\t4\n85219\t4\n85221\t4\n85228\t4\n85230\t4\n85235\t4\n85241\t4\n85252\t4\n85255\t4\n85257\t4\n85265\t4\n85276\t4\n85281\t4\n85284\t4\n85289\t4\n85298\t4\n85299\t4\n85302\t4\n85307\t4\n85317\t4\n85319\t4\n85334\t4\n85337\t4\n85346\t4\n85348\t4\n85352\t4\n85354\t4\n85355\t4\n85356\t4\n85360\t4\n85364\t4\n85366\t4\n85370\t4\n85376\t4\n85377\t4\n85381\t4\n85382\t4\n85387\t4\n85393\t4\n85399\t4\n85400\t4\n85401\t4\n85402\t4\n85407\t4\n85412\t4\n85422\t4\n85425\t4\n85426\t4\n85437\t4\n85455\t4\n85462\t4\n85464\t4\n85465\t4\n85471\t4\n85472\t4\n85477\t4\n85481\t4\n85501\t4\n85509\t4\n85511\t4\n85512\t4\n85516\t4\n85536\t4\n85537\t4\n85541\t4\n85551\t4\n85557\t4\n85570\t4\n85572\t4\n85575\t4\n85583\t4\n85589\t4\n85599\t4\n85600\t4\n85604\t4\n85608\t4\n85614\t4\n85616\t4\n85621\t4\n85622\t4\n85628\t4\n85629\t4\n85635\t4\n85647\t4\n85652\t4\n85660\t4\n85661\t4\n85665\t4\n85666\t4\n85674\t4\n85694\t4\n85701\t4\n85709\t4\n85712\t4\n85721\t4\n85723\t4\n85735\t4\n85736\t4\n85743\t4\n85744\t4\n85746\t4\n85756\t4\n85762\t4\n85773\t4\n85774\t4\n85780\t4\n85785\t4\n85789\t4\n85791\t4\n85802\t4\n85803\t4\n85806\t4\n85813\t4\n85814\t4\n85818\t4\n85824\t4\n85826\t4\n85833\t4\n85851\t4\n85855\t4\n85859\t4\n85861\t4\n85870\t4\n85878\t4\n85884\t4\n85886\t4\n85888\t4\n85891\t4\n85894\t4\n85895\t4\n85897\t4\n85912\t4\n85930\t4\n85939\t4\n85942\t4\n85967\t4\n85968\t4\n85970\t4\n85974\t4\n85975\t4\n85979\t4\n85981\t4\n85986\t4\n86006\t4\n86013\t4\n86028\t4\n86029\t4\n86030\t4\n86033\t4\n86040\t4\n86044\t4\n86045\t4\n86052\t4\n86057\t4\n86061\t4\n86063\t4\n86064\t4\n86067\t4\n86079\t4\n86082\t4\n86088\t4\n86091\t4\n86092\t4\n86093\t4\n86097\t4\n86102\t4\n86105\t4\n86113\t4\n86131\t4\n86134\t4\n86135\t4\n86154\t4\n86155\t4\n86160\t4\n86171\t4\n86174\t4\n86175\t4\n86181\t4\n86182\t4\n86188\t4\n86195\t4\n86196\t4\n86198\t4\n86201\t4\n86202\t4\n86211\t4\n86221\t4\n86223\t4\n86230\t4\n86231\t4\n86233\t4\n86235\t4\n86246\t4\n86248\t4\n86252\t4\n86255\t4\n86257\t4\n86259\t4\n86264\t4\n86270\t4\n86280\t4\n86281\t4\n86289\t4\n86290\t4\n86291\t4\n86299\t4\n86301\t4\n86310\t4\n86313\t4\n86315\t4\n86322\t4\n86324\t4\n86327\t4\n86334\t4\n86338\t4\n86342\t4\n86354\t4\n86355\t4\n86361\t4\n86363\t4\n86368\t4\n86370\t4\n86374\t4\n86375\t4\n86376\t4\n86377\t4\n86380\t4\n86381\t4\n86388\t4\n86399\t4\n86401\t4\n86406\t4\n86409\t4\n86422\t4\n86423\t4\n86428\t4\n86429\t4\n86431\t4\n86436\t4\n86446\t4\n86452\t4\n86455\t4\n86457\t4\n86468\t4\n86470\t4\n86472\t4\n86474\t4\n86485\t4\n86486\t4\n86496\t4\n86503\t4\n86505\t4\n86506\t4\n86508\t4\n86515\t4\n86525\t4\n86528\t4\n86529\t4\n86543\t4\n86557\t4\n86572\t4\n86578\t4\n86591\t4\n86597\t4\n86605\t4\n86611\t4\n86613\t4\n86621\t4\n86624\t4\n86630\t4\n86632\t4\n86636\t4\n86637\t4\n86664\t4\n86669\t4\n86676\t4\n86687\t4\n86691\t4\n86692\t4\n86701\t4\n86716\t4\n86723\t4\n86726\t4\n86731\t4\n86738\t4\n86739\t4\n86740\t4\n86742\t4\n86762\t4\n86765\t4\n86768\t4\n86770\t4\n86777\t4\n86788\t4\n86793\t4\n86806\t4\n86807\t4\n86816\t4\n86819\t4\n86826\t4\n86839\t4\n86857\t4\n86874\t4\n86875\t4\n86877\t4\n86892\t4\n86894\t4\n86900\t4\n86902\t4\n86907\t4\n86908\t4\n86921\t4\n86924\t4\n86935\t4\n86943\t4\n86944\t4\n86963\t4\n86965\t4\n86972\t4\n86975\t4\n86976\t4\n86993\t4\n87006\t4\n87008\t4\n87014\t4\n87030\t4\n87033\t4\n87036\t4\n87058\t4\n87062\t4\n87063\t4\n87072\t4\n87073\t4\n87092\t4\n87102\t4\n87114\t4\n87125\t4\n87128\t4\n87146\t4\n87149\t4\n87153\t4\n87156\t4\n87160\t4\n87176\t4\n87180\t4\n87188\t4\n87197\t4\n87210\t4\n87213\t4\n87216\t4\n87217\t4\n87228\t4\n87230\t4\n87251\t4\n87252\t4\n87257\t4\n87258\t4\n87267\t4\n87270\t4\n87279\t4\n87296\t4\n87305\t4\n87322\t4\n87325\t4\n87327\t4\n87331\t4\n87337\t4\n87345\t4\n87347\t4\n87362\t4\n87366\t4\n87370\t4\n87393\t4\n87395\t4\n87416\t4\n87420\t4\n87425\t4\n87428\t4\n87446\t4\n87447\t4\n87458\t4\n87471\t4\n87472\t4\n87476\t4\n87479\t4\n87483\t4\n87487\t4\n87500\t4\n87506\t4\n87507\t4\n87513\t4\n87515\t4\n87517\t4\n87523\t4\n87524\t4\n87528\t4\n87530\t4\n87532\t4\n87534\t4\n87535\t4\n87541\t4\n87552\t4\n87557\t4\n87571\t4\n87584\t4\n87597\t4\n87605\t4\n87606\t4\n87611\t4\n87620\t4\n87623\t4\n87626\t4\n87630\t4\n87641\t4\n87647\t4\n87649\t4\n87665\t4\n87669\t4\n87671\t4\n87675\t4\n87676\t4\n87684\t4\n87686\t4\n87689\t4\n87705\t4\n87707\t4\n87709\t4\n87712\t4\n87719\t4\n87725\t4\n87726\t4\n87727\t4\n87740\t4\n87741\t4\n87745\t4\n87753\t4\n87757\t4\n87766\t4\n87770\t4\n87772\t4\n87776\t4\n87789\t4\n87792\t4\n87807\t4\n87819\t4\n87820\t4\n87821\t4\n87825\t4\n87827\t4\n87843\t4\n87855\t4\n87859\t4\n87860\t4\n87861\t4\n87880\t4\n87884\t4\n87888\t4\n87894\t4\n87903\t4\n87912\t4\n87919\t4\n87922\t4\n87926\t4\n87927\t4\n87929\t4\n87930\t4\n87932\t4\n87938\t4\n87941\t4\n87955\t4\n87956\t4\n87962\t4\n87972\t4\n87974\t4\n87984\t4\n87987\t4\n87991\t4\n87994\t4\n87997\t4\n88002\t4\n88008\t4\n88015\t4\n88026\t4\n88031\t4\n88032\t4\n88033\t4\n88039\t4\n88043\t4\n88047\t4\n88050\t4\n88057\t4\n88058\t4\n88097\t4\n88099\t4\n88111\t4\n88124\t4\n88138\t4\n88139\t4\n88144\t4\n88146\t4\n88158\t4\n88164\t4\n88168\t4\n88170\t4\n88178\t4\n88189\t4\n88191\t4\n88193\t4\n88195\t4\n88198\t4\n88213\t4\n88214\t4\n88215\t4\n88226\t4\n88235\t4\n88239\t4\n88243\t4\n88244\t4\n88247\t4\n88248\t4\n88249\t4\n88253\t4\n88256\t4\n88260\t4\n88262\t4\n88263\t4\n88273\t4\n88274\t4\n88284\t4\n88289\t4\n88294\t4\n88315\t4\n88318\t4\n88321\t4\n88328\t4\n88333\t4\n88334\t4\n88348\t4\n88353\t4\n88363\t4\n88364\t4\n88373\t4\n88374\t4\n88379\t4\n88383\t4\n88396\t4\n88398\t4\n88399\t4\n88413\t4\n88419\t4\n88421\t4\n88428\t4\n88435\t4\n88436\t4\n88437\t4\n88438\t4\n88447\t4\n88448\t4\n88451\t4\n88456\t4\n88459\t4\n88466\t4\n88472\t4\n88473\t4\n88478\t4\n88481\t4\n88500\t4\n88502\t4\n88503\t4\n88505\t4\n88506\t4\n88509\t4\n88512\t4\n88517\t4\n88524\t4\n88528\t4\n88530\t4\n88532\t4\n88540\t4\n88541\t4\n88542\t4\n88544\t4\n88545\t4\n88547\t4\n88549\t4\n88561\t4\n88565\t4\n88567\t4\n88579\t4\n88581\t4\n88584\t4\n88586\t4\n88589\t4\n88596\t4\n88600\t4\n88623\t4\n88625\t4\n88626\t4\n88629\t4\n88632\t4\n88634\t4\n88635\t4\n88639\t4\n88649\t4\n88655\t4\n88664\t4\n88665\t4\n88671\t4\n88677\t4\n88683\t4\n88685\t4\n88686\t4\n88689\t4\n88694\t4\n88695\t4\n88697\t4\n88705\t4\n88722\t4\n88726\t4\n88733\t4\n88738\t4\n88739\t4\n88741\t4\n88746\t4\n88757\t4\n88758\t4\n88769\t4\n88770\t4\n88772\t4\n88773\t4\n88775\t4\n88776\t4\n88785\t4\n88788\t4\n88793\t4\n88802\t4\n88807\t4\n88817\t4\n88826\t4\n88827\t4\n88833\t4\n88843\t4\n88850\t4\n88857\t4\n88859\t4\n88865\t4\n88866\t4\n88889\t4\n88890\t4\n88893\t4\n88895\t4\n88897\t4\n88900\t4\n88903\t4\n88907\t4\n88908\t4\n88913\t4\n88915\t4\n88931\t4\n88944\t4\n88955\t4\n88956\t4\n88962\t4\n88963\t4\n88967\t4\n88968\t4\n88973\t4\n88981\t4\n88982\t4\n88985\t4\n88992\t4\n88996\t4\n88997\t4\n89003\t4\n89008\t4\n89010\t4\n89019\t4\n89020\t4\n89026\t4\n89036\t4\n89042\t4\n89043\t4\n89046\t4\n89059\t4\n89060\t4\n89082\t4\n89106\t4\n89111\t4\n89112\t4\n89119\t4\n89120\t4\n89121\t4\n89128\t4\n89134\t4\n89139\t4\n89140\t4\n89141\t4\n89152\t4\n89153\t4\n89155\t4\n89156\t4\n89157\t4\n89163\t4\n89164\t4\n89165\t4\n89175\t4\n89182\t4\n89186\t4\n89194\t4\n89197\t4\n89204\t4\n89213\t4\n89225\t4\n89232\t4\n89234\t4\n89236\t4\n89252\t4\n89266\t4\n89280\t4\n89288\t4\n89292\t4\n89299\t4\n89304\t4\n89305\t4\n89306\t4\n89310\t4\n89317\t4\n89335\t4\n89336\t4\n89337\t4\n89338\t4\n89342\t4\n89363\t4\n89366\t4\n89374\t4\n89375\t4\n89376\t4\n89378\t4\n89380\t4\n89382\t4\n89389\t4\n89391\t4\n89406\t4\n89412\t4\n89432\t4\n89434\t4\n89441\t4\n89442\t4\n89445\t4\n89446\t4\n89449\t4\n89457\t4\n89459\t4\n89466\t4\n89469\t4\n89492\t4\n89504\t4\n89505\t4\n89523\t4\n89528\t4\n89536\t4\n89540\t4\n89542\t4\n89545\t4\n89547\t4\n89549\t4\n89553\t4\n89557\t4\n89558\t4\n89561\t4\n89579\t4\n89582\t4\n89586\t4\n89591\t4\n89596\t4\n89600\t4\n89616\t4\n89620\t4\n89622\t4\n89625\t4\n89631\t4\n89632\t4\n89633\t4\n89634\t4\n89638\t4\n89644\t4\n89647\t4\n89650\t4\n89655\t4\n89661\t4\n89669\t4\n89681\t4\n89682\t4\n89687\t4\n89688\t4\n89689\t4\n89692\t4\n89705\t4\n89707\t4\n89717\t4\n89721\t4\n89729\t4\n89731\t4\n89732\t4\n89738\t4\n89742\t4\n89752\t4\n89753\t4\n89765\t4\n89767\t4\n89773\t4\n89785\t4\n89792\t4\n89801\t4\n89802\t4\n89813\t4\n89819\t4\n89822\t4\n89831\t4\n89833\t4\n89860\t4\n89883\t4\n89906\t4\n89909\t4\n89912\t4\n89913\t4\n89921\t4\n89928\t4\n89939\t4\n89946\t4\n89953\t4\n89955\t4\n89956\t4\n89958\t4\n89959\t4\n89972\t4\n89975\t4\n89976\t4\n89977\t4\n89981\t4\n89984\t4\n89994\t4\n90011\t4\n90013\t4\n90015\t4\n90026\t4\n90037\t4\n90049\t4\n90052\t4\n90053\t4\n90064\t4\n90066\t4\n90074\t4\n90075\t4\n90080\t4\n90087\t4\n90088\t4\n90091\t4\n90097\t4\n90113\t4\n90117\t4\n90122\t4\n90133\t4\n90145\t4\n90147\t4\n90155\t4\n90160\t4\n90174\t4\n90178\t4\n90180\t4\n90184\t4\n90186\t4\n90191\t4\n90204\t4\n90209\t4\n90211\t4\n90212\t4\n90218\t4\n90233\t4\n90235\t4\n90242\t4\n90245\t4\n90246\t4\n90251\t4\n90252\t4\n90253\t4\n90257\t4\n90266\t4\n90274\t4\n90293\t4\n90294\t4\n90303\t4\n90308\t4\n90309\t4\n90312\t4\n90314\t4\n90329\t4\n90338\t4\n90340\t4\n90345\t4\n90350\t4\n90352\t4\n90359\t4\n90365\t4\n90368\t4\n90370\t4\n90372\t4\n90374\t4\n90384\t4\n90400\t4\n90405\t4\n90412\t4\n90416\t4\n90430\t4\n90433\t4\n90436\t4\n90451\t4\n90452\t4\n90453\t4\n90455\t4\n90458\t4\n90459\t4\n90468\t4\n90472\t4\n90473\t4\n90478\t4\n90492\t4\n90495\t4\n90506\t4\n90508\t4\n90510\t4\n90520\t4\n90551\t4\n90558\t4\n90562\t4\n90563\t4\n90566\t4\n90572\t4\n90574\t4\n90589\t4\n90593\t4\n90604\t4\n90616\t4\n90619\t4\n90621\t4\n90628\t4\n90637\t4\n90644\t4\n90658\t4\n90663\t4\n90665\t4\n90668\t4\n90670\t4\n90676\t4\n90689\t4\n90694\t4\n90696\t4\n90718\t4\n90719\t4\n90722\t4\n90759\t4\n90766\t4\n90769\t4\n90774\t4\n90776\t4\n90791\t4\n90795\t4\n90797\t4\n90800\t4\n90804\t4\n90805\t4\n90809\t4\n90818\t4\n90829\t4\n90833\t4\n90838\t4\n90841\t4\n90848\t4\n90854\t4\n90870\t4\n90871\t4\n90878\t4\n90887\t4\n90889\t4\n90897\t4\n90900\t4\n90902\t4\n90903\t4\n90909\t4\n90911\t4\n90918\t4\n90934\t4\n90939\t4\n90947\t4\n90950\t4\n90953\t4\n90955\t4\n90959\t4\n90964\t4\n90983\t4\n91001\t4\n91009\t4\n91013\t4\n91019\t4\n91023\t4\n91026\t4\n91028\t4\n91033\t4\n91037\t4\n91038\t4\n91048\t4\n91051\t4\n91052\t4\n91055\t4\n91063\t4\n91065\t4\n91077\t4\n91083\t4\n91084\t4\n91086\t4\n91090\t4\n91094\t4\n91096\t4\n91097\t4\n91100\t4\n91101\t4\n91106\t4\n91117\t4\n91118\t4\n91121\t4\n91123\t4\n91139\t4\n91142\t4\n91143\t4\n91145\t4\n91148\t4\n91162\t4\n91165\t4\n91170\t4\n91183\t4\n91184\t4\n91186\t4\n91187\t4\n91188\t4\n91191\t4\n91201\t4\n91204\t4\n91213\t4\n91218\t4\n91222\t4\n91224\t4\n91225\t4\n91229\t4\n91234\t4\n91257\t4\n91264\t4\n91272\t4\n91274\t4\n91277\t4\n91283\t4\n91294\t4\n91296\t4\n91308\t4\n91313\t4\n91314\t4\n91316\t4\n91323\t4\n91324\t4\n91326\t4\n91329\t4\n91339\t4\n91345\t4\n91346\t4\n91359\t4\n91362\t4\n91364\t4\n91368\t4\n91369\t4\n91372\t4\n91374\t4\n91375\t4\n91382\t4\n91390\t4\n91397\t4\n91398\t4\n91415\t4\n91418\t4\n91432\t4\n91447\t4\n91449\t4\n91451\t4\n91452\t4\n91456\t4\n91461\t4\n91467\t4\n91468\t4\n91471\t4\n91475\t4\n91477\t4\n91478\t4\n91479\t4\n91480\t4\n91481\t4\n91486\t4\n91525\t4\n91531\t4\n91534\t4\n91544\t4\n91546\t4\n91550\t4\n91551\t4\n91552\t4\n91555\t4\n91559\t4\n91560\t4\n91568\t4\n91569\t4\n91575\t4\n91579\t4\n91582\t4\n91612\t4\n91616\t4\n91620\t4\n91622\t4\n91624\t4\n91631\t4\n91635\t4\n91641\t4\n91644\t4\n91652\t4\n91661\t4\n91663\t4\n91674\t4\n91675\t4\n91681\t4\n91686\t4\n91692\t4\n91700\t4\n91709\t4\n91712\t4\n91714\t4\n91719\t4\n91725\t4\n91750\t4\n91756\t4\n91766\t4\n91768\t4\n91783\t4\n91791\t4\n91792\t4\n91793\t4\n91798\t4\n91801\t4\n91805\t4\n91810\t4\n91814\t4\n91819\t4\n91820\t4\n91839\t4\n91842\t4\n91846\t4\n91847\t4\n91849\t4\n91856\t4\n91857\t4\n91859\t4\n91862\t4\n91871\t4\n91893\t4\n91895\t4\n91898\t4\n91901\t4\n91911\t4\n91922\t4\n91924\t4\n91930\t4\n91937\t4\n91938\t4\n91939\t4\n91942\t4\n91943\t4\n91948\t4\n91961\t4\n91964\t4\n91971\t4\n91982\t4\n91985\t4\n91988\t4\n91997\t4\n92000\t4\n92011\t4\n92012\t4\n92026\t4\n92042\t4\n92044\t4\n92049\t4\n92063\t4\n92064\t4\n92073\t4\n92087\t4\n92089\t4\n92091\t4\n92101\t4\n92105\t4\n92106\t4\n92110\t4\n92143\t4\n92186\t4\n92206\t4\n92213\t4\n92215\t4\n92217\t4\n92225\t4\n92226\t4\n92237\t4\n92248\t4\n92263\t4\n92266\t4\n92272\t4\n92278\t4\n92281\t4\n92289\t4\n92292\t4\n92297\t4\n92298\t4\n92303\t4\n92304\t4\n92310\t4\n92311\t4\n92319\t4\n92320\t4\n92329\t4\n92342\t4\n92343\t4\n92350\t4\n92361\t4\n92364\t4\n92368\t4\n92370\t4\n92374\t4\n92376\t4\n92388\t4\n92394\t4\n92396\t4\n92406\t4\n92422\t4\n92430\t4\n92440\t4\n92442\t4\n92456\t4\n92462\t4\n92463\t4\n92464\t4\n92471\t4\n92479\t4\n92482\t4\n92484\t4\n92490\t4\n92501\t4\n92503\t4\n92504\t4\n92505\t4\n92514\t4\n92522\t4\n92525\t4\n92530\t4\n92535\t4\n92540\t4\n92542\t4\n92547\t4\n92548\t4\n92551\t4\n92563\t4\n92571\t4\n92577\t4\n92581\t4\n92586\t4\n92597\t4\n92598\t4\n92602\t4\n92614\t4\n92628\t4\n92635\t4\n92642\t4\n92649\t4\n92660\t4\n92661\t4\n92674\t4\n92675\t4\n92678\t4\n92683\t4\n92702\t4\n92706\t4\n92723\t4\n92733\t4\n92739\t4\n92746\t4\n92756\t4\n92761\t4\n92770\t4\n92777\t4\n92778\t4\n92782\t4\n92784\t4\n92787\t4\n92789\t4\n92800\t4\n92802\t4\n92807\t4\n92814\t4\n92821\t4\n92833\t4\n92840\t4\n92846\t4\n92864\t4\n92865\t4\n92870\t4\n92898\t4\n92905\t4\n92909\t4\n92915\t4\n92924\t4\n92928\t4\n92932\t4\n92937\t4\n92940\t4\n92946\t4\n92963\t4\n92967\t4\n92968\t4\n92971\t4\n92975\t4\n92979\t4\n92991\t4\n92993\t4\n93000\t4\n93002\t4\n93007\t4\n93008\t4\n93010\t4\n93013\t4\n93020\t4\n93021\t4\n93027\t4\n93046\t4\n93051\t4\n93063\t4\n93070\t4\n93071\t4\n93073\t4\n93080\t4\n93087\t4\n93096\t4\n93125\t4\n93127\t4\n93129\t4\n93132\t4\n93137\t4\n93139\t4\n93142\t4\n93153\t4\n93154\t4\n93158\t4\n93166\t4\n93167\t4\n93185\t4\n93189\t4\n93190\t4\n93195\t4\n93199\t4\n93201\t4\n93204\t4\n93232\t4\n93238\t4\n93242\t4\n93263\t4\n93264\t4\n93266\t4\n93268\t4\n93276\t4\n93282\t4\n93290\t4\n93299\t4\n93302\t4\n93309\t4\n93312\t4\n93327\t4\n93339\t4\n93344\t4\n93345\t4\n93347\t4\n93350\t4\n93352\t4\n93364\t4\n93386\t4\n93388\t4\n93405\t4\n93418\t4\n93420\t4\n93422\t4\n93428\t4\n93437\t4\n93440\t4\n93443\t4\n93447\t4\n93452\t4\n93454\t4\n93456\t4\n93473\t4\n93474\t4\n93476\t4\n93481\t4\n93482\t4\n93490\t4\n93496\t4\n93521\t4\n93522\t4\n93530\t4\n93532\t4\n93540\t4\n93541\t4\n93544\t4\n93557\t4\n93574\t4\n93578\t4\n93580\t4\n93584\t4\n93595\t4\n93598\t4\n93607\t4\n93610\t4\n93613\t4\n93621\t4\n93629\t4\n93633\t4\n93640\t4\n93642\t4\n93663\t4\n93669\t4\n93674\t4\n93687\t4\n93692\t4\n93693\t4\n93719\t4\n93725\t4\n93733\t4\n93755\t4\n93765\t4\n93771\t4\n93794\t4\n93796\t4\n93803\t4\n93806\t4\n93808\t4\n93809\t4\n93812\t4\n93813\t4\n93817\t4\n93822\t4\n93823\t4\n93830\t4\n93831\t4\n93836\t4\n93840\t4\n93845\t4\n93853\t4\n93855\t4\n93863\t4\n93868\t4\n93880\t4\n93882\t4\n93886\t4\n93888\t4\n93903\t4\n93913\t4\n93925\t4\n93935\t4\n93939\t4\n93940\t4\n93942\t4\n93943\t4\n93955\t4\n93957\t4\n93967\t4\n93972\t4\n93978\t4\n93980\t4\n93983\t4\n93995\t4\n94009\t4\n94022\t4\n94036\t4\n94070\t4\n94073\t4\n94080\t4\n94081\t4\n94095\t4\n94107\t4\n94124\t4\n94137\t4\n94141\t4\n94152\t4\n94154\t4\n94155\t4\n94162\t4\n94167\t4\n94179\t4\n94181\t4\n94186\t4\n94194\t4\n94200\t4\n94202\t4\n94204\t4\n94210\t4\n94215\t4\n94222\t4\n94233\t4\n94237\t4\n94242\t4\n94254\t4\n94266\t4\n94270\t4\n94295\t4\n94297\t4\n94298\t4\n94299\t4\n94301\t4\n94309\t4\n94311\t4\n94313\t4\n94315\t4\n94317\t4\n94328\t4\n94331\t4\n94336\t4\n94343\t4\n94349\t4\n94355\t4\n94368\t4\n94371\t4\n94375\t4\n94389\t4\n94390\t4\n94397\t4\n94398\t4\n94408\t4\n94412\t4\n94413\t4\n94416\t4\n94419\t4\n94428\t4\n94429\t4\n94431\t4\n94434\t4\n94435\t4\n94438\t4\n94441\t4\n94443\t4\n94444\t4\n94457\t4\n94460\t4\n94464\t4\n94466\t4\n94471\t4\n94477\t4\n94478\t4\n94482\t4\n94485\t4\n94495\t4\n94500\t4\n94509\t4\n94531\t4\n94542\t4\n94543\t4\n94555\t4\n94560\t4\n94561\t4\n94563\t4\n94564\t4\n94568\t4\n94578\t4\n94579\t4\n94581\t4\n94582\t4\n94583\t4\n94585\t4\n94609\t4\n94610\t4\n94615\t4\n94617\t4\n94621\t4\n94630\t4\n94652\t4\n94655\t4\n94658\t4\n94662\t4\n94667\t4\n94677\t4\n94680\t4\n94694\t4\n94708\t4\n94713\t4\n94717\t4\n94722\t4\n94723\t4\n94725\t4\n94727\t4\n94740\t4\n94742\t4\n94746\t4\n94750\t4\n94762\t4\n94765\t4\n94768\t4\n94769\t4\n94773\t4\n94777\t4\n94804\t4\n94806\t4\n94808\t4\n94809\t4\n94815\t4\n94818\t4\n94820\t4\n94826\t4\n94833\t4\n94856\t4\n94866\t4\n94870\t4\n94876\t4\n94878\t4\n94880\t4\n94881\t4\n94893\t4\n94897\t4\n94911\t4\n94926\t4\n94937\t4\n94942\t4\n94947\t4\n94951\t4\n94954\t4\n94958\t4\n94961\t4\n94964\t4\n94994\t4\n95001\t4\n95007\t4\n95012\t4\n95014\t4\n95018\t4\n95019\t4\n95021\t4\n95035\t4\n95040\t4\n95043\t4\n95068\t4\n95069\t4\n95079\t4\n95084\t4\n95088\t4\n95091\t4\n95093\t4\n95096\t4\n95105\t4\n95113\t4\n95117\t4\n95133\t4\n95134\t4\n95137\t4\n95141\t4\n95163\t4\n95168\t4\n95176\t4\n95181\t4\n95189\t4\n95198\t4\n95208\t4\n95210\t4\n95212\t4\n95215\t4\n95220\t4\n95226\t4\n95240\t4\n95245\t4\n95247\t4\n95266\t4\n95273\t4\n95278\t4\n95281\t4\n95285\t4\n95293\t4\n95294\t4\n95300\t4\n95306\t4\n95311\t4\n95316\t4\n95317\t4\n95326\t4\n95329\t4\n95335\t4\n95337\t4\n95346\t4\n95349\t4\n95350\t4\n95371\t4\n95372\t4\n95380\t4\n95381\t4\n95386\t4\n95388\t4\n95392\t4\n95395\t4\n95396\t4\n95398\t4\n95405\t4\n95421\t4\n95430\t4\n95433\t4\n95449\t4\n95450\t4\n95451\t4\n95452\t4\n95464\t4\n95468\t4\n95474\t4\n95475\t4\n95477\t4\n95480\t4\n95484\t4\n95487\t4\n95497\t4\n95500\t4\n95514\t4\n95519\t4\n95522\t4\n95529\t4\n95533\t4\n95545\t4\n95554\t4\n95556\t4\n95557\t4\n95566\t4\n95574\t4\n95575\t4\n95578\t4\n95592\t4\n95601\t4\n95607\t4\n95612\t4\n95618\t4\n95624\t4\n95627\t4\n95633\t4\n95635\t4\n95637\t4\n95646\t4\n95648\t4\n95651\t4\n95655\t4\n95658\t4\n95660\t4\n95664\t4\n95665\t4\n95668\t4\n95677\t4\n95684\t4\n95691\t4\n95692\t4\n95694\t4\n95700\t4\n95715\t4\n95716\t4\n95733\t4\n95741\t4\n95746\t4\n95751\t4\n95756\t4\n95759\t4\n95760\t4\n95764\t4\n95765\t4\n95772\t4\n95774\t4\n95778\t4\n95784\t4\n95788\t4\n95807\t4\n95808\t4\n95818\t4\n95819\t4\n95822\t4\n95824\t4\n95841\t4\n95848\t4\n95849\t4\n95851\t4\n95855\t4\n95861\t4\n95862\t4\n95867\t4\n95868\t4\n95869\t4\n95870\t4\n95874\t4\n95888\t4\n95912\t4\n95913\t4\n95917\t4\n95920\t4\n95921\t4\n95929\t4\n95935\t4\n95937\t4\n95938\t4\n95942\t4\n95949\t4\n95954\t4\n95955\t4\n95960\t4\n95963\t4\n95972\t4\n95973\t4\n95975\t4\n95994\t4\n96002\t4\n96021\t4\n96022\t4\n96025\t4\n96036\t4\n96038\t4\n96044\t4\n96045\t4\n96048\t4\n96050\t4\n96051\t4\n96053\t4\n96090\t4\n96101\t4\n96105\t4\n96111\t4\n96116\t4\n96129\t4\n96140\t4\n96143\t4\n96150\t4\n96161\t4\n96162\t4\n96168\t4\n96171\t4\n96172\t4\n96179\t4\n96183\t4\n96191\t4\n96192\t4\n96196\t4\n96199\t4\n96202\t4\n96206\t4\n96208\t4\n96211\t4\n96212\t4\n96213\t4\n96237\t4\n96253\t4\n96256\t4\n96263\t4\n96266\t4\n96274\t4\n96295\t4\n96298\t4\n96307\t4\n96310\t4\n96311\t4\n96313\t4\n96318\t4\n96327\t4\n96344\t4\n96345\t4\n96346\t4\n96355\t4\n96358\t4\n96366\t4\n96367\t4\n96378\t4\n96384\t4\n96385\t4\n96390\t4\n96394\t4\n96398\t4\n96399\t4\n96404\t4\n96410\t4\n96413\t4\n96426\t4\n96430\t4\n96441\t4\n96447\t4\n96452\t4\n96455\t4\n96469\t4\n96471\t4\n96472\t4\n96473\t4\n96477\t4\n96495\t4\n96507\t4\n96511\t4\n96519\t4\n96521\t4\n96531\t4\n96536\t4\n96537\t4\n96545\t4\n96551\t4\n96556\t4\n96560\t4\n96561\t4\n96563\t4\n96565\t4\n96571\t4\n96583\t4\n96584\t4\n96602\t4\n96610\t4\n96620\t4\n96638\t4\n96639\t4\n96650\t4\n96659\t4\n96661\t4\n96665\t4\n96668\t4\n96671\t4\n96676\t4\n96677\t4\n96683\t4\n96685\t4\n96696\t4\n96698\t4\n96708\t4\n96729\t4\n96731\t4\n96735\t4\n96746\t4\n96749\t4\n96751\t4\n96767\t4\n96770\t4\n96785\t4\n96786\t4\n96790\t4\n96795\t4\n96803\t4\n96813\t4\n96816\t4\n96818\t4\n96826\t4\n96827\t4\n96848\t4\n96853\t4\n96854\t4\n96859\t4\n96860\t4\n96862\t4\n96864\t4\n96873\t4\n96874\t4\n96895\t4\n96906\t4\n96907\t4\n96910\t4\n96914\t4\n96917\t4\n96932\t4\n96934\t4\n96935\t4\n96937\t4\n96938\t4\n96944\t4\n96954\t4\n96955\t4\n96962\t4\n96965\t4\n96972\t4\n96979\t4\n96982\t4\n96988\t4\n96999\t4\n97000\t4\n97003\t4\n97004\t4\n97013\t4\n97033\t4\n97052\t4\n97062\t4\n97064\t4\n97065\t4\n97070\t4\n97073\t4\n97075\t4\n97076\t4\n97081\t4\n97085\t4\n97088\t4\n97092\t4\n97093\t4\n97109\t4\n97116\t4\n97118\t4\n97120\t4\n97124\t4\n97125\t4\n97133\t4\n97134\t4\n97136\t4\n97138\t4\n97142\t4\n97143\t4\n97150\t4\n97153\t4\n97165\t4\n97172\t4\n97185\t4\n97189\t4\n97195\t4\n97196\t4\n97200\t4\n97204\t4\n97205\t4\n97211\t4\n97216\t4\n97217\t4\n97237\t4\n97257\t4\n97264\t4\n97283\t4\n97286\t4\n97295\t4\n97296\t4\n97297\t4\n97298\t4\n97299\t4\n97306\t4\n97314\t4\n97332\t4\n97334\t4\n97345\t4\n97363\t4\n97365\t4\n97377\t4\n97378\t4\n97383\t4\n97392\t4\n97398\t4\n97411\t4\n97412\t4\n97421\t4\n97424\t4\n97426\t4\n97431\t4\n97433\t4\n97445\t4\n97456\t4\n97464\t4\n97466\t4\n97468\t4\n97479\t4\n97485\t4\n97488\t4\n97508\t4\n97519\t4\n97527\t4\n97529\t4\n97534\t4\n97536\t4\n97548\t4\n97550\t4\n97562\t4\n97587\t4\n97588\t4\n97589\t4\n97593\t4\n97594\t4\n97607\t4\n97610\t4\n97613\t4\n97618\t4\n97628\t4\n97630\t4\n97631\t4\n97642\t4\n97652\t4\n97653\t4\n97678\t4\n97681\t4\n97685\t4\n97687\t4\n97688\t4\n97691\t4\n97695\t4\n97720\t4\n97744\t4\n97745\t4\n97746\t4\n97756\t4\n97757\t4\n97760\t4\n97768\t4\n97777\t4\n97786\t4\n97787\t4\n97791\t4\n97792\t4\n97794\t4\n97813\t4\n97814\t4\n97819\t4\n97836\t4\n97837\t4\n97846\t4\n97859\t4\n97865\t4\n97887\t4\n97895\t4\n97896\t4\n97897\t4\n97904\t4\n97909\t4\n97914\t4\n97920\t4\n97926\t4\n97927\t4\n97937\t4\n97939\t4\n97942\t4\n97944\t4\n97946\t4\n97954\t4\n97963\t4\n97985\t4\n97989\t4\n97991\t4\n97998\t4\n98010\t4\n98019\t4\n98025\t4\n98038\t4\n98042\t4\n98043\t4\n98062\t4\n98067\t4\n98068\t4\n98086\t4\n98087\t4\n98090\t4\n98098\t4\n98103\t4\n98104\t4\n98114\t4\n98116\t4\n98121\t4\n98125\t4\n98130\t4\n98131\t4\n98136\t4\n98137\t4\n98147\t4\n98155\t4\n98159\t4\n98167\t4\n98174\t4\n98187\t4\n98193\t4\n98211\t4\n98218\t4\n98220\t4\n98226\t4\n98231\t4\n98232\t4\n98235\t4\n98238\t4\n98253\t4\n98265\t4\n98270\t4\n98272\t4\n98276\t4\n98278\t4\n98281\t4\n98282\t4\n98290\t4\n98291\t4\n98295\t4\n98302\t4\n98306\t4\n98310\t4\n98311\t4\n98322\t4\n98326\t4\n98327\t4\n98334\t4\n98341\t4\n98343\t4\n98349\t4\n98358\t4\n98365\t4\n98372\t4\n98378\t4\n98380\t4\n98385\t4\n98393\t4\n98407\t4\n98412\t4\n98422\t4\n98423\t4\n98427\t4\n98431\t4\n98446\t4\n98447\t4\n98449\t4\n98452\t4\n98484\t4\n98485\t4\n98486\t4\n98494\t4\n98502\t4\n98509\t4\n98515\t4\n98520\t4\n98521\t4\n98522\t4\n98525\t4\n98528\t4\n98530\t4\n98531\t4\n98532\t4\n98533\t4\n98541\t4\n98550\t4\n98557\t4\n98562\t4\n98563\t4\n98574\t4\n98580\t4\n98584\t4\n98591\t4\n98598\t4\n98602\t4\n98603\t4\n98605\t4\n98609\t4\n98611\t4\n98634\t4\n98635\t4\n98636\t4\n98647\t4\n98650\t4\n98658\t4\n98660\t4\n98662\t4\n98664\t4\n98666\t4\n98667\t4\n98672\t4\n98679\t4\n98691\t4\n98704\t4\n98708\t4\n98713\t4\n98726\t4\n98729\t4\n98740\t4\n98749\t4\n98751\t4\n98752\t4\n98754\t4\n98756\t4\n98761\t4\n98766\t4\n98767\t4\n98773\t4\n98783\t4\n98785\t4\n98791\t4\n98793\t4\n98801\t4\n98803\t4\n98810\t4\n98814\t4\n98818\t4\n98823\t4\n98835\t4\n98841\t4\n98848\t4\n98850\t4\n98865\t4\n98872\t4\n98877\t4\n98883\t4\n98896\t4\n98902\t4\n98903\t4\n98909\t4\n98912\t4\n98926\t4\n98927\t4\n98934\t4\n98951\t4\n98955\t4\n98974\t4\n98979\t4\n98980\t4\n98984\t4\n98987\t4\n98988\t4\n98994\t4\n98995\t4\n98998\t4\n99000\t4\n1\t5\n2\t5\n6\t5\n10\t5\n25\t5\n30\t5\n32\t5\n38\t5\n40\t5\n56\t5\n65\t5\n66\t5\n68\t5\n70\t5\n82\t5\n83\t5\n93\t5\n101\t5\n103\t5\n110\t5\n112\t5\n113\t5\n122\t5\n130\t5\n146\t5\n157\t5\n158\t5\n160\t5\n161\t5\n169\t5\n170\t5\n191\t5\n193\t5\n200\t5\n219\t5\n222\t5\n227\t5\n229\t5\n231\t5\n249\t5\n265\t5\n270\t5\n281\t5\n290\t5\n291\t5\n295\t5\n314\t5\n319\t5\n322\t5\n324\t5\n336\t5\n366\t5\n377\t5\n391\t5\n393\t5\n401\t5\n403\t5\n404\t5\n408\t5\n412\t5\n415\t5\n417\t5\n422\t5\n433\t5\n445\t5\n446\t5\n454\t5\n457\t5\n465\t5\n486\t5\n488\t5\n489\t5\n492\t5\n495\t5\n498\t5\n500\t5\n509\t5\n512\t5\n534\t5\n535\t5\n536\t5\n546\t5\n549\t5\n563\t5\n564\t5\n575\t5\n577\t5\n578\t5\n592\t5\n593\t5\n600\t5\n602\t5\n622\t5\n627\t5\n628\t5\n632\t5\n633\t5\n638\t5\n641\t5\n644\t5\n647\t5\n648\t5\n656\t5\n657\t5\n661\t5\n663\t5\n667\t5\n669\t5\n692\t5\n702\t5\n704\t5\n720\t5\n721\t5\n728\t5\n730\t5\n735\t5\n745\t5\n748\t5\n759\t5\n764\t5\n776\t5\n780\t5\n782\t5\n789\t5\n794\t5\n800\t5\n802\t5\n815\t5\n829\t5\n840\t5\n856\t5\n857\t5\n863\t5\n867\t5\n874\t5\n876\t5\n882\t5\n883\t5\n884\t5\n886\t5\n890\t5\n892\t5\n897\t5\n904\t5\n905\t5\n913\t5\n927\t5\n930\t5\n934\t5\n937\t5\n939\t5\n945\t5\n948\t5\n954\t5\n955\t5\n981\t5\n982\t5\n984\t5\n986\t5\n988\t5\n993\t5\n995\t5\n1003\t5\n1005\t5\n1012\t5\n1015\t5\n1021\t5\n1042\t5\n1043\t5\n1045\t5\n1048\t5\n1064\t5\n1072\t5\n1076\t5\n1077\t5\n1079\t5\n1084\t5\n1093\t5\n1101\t5\n1108\t5\n1114\t5\n1119\t5\n1123\t5\n1124\t5\n1127\t5\n1129\t5\n1131\t5\n1135\t5\n1143\t5\n1155\t5\n1159\t5\n1160\t5\n1166\t5\n1171\t5\n1177\t5\n1180\t5\n1183\t5\n1187\t5\n1193\t5\n1195\t5\n1198\t5\n1201\t5\n1210\t5\n1213\t5\n1224\t5\n1230\t5\n1231\t5\n1237\t5\n1248\t5\n1250\t5\n1255\t5\n1270\t5\n1282\t5\n1292\t5\n1294\t5\n1298\t5\n1299\t5\n1300\t5\n1303\t5\n1304\t5\n1309\t5\n1316\t5\n1321\t5\n1335\t5\n1342\t5\n1346\t5\n1347\t5\n1352\t5\n1353\t5\n1358\t5\n1361\t5\n1365\t5\n1369\t5\n1370\t5\n1373\t5\n1384\t5\n1397\t5\n1398\t5\n1399\t5\n1403\t5\n1410\t5\n1416\t5\n1426\t5\n1429\t5\n1432\t5\n1435\t5\n1455\t5\n1458\t5\n1466\t5\n1470\t5\n1472\t5\n1488\t5\n1489\t5\n1490\t5\n1495\t5\n1507\t5\n1508\t5\n1509\t5\n1513\t5\n1524\t5\n1527\t5\n1530\t5\n1531\t5\n1540\t5\n1546\t5\n1552\t5\n1555\t5\n1562\t5\n1564\t5\n1565\t5\n1579\t5\n1599\t5\n1602\t5\n1604\t5\n1625\t5\n1627\t5\n1629\t5\n1631\t5\n1632\t5\n1637\t5\n1642\t5\n1645\t5\n1649\t5\n1654\t5\n1671\t5\n1672\t5\n1688\t5\n1693\t5\n1696\t5\n1697\t5\n1713\t5\n1715\t5\n1718\t5\n1720\t5\n1723\t5\n1726\t5\n1729\t5\n1744\t5\n1746\t5\n1750\t5\n1752\t5\n1759\t5\n1771\t5\n1780\t5\n1783\t5\n1784\t5\n1788\t5\n1802\t5\n1824\t5\n1826\t5\n1830\t5\n1835\t5\n1838\t5\n1841\t5\n1854\t5\n1867\t5\n1869\t5\n1870\t5\n1872\t5\n1877\t5\n1880\t5\n1885\t5\n1886\t5\n1896\t5\n1900\t5\n1904\t5\n1908\t5\n1933\t5\n1936\t5\n1943\t5\n1946\t5\n1954\t5\n1956\t5\n1957\t5\n1959\t5\n1966\t5\n1968\t5\n1970\t5\n1972\t5\n1975\t5\n1979\t5\n1981\t5\n1982\t5\n1984\t5\n1987\t5\n1991\t5\n1993\t5\n2001\t5\n2010\t5\n2014\t5\n2018\t5\n2024\t5\n2032\t5\n2036\t5\n2037\t5\n2046\t5\n2052\t5\n2054\t5\n2056\t5\n2058\t5\n2063\t5\n2065\t5\n2068\t5\n2070\t5\n2072\t5\n2078\t5\n2080\t5\n2081\t5\n2082\t5\n2089\t5\n2093\t5\n2100\t5\n2101\t5\n2105\t5\n2126\t5\n2139\t5\n2144\t5\n2150\t5\n2154\t5\n2157\t5\n2161\t5\n2173\t5\n2178\t5\n2185\t5\n2196\t5\n2201\t5\n2202\t5\n2209\t5\n2219\t5\n2220\t5\n2222\t5\n2234\t5\n2237\t5\n2240\t5\n2241\t5\n2245\t5\n2249\t5\n2255\t5\n2258\t5\n2259\t5\n2262\t5\n2269\t5\n2286\t5\n2291\t5\n2292\t5\n2302\t5\n2305\t5\n2306\t5\n2310\t5\n2318\t5\n2319\t5\n2322\t5\n2352\t5\n2354\t5\n2357\t5\n2365\t5\n2375\t5\n2387\t5\n2391\t5\n2397\t5\n2403\t5\n2423\t5\n2429\t5\n2442\t5\n2444\t5\n2452\t5\n2463\t5\n2479\t5\n2483\t5\n2485\t5\n2494\t5\n2495\t5\n2503\t5\n2522\t5\n2524\t5\n2526\t5\n2533\t5\n2560\t5\n2564\t5\n2569\t5\n2584\t5\n2590\t5\n2595\t5\n2616\t5\n2621\t5\n2639\t5\n2643\t5\n2646\t5\n2653\t5\n2654\t5\n2658\t5\n2668\t5\n2676\t5\n2688\t5\n2693\t5\n2706\t5\n2707\t5\n2708\t5\n2717\t5\n2723\t5\n2727\t5\n2732\t5\n2733\t5\n2747\t5\n2754\t5\n2755\t5\n2760\t5\n2765\t5\n2766\t5\n2767\t5\n2769\t5\n2773\t5\n2775\t5\n2780\t5\n2781\t5\n2789\t5\n2802\t5\n2814\t5\n2815\t5\n2818\t5\n2819\t5\n2828\t5\n2832\t5\n2833\t5\n2838\t5\n2854\t5\n2857\t5\n2860\t5\n2865\t5\n2866\t5\n2876\t5\n2884\t5\n2892\t5\n2898\t5\n2902\t5\n2905\t5\n2909\t5\n2913\t5\n2915\t5\n2916\t5\n2917\t5\n2928\t5\n2932\t5\n2936\t5\n2938\t5\n2939\t5\n2941\t5\n2944\t5\n2948\t5\n2952\t5\n2955\t5\n2956\t5\n2957\t5\n2967\t5\n2971\t5\n2974\t5\n2976\t5\n2993\t5\n2998\t5\n3001\t5\n3003\t5\n3005\t5\n3020\t5\n3021\t5\n3036\t5\n3039\t5\n3041\t5\n3042\t5\n3048\t5\n3051\t5\n3068\t5\n3081\t5\n3086\t5\n3088\t5\n3094\t5\n3107\t5\n3109\t5\n3147\t5\n3151\t5\n3156\t5\n3159\t5\n3160\t5\n3163\t5\n3169\t5\n3183\t5\n3189\t5\n3190\t5\n3198\t5\n3199\t5\n3200\t5\n3207\t5\n3209\t5\n3220\t5\n3223\t5\n3238\t5\n3244\t5\n3260\t5\n3262\t5\n3266\t5\n3267\t5\n3273\t5\n3295\t5\n3297\t5\n3303\t5\n3313\t5\n3314\t5\n3315\t5\n3321\t5\n3324\t5\n3326\t5\n3335\t5\n3336\t5\n3337\t5\n3356\t5\n3358\t5\n3364\t5\n3368\t5\n3372\t5\n3394\t5\n3404\t5\n3410\t5\n3425\t5\n3427\t5\n3443\t5\n3444\t5\n3456\t5\n3458\t5\n3461\t5\n3493\t5\n3497\t5\n3499\t5\n3502\t5\n3506\t5\n3516\t5\n3518\t5\n3526\t5\n3532\t5\n3543\t5\n3545\t5\n3559\t5\n3560\t5\n3561\t5\n3568\t5\n3571\t5\n3572\t5\n3575\t5\n3576\t5\n3595\t5\n3599\t5\n3605\t5\n3617\t5\n3620\t5\n3623\t5\n3624\t5\n3627\t5\n3636\t5\n3637\t5\n3639\t5\n3646\t5\n3664\t5\n3671\t5\n3673\t5\n3687\t5\n3689\t5\n3691\t5\n3692\t5\n3695\t5\n3698\t5\n3716\t5\n3724\t5\n3737\t5\n3757\t5\n3761\t5\n3765\t5\n3775\t5\n3777\t5\n3778\t5\n3779\t5\n3781\t5\n3782\t5\n3786\t5\n3789\t5\n3799\t5\n3801\t5\n3808\t5\n3810\t5\n3815\t5\n3820\t5\n3844\t5\n3846\t5\n3865\t5\n3869\t5\n3873\t5\n3881\t5\n3883\t5\n3887\t5\n3890\t5\n3895\t5\n3898\t5\n3899\t5\n3914\t5\n3915\t5\n3921\t5\n3927\t5\n3928\t5\n3929\t5\n3933\t5\n3935\t5\n3938\t5\n3947\t5\n3949\t5\n3962\t5\n3971\t5\n3983\t5\n3988\t5\n3992\t5\n3999\t5\n4002\t5\n4003\t5\n4008\t5\n4011\t5\n4012\t5\n4025\t5\n4028\t5\n4037\t5\n4039\t5\n4041\t5\n4043\t5\n4052\t5\n4054\t5\n4071\t5\n4076\t5\n4080\t5\n4082\t5\n4086\t5\n4092\t5\n4096\t5\n4098\t5\n4116\t5\n4126\t5\n4138\t5\n4140\t5\n4141\t5\n4142\t5\n4144\t5\n4157\t5\n4158\t5\n4163\t5\n4175\t5\n4183\t5\n4199\t5\n4208\t5\n4211\t5\n4218\t5\n4219\t5\n4222\t5\n4225\t5\n4228\t5\n4234\t5\n4252\t5\n4258\t5\n4275\t5\n4277\t5\n4278\t5\n4283\t5\n4296\t5\n4302\t5\n4320\t5\n4325\t5\n4327\t5\n4335\t5\n4339\t5\n4344\t5\n4345\t5\n4346\t5\n4364\t5\n4369\t5\n4379\t5\n4380\t5\n4388\t5\n4399\t5\n4406\t5\n4411\t5\n4418\t5\n4422\t5\n4434\t5\n4440\t5\n4449\t5\n4453\t5\n4454\t5\n4473\t5\n4489\t5\n4507\t5\n4514\t5\n4522\t5\n4526\t5\n4542\t5\n4545\t5\n4550\t5\n4559\t5\n4560\t5\n4571\t5\n4579\t5\n4580\t5\n4583\t5\n4588\t5\n4589\t5\n4599\t5\n4614\t5\n4627\t5\n4630\t5\n4637\t5\n4643\t5\n4644\t5\n4652\t5\n4666\t5\n4668\t5\n4671\t5\n4680\t5\n4690\t5\n4712\t5\n4717\t5\n4723\t5\n4741\t5\n4743\t5\n4745\t5\n4748\t5\n4755\t5\n4758\t5\n4776\t5\n4781\t5\n4808\t5\n4812\t5\n4820\t5\n4824\t5\n4830\t5\n4834\t5\n4849\t5\n4853\t5\n4856\t5\n4868\t5\n4870\t5\n4880\t5\n4881\t5\n4891\t5\n4905\t5\n4907\t5\n4912\t5\n4913\t5\n4918\t5\n4920\t5\n4924\t5\n4936\t5\n4940\t5\n4946\t5\n4953\t5\n4954\t5\n4960\t5\n4973\t5\n4974\t5\n4977\t5\n4995\t5\n4996\t5\n4998\t5\n5006\t5\n5010\t5\n5027\t5\n5029\t5\n5037\t5\n5040\t5\n5046\t5\n5051\t5\n5054\t5\n5055\t5\n5059\t5\n5062\t5\n5066\t5\n5077\t5\n5083\t5\n5086\t5\n5087\t5\n5097\t5\n5112\t5\n5122\t5\n5128\t5\n5130\t5\n5134\t5\n5148\t5\n5150\t5\n5159\t5\n5165\t5\n5166\t5\n5169\t5\n5171\t5\n5172\t5\n5174\t5\n5176\t5\n5177\t5\n5184\t5\n5185\t5\n5189\t5\n5195\t5\n5196\t5\n5203\t5\n5207\t5\n5208\t5\n5210\t5\n5212\t5\n5213\t5\n5215\t5\n5216\t5\n5231\t5\n5235\t5\n5237\t5\n5256\t5\n5261\t5\n5280\t5\n5281\t5\n5285\t5\n5288\t5\n5292\t5\n5304\t5\n5307\t5\n5308\t5\n5316\t5\n5337\t5\n5351\t5\n5355\t5\n5363\t5\n5367\t5\n5377\t5\n5388\t5\n5389\t5\n5392\t5\n5399\t5\n5400\t5\n5416\t5\n5434\t5\n5436\t5\n5440\t5\n5446\t5\n5455\t5\n5462\t5\n5463\t5\n5469\t5\n5473\t5\n5483\t5\n5490\t5\n5492\t5\n5498\t5\n5508\t5\n5509\t5\n5510\t5\n5522\t5\n5526\t5\n5533\t5\n5537\t5\n5538\t5\n5542\t5\n5557\t5\n5558\t5\n5559\t5\n5561\t5\n5562\t5\n5569\t5\n5570\t5\n5574\t5\n5575\t5\n5583\t5\n5586\t5\n5587\t5\n5595\t5\n5618\t5\n5622\t5\n5626\t5\n5628\t5\n5629\t5\n5630\t5\n5632\t5\n5652\t5\n5654\t5\n5656\t5\n5664\t5\n5665\t5\n5680\t5\n5682\t5\n5685\t5\n5699\t5\n5700\t5\n5707\t5\n5709\t5\n5716\t5\n5717\t5\n5731\t5\n5735\t5\n5737\t5\n5738\t5\n5740\t5\n5742\t5\n5747\t5\n5750\t5\n5760\t5\n5767\t5\n5769\t5\n5779\t5\n5780\t5\n5783\t5\n5790\t5\n5798\t5\n5806\t5\n5823\t5\n5827\t5\n5831\t5\n5848\t5\n5854\t5\n5855\t5\n5859\t5\n5862\t5\n5864\t5\n5866\t5\n5869\t5\n5872\t5\n5873\t5\n5874\t5\n5878\t5\n5879\t5\n5888\t5\n5893\t5\n5897\t5\n5904\t5\n5905\t5\n5911\t5\n5913\t5\n5920\t5\n5921\t5\n5937\t5\n5945\t5\n5954\t5\n5960\t5\n5967\t5\n5970\t5\n5974\t5\n5982\t5\n5990\t5\n5991\t5\n6001\t5\n6014\t5\n6015\t5\n6024\t5\n6029\t5\n6031\t5\n6033\t5\n6038\t5\n6040\t5\n6043\t5\n6048\t5\n6049\t5\n6051\t5\n6056\t5\n6059\t5\n6064\t5\n6075\t5\n6078\t5\n6082\t5\n6094\t5\n6097\t5\n6103\t5\n6106\t5\n6110\t5\n6116\t5\n6117\t5\n6122\t5\n6123\t5\n6133\t5\n6140\t5\n6164\t5\n6173\t5\n6180\t5\n6181\t5\n6185\t5\n6187\t5\n6189\t5\n6199\t5\n6209\t5\n6232\t5\n6233\t5\n6235\t5\n6236\t5\n6248\t5\n6249\t5\n6250\t5\n6252\t5\n6261\t5\n6262\t5\n6267\t5\n6286\t5\n6288\t5\n6296\t5\n6297\t5\n6299\t5\n6305\t5\n6354\t5\n6373\t5\n6374\t5\n6381\t5\n6385\t5\n6386\t5\n6404\t5\n6415\t5\n6426\t5\n6435\t5\n6451\t5\n6461\t5\n6467\t5\n6473\t5\n6474\t5\n6477\t5\n6485\t5\n6488\t5\n6489\t5\n6492\t5\n6504\t5\n6505\t5\n6508\t5\n6518\t5\n6520\t5\n6523\t5\n6525\t5\n6530\t5\n6590\t5\n6591\t5\n6596\t5\n6597\t5\n6611\t5\n6616\t5\n6617\t5\n6619\t5\n6622\t5\n6635\t5\n6639\t5\n6643\t5\n6645\t5\n6652\t5\n6653\t5\n6657\t5\n6662\t5\n6672\t5\n6679\t5\n6683\t5\n6685\t5\n6690\t5\n6692\t5\n6699\t5\n6710\t5\n6712\t5\n6723\t5\n6724\t5\n6728\t5\n6747\t5\n6753\t5\n6759\t5\n6761\t5\n6779\t5\n6797\t5\n6799\t5\n6801\t5\n6802\t5\n6803\t5\n6810\t5\n6811\t5\n6819\t5\n6821\t5\n6830\t5\n6835\t5\n6837\t5\n6845\t5\n6846\t5\n6851\t5\n6856\t5\n6862\t5\n6865\t5\n6873\t5\n6879\t5\n6880\t5\n6881\t5\n6892\t5\n6897\t5\n6904\t5\n6905\t5\n6906\t5\n6912\t5\n6914\t5\n6921\t5\n6931\t5\n6957\t5\n6968\t5\n6969\t5\n6970\t5\n6973\t5\n6974\t5\n6986\t5\n6995\t5\n6997\t5\n7000\t5\n7010\t5\n7012\t5\n7018\t5\n7027\t5\n7029\t5\n7030\t5\n7047\t5\n7052\t5\n7064\t5\n7084\t5\n7090\t5\n7101\t5\n7104\t5\n7105\t5\n7106\t5\n7133\t5\n7134\t5\n7142\t5\n7143\t5\n7149\t5\n7151\t5\n7162\t5\n7166\t5\n7168\t5\n7169\t5\n7172\t5\n7173\t5\n7175\t5\n7180\t5\n7187\t5\n7188\t5\n7190\t5\n7191\t5\n7192\t5\n7197\t5\n7216\t5\n7222\t5\n7224\t5\n7225\t5\n7231\t5\n7245\t5\n7249\t5\n7260\t5\n7261\t5\n7266\t5\n7267\t5\n7274\t5\n7276\t5\n7286\t5\n7288\t5\n7302\t5\n7303\t5\n7307\t5\n7312\t5\n7320\t5\n7326\t5\n7328\t5\n7332\t5\n7334\t5\n7335\t5\n7359\t5\n7362\t5\n7364\t5\n7365\t5\n7368\t5\n7381\t5\n7383\t5\n7393\t5\n7395\t5\n7411\t5\n7423\t5\n7426\t5\n7451\t5\n7454\t5\n7455\t5\n7477\t5\n7481\t5\n7485\t5\n7490\t5\n7497\t5\n7510\t5\n7511\t5\n7512\t5\n7515\t5\n7516\t5\n7521\t5\n7522\t5\n7526\t5\n7534\t5\n7535\t5\n7536\t5\n7543\t5\n7551\t5\n7552\t5\n7561\t5\n7569\t5\n7570\t5\n7573\t5\n7575\t5\n7583\t5\n7604\t5\n7613\t5\n7619\t5\n7622\t5\n7625\t5\n7627\t5\n7630\t5\n7641\t5\n7656\t5\n7661\t5\n7667\t5\n7669\t5\n7670\t5\n7676\t5\n7682\t5\n7684\t5\n7685\t5\n7693\t5\n7702\t5\n7709\t5\n7712\t5\n7715\t5\n7725\t5\n7744\t5\n7747\t5\n7756\t5\n7766\t5\n7769\t5\n7772\t5\n7774\t5\n7777\t5\n7780\t5\n7781\t5\n7786\t5\n7793\t5\n7806\t5\n7809\t5\n7817\t5\n7823\t5\n7830\t5\n7831\t5\n7834\t5\n7835\t5\n7840\t5\n7847\t5\n7857\t5\n7858\t5\n7859\t5\n7868\t5\n7874\t5\n7879\t5\n7880\t5\n7886\t5\n7890\t5\n7891\t5\n7901\t5\n7904\t5\n7908\t5\n7915\t5\n7920\t5\n7929\t5\n7934\t5\n7951\t5\n7955\t5\n7957\t5\n7987\t5\n7997\t5\n8002\t5\n8003\t5\n8005\t5\n8012\t5\n8027\t5\n8043\t5\n8045\t5\n8049\t5\n8053\t5\n8085\t5\n8091\t5\n8095\t5\n8103\t5\n8104\t5\n8105\t5\n8106\t5\n8113\t5\n8118\t5\n8120\t5\n8126\t5\n8127\t5\n8128\t5\n8133\t5\n8142\t5\n8145\t5\n8146\t5\n8150\t5\n8151\t5\n8152\t5\n8159\t5\n8161\t5\n8163\t5\n8170\t5\n8180\t5\n8187\t5\n8191\t5\n8205\t5\n8211\t5\n8216\t5\n8222\t5\n8224\t5\n8231\t5\n8232\t5\n8233\t5\n8236\t5\n8247\t5\n8250\t5\n8255\t5\n8264\t5\n8276\t5\n8283\t5\n8303\t5\n8309\t5\n8316\t5\n8317\t5\n8322\t5\n8323\t5\n8325\t5\n8330\t5\n8331\t5\n8335\t5\n8349\t5\n8367\t5\n8369\t5\n8370\t5\n8376\t5\n8386\t5\n8391\t5\n8393\t5\n8400\t5\n8401\t5\n8404\t5\n8405\t5\n8418\t5\n8419\t5\n8424\t5\n8425\t5\n8426\t5\n8428\t5\n8430\t5\n8435\t5\n8449\t5\n8457\t5\n8463\t5\n8466\t5\n8482\t5\n8486\t5\n8491\t5\n8495\t5\n8499\t5\n8504\t5\n8510\t5\n8516\t5\n8521\t5\n8524\t5\n8525\t5\n8526\t5\n8534\t5\n8542\t5\n8547\t5\n8549\t5\n8551\t5\n8554\t5\n8555\t5\n8556\t5\n8559\t5\n8567\t5\n8582\t5\n8586\t5\n8593\t5\n8595\t5\n8596\t5\n8604\t5\n8610\t5\n8616\t5\n8620\t5\n8628\t5\n8637\t5\n8644\t5\n8648\t5\n8651\t5\n8653\t5\n8661\t5\n8665\t5\n8667\t5\n8668\t5\n8676\t5\n8677\t5\n8679\t5\n8692\t5\n8700\t5\n8708\t5\n8712\t5\n8713\t5\n8717\t5\n8724\t5\n8728\t5\n8736\t5\n8737\t5\n8742\t5\n8743\t5\n8751\t5\n8753\t5\n8759\t5\n8771\t5\n8793\t5\n8796\t5\n8799\t5\n8801\t5\n8810\t5\n8815\t5\n8824\t5\n8834\t5\n8851\t5\n8857\t5\n8891\t5\n8892\t5\n8897\t5\n8900\t5\n8903\t5\n8911\t5\n8915\t5\n8918\t5\n8931\t5\n8932\t5\n8935\t5\n8941\t5\n8950\t5\n8952\t5\n8961\t5\n8965\t5\n8966\t5\n8973\t5\n8976\t5\n8979\t5\n8985\t5\n8986\t5\n8988\t5\n9015\t5\n9016\t5\n9024\t5\n9031\t5\n9032\t5\n9049\t5\n9058\t5\n9061\t5\n9073\t5\n9084\t5\n9088\t5\n9089\t5\n9092\t5\n9102\t5\n9110\t5\n9117\t5\n9137\t5\n9143\t5\n9154\t5\n9155\t5\n9168\t5\n9169\t5\n9183\t5\n9184\t5\n9185\t5\n9186\t5\n9188\t5\n9198\t5\n9199\t5\n9204\t5\n9208\t5\n9214\t5\n9219\t5\n9221\t5\n9226\t5\n9246\t5\n9265\t5\n9290\t5\n9298\t5\n9299\t5\n9303\t5\n9305\t5\n9306\t5\n9307\t5\n9319\t5\n9320\t5\n9327\t5\n9337\t5\n9344\t5\n9351\t5\n9352\t5\n9360\t5\n9376\t5\n9377\t5\n9379\t5\n9381\t5\n9382\t5\n9394\t5\n9397\t5\n9400\t5\n9417\t5\n9419\t5\n9427\t5\n9433\t5\n9435\t5\n9436\t5\n9443\t5\n9448\t5\n9455\t5\n9461\t5\n9465\t5\n9467\t5\n9468\t5\n9485\t5\n9488\t5\n9508\t5\n9510\t5\n9518\t5\n9520\t5\n9526\t5\n9527\t5\n9535\t5\n9537\t5\n9543\t5\n9551\t5\n9554\t5\n9569\t5\n9578\t5\n9590\t5\n9627\t5\n9631\t5\n9632\t5\n9633\t5\n9634\t5\n9636\t5\n9637\t5\n9663\t5\n9665\t5\n9666\t5\n9667\t5\n9676\t5\n9678\t5\n9683\t5\n9694\t5\n9696\t5\n9701\t5\n9710\t5\n9721\t5\n9725\t5\n9726\t5\n9728\t5\n9745\t5\n9748\t5\n9755\t5\n9759\t5\n9764\t5\n9783\t5\n9793\t5\n9805\t5\n9809\t5\n9810\t5\n9815\t5\n9818\t5\n9824\t5\n9828\t5\n9831\t5\n9835\t5\n9839\t5\n9842\t5\n9844\t5\n9845\t5\n9867\t5\n9876\t5\n9883\t5\n9884\t5\n9889\t5\n9892\t5\n9893\t5\n9914\t5\n9917\t5\n9925\t5\n9933\t5\n9940\t5\n9941\t5\n9944\t5\n9946\t5\n9950\t5\n9963\t5\n9967\t5\n9969\t5\n9973\t5\n9976\t5\n9988\t5\n9989\t5\n10006\t5\n10008\t5\n10023\t5\n10032\t5\n10044\t5\n10046\t5\n10054\t5\n10069\t5\n10075\t5\n10082\t5\n10086\t5\n10095\t5\n10097\t5\n10105\t5\n10106\t5\n10114\t5\n10126\t5\n10130\t5\n10140\t5\n10141\t5\n10146\t5\n10151\t5\n10155\t5\n10161\t5\n10167\t5\n10174\t5\n10176\t5\n10183\t5\n10189\t5\n10190\t5\n10206\t5\n10207\t5\n10211\t5\n10215\t5\n10220\t5\n10221\t5\n10234\t5\n10243\t5\n10254\t5\n10276\t5\n10282\t5\n10290\t5\n10291\t5\n10292\t5\n10300\t5\n10301\t5\n10304\t5\n10309\t5\n10310\t5\n10312\t5\n10316\t5\n10319\t5\n10329\t5\n10331\t5\n10337\t5\n10342\t5\n10360\t5\n10361\t5\n10362\t5\n10363\t5\n10387\t5\n10389\t5\n10398\t5\n10402\t5\n10404\t5\n10407\t5\n10415\t5\n10432\t5\n10435\t5\n10441\t5\n10449\t5\n10456\t5\n10459\t5\n10460\t5\n10461\t5\n10469\t5\n10471\t5\n10472\t5\n10474\t5\n10476\t5\n10482\t5\n10486\t5\n10488\t5\n10495\t5\n10498\t5\n10502\t5\n10505\t5\n10509\t5\n10512\t5\n10514\t5\n10539\t5\n10540\t5\n10541\t5\n10543\t5\n10556\t5\n10560\t5\n10561\t5\n10564\t5\n10589\t5\n10593\t5\n10599\t5\n10609\t5\n10611\t5\n10621\t5\n10633\t5\n10636\t5\n10643\t5\n10644\t5\n10655\t5\n10656\t5\n10662\t5\n10667\t5\n10675\t5\n10678\t5\n10680\t5\n10685\t5\n10690\t5\n10691\t5\n10696\t5\n10698\t5\n10713\t5\n10714\t5\n10717\t5\n10723\t5\n10727\t5\n10741\t5\n10755\t5\n10758\t5\n10759\t5\n10776\t5\n10818\t5\n10822\t5\n10845\t5\n10852\t5\n10855\t5\n10865\t5\n10882\t5\n10885\t5\n10891\t5\n10892\t5\n10894\t5\n10896\t5\n10898\t5\n10903\t5\n10916\t5\n10922\t5\n10926\t5\n10933\t5\n10938\t5\n10941\t5\n10953\t5\n10966\t5\n10967\t5\n10972\t5\n10973\t5\n10978\t5\n10987\t5\n11009\t5\n11013\t5\n11017\t5\n11022\t5\n11024\t5\n11030\t5\n11036\t5\n11052\t5\n11054\t5\n11055\t5\n11069\t5\n11070\t5\n11072\t5\n11076\t5\n11083\t5\n11084\t5\n11090\t5\n11094\t5\n11099\t5\n11104\t5\n11105\t5\n11125\t5\n11146\t5\n11149\t5\n11156\t5\n11166\t5\n11170\t5\n11177\t5\n11179\t5\n11180\t5\n11190\t5\n11191\t5\n11196\t5\n11208\t5\n11209\t5\n11210\t5\n11213\t5\n11217\t5\n11224\t5\n11226\t5\n11232\t5\n11235\t5\n11237\t5\n11239\t5\n11248\t5\n11256\t5\n11261\t5\n11271\t5\n11278\t5\n11280\t5\n11281\t5\n11286\t5\n11294\t5\n11300\t5\n11304\t5\n11305\t5\n11308\t5\n11309\t5\n11313\t5\n11324\t5\n11327\t5\n11342\t5\n11349\t5\n11350\t5\n11353\t5\n11359\t5\n11360\t5\n11367\t5\n11368\t5\n11375\t5\n11376\t5\n11379\t5\n11387\t5\n11391\t5\n11392\t5\n11396\t5\n11412\t5\n11413\t5\n11418\t5\n11421\t5\n11433\t5\n11440\t5\n11456\t5\n11467\t5\n11472\t5\n11475\t5\n11479\t5\n11480\t5\n11485\t5\n11497\t5\n11510\t5\n11511\t5\n11515\t5\n11517\t5\n11518\t5\n11524\t5\n11532\t5\n11541\t5\n11547\t5\n11548\t5\n11552\t5\n11553\t5\n11554\t5\n11571\t5\n11573\t5\n11587\t5\n11590\t5\n11596\t5\n11600\t5\n11608\t5\n11619\t5\n11622\t5\n11623\t5\n11624\t5\n11632\t5\n11637\t5\n11638\t5\n11641\t5\n11645\t5\n11648\t5\n11666\t5\n11669\t5\n11672\t5\n11680\t5\n11682\t5\n11683\t5\n11690\t5\n11693\t5\n11700\t5\n11709\t5\n11714\t5\n11718\t5\n11721\t5\n11742\t5\n11767\t5\n11771\t5\n11773\t5\n11778\t5\n11779\t5\n11782\t5\n11786\t5\n11791\t5\n11795\t5\n11801\t5\n11802\t5\n11805\t5\n11806\t5\n11812\t5\n11829\t5\n11841\t5\n11843\t5\n11853\t5\n11854\t5\n11874\t5\n11875\t5\n11887\t5\n11899\t5\n11914\t5\n11918\t5\n11921\t5\n11929\t5\n11931\t5\n11937\t5\n11938\t5\n11947\t5\n11951\t5\n11956\t5\n11961\t5\n11966\t5\n11971\t5\n11974\t5\n11991\t5\n11996\t5\n11999\t5\n12002\t5\n12016\t5\n12034\t5\n12048\t5\n12049\t5\n12054\t5\n12055\t5\n12074\t5\n12075\t5\n12077\t5\n12080\t5\n12082\t5\n12087\t5\n12093\t5\n12094\t5\n12099\t5\n12100\t5\n12101\t5\n12107\t5\n12109\t5\n12125\t5\n12135\t5\n12143\t5\n12145\t5\n12161\t5\n12167\t5\n12175\t5\n12189\t5\n12190\t5\n12197\t5\n12198\t5\n12206\t5\n12212\t5\n12213\t5\n12214\t5\n12222\t5\n12227\t5\n12229\t5\n12232\t5\n12241\t5\n12246\t5\n12253\t5\n12258\t5\n12265\t5\n12267\t5\n12286\t5\n12294\t5\n12296\t5\n12301\t5\n12317\t5\n12324\t5\n12326\t5\n12329\t5\n12350\t5\n12352\t5\n12366\t5\n12371\t5\n12379\t5\n12380\t5\n12392\t5\n12394\t5\n12402\t5\n12419\t5\n12422\t5\n12428\t5\n12485\t5\n12486\t5\n12487\t5\n12489\t5\n12492\t5\n12493\t5\n12497\t5\n12500\t5\n12503\t5\n12506\t5\n12507\t5\n12514\t5\n12516\t5\n12519\t5\n12521\t5\n12522\t5\n12535\t5\n12542\t5\n12558\t5\n12560\t5\n12564\t5\n12566\t5\n12576\t5\n12585\t5\n12605\t5\n12620\t5\n12621\t5\n12623\t5\n12624\t5\n12629\t5\n12631\t5\n12632\t5\n12640\t5\n12649\t5\n12650\t5\n12660\t5\n12666\t5\n12668\t5\n12673\t5\n12682\t5\n12692\t5\n12707\t5\n12711\t5\n12717\t5\n12731\t5\n12738\t5\n12743\t5\n12744\t5\n12745\t5\n12749\t5\n12753\t5\n12754\t5\n12757\t5\n12766\t5\n12774\t5\n12787\t5\n12788\t5\n12807\t5\n12810\t5\n12819\t5\n12828\t5\n12835\t5\n12836\t5\n12839\t5\n12848\t5\n12866\t5\n12876\t5\n12881\t5\n12891\t5\n12895\t5\n12912\t5\n12930\t5\n12937\t5\n12941\t5\n12950\t5\n12958\t5\n12972\t5\n12979\t5\n12982\t5\n12983\t5\n12994\t5\n12997\t5\n12998\t5\n13000\t5\n13005\t5\n13011\t5\n13015\t5\n13017\t5\n13018\t5\n13022\t5\n13027\t5\n13029\t5\n13033\t5\n13034\t5\n13040\t5\n13051\t5\n13052\t5\n13057\t5\n13060\t5\n13066\t5\n13076\t5\n13079\t5\n13080\t5\n13082\t5\n13085\t5\n13086\t5\n13094\t5\n13100\t5\n13103\t5\n13108\t5\n13113\t5\n13126\t5\n13135\t5\n13137\t5\n13141\t5\n13143\t5\n13145\t5\n13156\t5\n13158\t5\n13159\t5\n13163\t5\n13167\t5\n13169\t5\n13175\t5\n13179\t5\n13180\t5\n13183\t5\n13190\t5\n13193\t5\n13203\t5\n13231\t5\n13248\t5\n13261\t5\n13265\t5\n13268\t5\n13276\t5\n13277\t5\n13280\t5\n13281\t5\n13288\t5\n13292\t5\n13293\t5\n13297\t5\n13299\t5\n13309\t5\n13314\t5\n13318\t5\n13326\t5\n13330\t5\n13333\t5\n13335\t5\n13336\t5\n13360\t5\n13369\t5\n13370\t5\n13374\t5\n13375\t5\n13384\t5\n13386\t5\n13392\t5\n13395\t5\n13402\t5\n13414\t5\n13418\t5\n13419\t5\n13422\t5\n13427\t5\n13433\t5\n13442\t5\n13444\t5\n13446\t5\n13451\t5\n13464\t5\n13468\t5\n13469\t5\n13488\t5\n13501\t5\n13510\t5\n13519\t5\n13521\t5\n13524\t5\n13541\t5\n13542\t5\n13545\t5\n13546\t5\n13550\t5\n13551\t5\n13552\t5\n13570\t5\n13571\t5\n13572\t5\n13574\t5\n13575\t5\n13581\t5\n13582\t5\n13583\t5\n13586\t5\n13588\t5\n13598\t5\n13600\t5\n13604\t5\n13619\t5\n13622\t5\n13633\t5\n13634\t5\n13642\t5\n13645\t5\n13647\t5\n13650\t5\n13651\t5\n13654\t5\n13656\t5\n13660\t5\n13666\t5\n13682\t5\n13695\t5\n13697\t5\n13698\t5\n13705\t5\n13707\t5\n13718\t5\n13723\t5\n13728\t5\n13736\t5\n13739\t5\n13751\t5\n13758\t5\n13772\t5\n13779\t5\n13782\t5\n13790\t5\n13801\t5\n13804\t5\n13805\t5\n13806\t5\n13811\t5\n13818\t5\n13820\t5\n13824\t5\n13831\t5\n13841\t5\n13843\t5\n13845\t5\n13846\t5\n13862\t5\n13872\t5\n13876\t5\n13884\t5\n13894\t5\n13902\t5\n13904\t5\n13922\t5\n13933\t5\n13939\t5\n13945\t5\n13951\t5\n13962\t5\n13965\t5\n13974\t5\n13988\t5\n13991\t5\n13994\t5\n14011\t5\n14014\t5\n14019\t5\n14030\t5\n14031\t5\n14036\t5\n14041\t5\n14042\t5\n14049\t5\n14051\t5\n14057\t5\n14059\t5\n14065\t5\n14074\t5\n14077\t5\n14088\t5\n14090\t5\n14091\t5\n14095\t5\n14103\t5\n14106\t5\n14108\t5\n14114\t5\n14118\t5\n14122\t5\n14130\t5\n14132\t5\n14133\t5\n14142\t5\n14145\t5\n14147\t5\n14157\t5\n14161\t5\n14165\t5\n14168\t5\n14172\t5\n14182\t5\n14188\t5\n14195\t5\n14196\t5\n14209\t5\n14211\t5\n14222\t5\n14224\t5\n14226\t5\n14228\t5\n14231\t5\n14232\t5\n14240\t5\n14241\t5\n14242\t5\n14248\t5\n14263\t5\n14268\t5\n14269\t5\n14271\t5\n14273\t5\n14274\t5\n14275\t5\n14276\t5\n14292\t5\n14295\t5\n14302\t5\n14309\t5\n14313\t5\n14315\t5\n14320\t5\n14321\t5\n14323\t5\n14328\t5\n14330\t5\n14355\t5\n14356\t5\n14367\t5\n14368\t5\n14373\t5\n14379\t5\n14385\t5\n14391\t5\n14392\t5\n14394\t5\n14400\t5\n14405\t5\n14408\t5\n14419\t5\n14420\t5\n14425\t5\n14426\t5\n14441\t5\n14444\t5\n14455\t5\n14460\t5\n14467\t5\n14479\t5\n14481\t5\n14491\t5\n14493\t5\n14498\t5\n14500\t5\n14508\t5\n14520\t5\n14522\t5\n14525\t5\n14526\t5\n14527\t5\n14533\t5\n14544\t5\n14550\t5\n14551\t5\n14557\t5\n14565\t5\n14571\t5\n14574\t5\n14578\t5\n14583\t5\n14584\t5\n14585\t5\n14589\t5\n14596\t5\n14603\t5\n14610\t5\n14617\t5\n14630\t5\n14632\t5\n14635\t5\n14642\t5\n14643\t5\n14649\t5\n14650\t5\n14651\t5\n14662\t5\n14668\t5\n14676\t5\n14686\t5\n14697\t5\n14712\t5\n14715\t5\n14722\t5\n14734\t5\n14743\t5\n14744\t5\n14745\t5\n14748\t5\n14750\t5\n14756\t5\n14757\t5\n14760\t5\n14764\t5\n14770\t5\n14779\t5\n14787\t5\n14807\t5\n14810\t5\n14813\t5\n14820\t5\n14824\t5\n14826\t5\n14830\t5\n14847\t5\n14855\t5\n14861\t5\n14862\t5\n14872\t5\n14873\t5\n14880\t5\n14887\t5\n14889\t5\n14893\t5\n14898\t5\n14902\t5\n14911\t5\n14912\t5\n14914\t5\n14921\t5\n14932\t5\n14935\t5\n14950\t5\n14951\t5\n14956\t5\n14967\t5\n14971\t5\n14977\t5\n14983\t5\n14997\t5\n14999\t5\n15007\t5\n15008\t5\n15014\t5\n15017\t5\n15018\t5\n15019\t5\n15025\t5\n15039\t5\n15044\t5\n15047\t5\n15049\t5\n15053\t5\n15055\t5\n15057\t5\n15059\t5\n15060\t5\n15062\t5\n15066\t5\n15072\t5\n15080\t5\n15091\t5\n15106\t5\n15108\t5\n15120\t5\n15122\t5\n15123\t5\n15129\t5\n15134\t5\n15135\t5\n15137\t5\n15146\t5\n15152\t5\n15156\t5\n15162\t5\n15179\t5\n15187\t5\n15188\t5\n15194\t5\n15195\t5\n15199\t5\n15222\t5\n15223\t5\n15243\t5\n15279\t5\n15286\t5\n15288\t5\n15301\t5\n15306\t5\n15307\t5\n15308\t5\n15320\t5\n15323\t5\n15326\t5\n15332\t5\n15336\t5\n15358\t5\n15359\t5\n15375\t5\n15402\t5\n15408\t5\n15411\t5\n15421\t5\n15424\t5\n15431\t5\n15434\t5\n15438\t5\n15446\t5\n15458\t5\n15482\t5\n15498\t5\n15506\t5\n15507\t5\n15510\t5\n15512\t5\n15522\t5\n15526\t5\n15538\t5\n15546\t5\n15555\t5\n15571\t5\n15572\t5\n15575\t5\n15577\t5\n15589\t5\n15597\t5\n15598\t5\n15601\t5\n15603\t5\n15622\t5\n15624\t5\n15630\t5\n15637\t5\n15638\t5\n15645\t5\n15651\t5\n15658\t5\n15661\t5\n15666\t5\n15668\t5\n15669\t5\n15673\t5\n15678\t5\n15683\t5\n15685\t5\n15690\t5\n15702\t5\n15712\t5\n15722\t5\n15723\t5\n15732\t5\n15736\t5\n15752\t5\n15753\t5\n15763\t5\n15787\t5\n15790\t5\n15796\t5\n15803\t5\n15812\t5\n15813\t5\n15818\t5\n15821\t5\n15835\t5\n15836\t5\n15843\t5\n15844\t5\n15846\t5\n15856\t5\n15857\t5\n15876\t5\n15894\t5\n15897\t5\n15900\t5\n15902\t5\n15925\t5\n15928\t5\n15940\t5\n15946\t5\n15952\t5\n15957\t5\n15958\t5\n15959\t5\n15966\t5\n15984\t5\n15989\t5\n15997\t5\n16000\t5\n16003\t5\n16019\t5\n16028\t5\n16029\t5\n16031\t5\n16051\t5\n16057\t5\n16060\t5\n16064\t5\n16070\t5\n16076\t5\n16082\t5\n16091\t5\n16101\t5\n16107\t5\n16111\t5\n16117\t5\n16120\t5\n16126\t5\n16141\t5\n16142\t5\n16148\t5\n16164\t5\n16166\t5\n16168\t5\n16171\t5\n16172\t5\n16178\t5\n16183\t5\n16188\t5\n16193\t5\n16195\t5\n16198\t5\n16202\t5\n16204\t5\n16215\t5\n16220\t5\n16227\t5\n16228\t5\n16235\t5\n16240\t5\n16242\t5\n16251\t5\n16260\t5\n16265\t5\n16266\t5\n16268\t5\n16270\t5\n16271\t5\n16272\t5\n16276\t5\n16279\t5\n16289\t5\n16300\t5\n16303\t5\n16304\t5\n16315\t5\n16323\t5\n16324\t5\n16327\t5\n16334\t5\n16338\t5\n16341\t5\n16347\t5\n16348\t5\n16352\t5\n16361\t5\n16368\t5\n16374\t5\n16377\t5\n16379\t5\n16382\t5\n16387\t5\n16395\t5\n16397\t5\n16402\t5\n16403\t5\n16406\t5\n16419\t5\n16433\t5\n16438\t5\n16447\t5\n16451\t5\n16467\t5\n16482\t5\n16483\t5\n16485\t5\n16492\t5\n16498\t5\n16499\t5\n16511\t5\n16520\t5\n16530\t5\n16532\t5\n16545\t5\n16547\t5\n16548\t5\n16549\t5\n16554\t5\n16568\t5\n16570\t5\n16571\t5\n16572\t5\n16574\t5\n16577\t5\n16581\t5\n16583\t5\n16584\t5\n16586\t5\n16587\t5\n16593\t5\n16594\t5\n16617\t5\n16620\t5\n16623\t5\n16625\t5\n16627\t5\n16633\t5\n16643\t5\n16656\t5\n16660\t5\n16663\t5\n16668\t5\n16671\t5\n16672\t5\n16673\t5\n16676\t5\n16680\t5\n16681\t5\n16687\t5\n16693\t5\n16704\t5\n16715\t5\n16716\t5\n16733\t5\n16736\t5\n16744\t5\n16746\t5\n16747\t5\n16749\t5\n16761\t5\n16763\t5\n16773\t5\n16787\t5\n16788\t5\n16790\t5\n16798\t5\n16811\t5\n16825\t5\n16827\t5\n16829\t5\n16847\t5\n16848\t5\n16849\t5\n16858\t5\n16859\t5\n16863\t5\n16872\t5\n16877\t5\n16885\t5\n16886\t5\n16892\t5\n16896\t5\n16903\t5\n16922\t5\n16924\t5\n16927\t5\n16931\t5\n16937\t5\n16942\t5\n16944\t5\n16945\t5\n16946\t5\n16950\t5\n16957\t5\n16961\t5\n16964\t5\n16974\t5\n16977\t5\n16979\t5\n16980\t5\n16981\t5\n16982\t5\n16991\t5\n17006\t5\n17009\t5\n17024\t5\n17026\t5\n17038\t5\n17039\t5\n17043\t5\n17053\t5\n17056\t5\n17061\t5\n17062\t5\n17065\t5\n17080\t5\n17094\t5\n17096\t5\n17104\t5\n17106\t5\n17108\t5\n17109\t5\n17116\t5\n17122\t5\n17126\t5\n17127\t5\n17128\t5\n17133\t5\n17139\t5\n17152\t5\n17154\t5\n17155\t5\n17164\t5\n17165\t5\n17166\t5\n17167\t5\n17180\t5\n17205\t5\n17224\t5\n17226\t5\n17234\t5\n17256\t5\n17260\t5\n17261\t5\n17276\t5\n17281\t5\n17291\t5\n17316\t5\n17317\t5\n17318\t5\n17326\t5\n17331\t5\n17332\t5\n17334\t5\n17335\t5\n17339\t5\n17349\t5\n17350\t5\n17354\t5\n17361\t5\n17365\t5\n17374\t5\n17380\t5\n17399\t5\n17405\t5\n17416\t5\n17417\t5\n17419\t5\n17420\t5\n17424\t5\n17426\t5\n17439\t5\n17445\t5\n17447\t5\n17448\t5\n17452\t5\n17465\t5\n17483\t5\n17486\t5\n17491\t5\n17499\t5\n17500\t5\n17501\t5\n17504\t5\n17506\t5\n17510\t5\n17512\t5\n17513\t5\n17519\t5\n17523\t5\n17533\t5\n17535\t5\n17537\t5\n17542\t5\n17555\t5\n17564\t5\n17567\t5\n17572\t5\n17574\t5\n17577\t5\n17580\t5\n17582\t5\n17584\t5\n17599\t5\n17602\t5\n17604\t5\n17605\t5\n17617\t5\n17620\t5\n17622\t5\n17627\t5\n17634\t5\n17641\t5\n17657\t5\n17660\t5\n17665\t5\n17682\t5\n17690\t5\n17697\t5\n17699\t5\n17700\t5\n17718\t5\n17730\t5\n17732\t5\n17760\t5\n17765\t5\n17773\t5\n17782\t5\n17787\t5\n17790\t5\n17792\t5\n17794\t5\n17797\t5\n17798\t5\n17804\t5\n17810\t5\n17812\t5\n17813\t5\n17816\t5\n17821\t5\n17827\t5\n17831\t5\n17843\t5\n17850\t5\n17857\t5\n17859\t5\n17860\t5\n17868\t5\n17871\t5\n17872\t5\n17873\t5\n17878\t5\n17883\t5\n17887\t5\n17894\t5\n17903\t5\n17919\t5\n17920\t5\n17921\t5\n17925\t5\n17927\t5\n17932\t5\n17936\t5\n17938\t5\n17942\t5\n17947\t5\n17950\t5\n17966\t5\n17976\t5\n17979\t5\n17988\t5\n17993\t5\n18005\t5\n18010\t5\n18011\t5\n18013\t5\n18017\t5\n18018\t5\n18020\t5\n18023\t5\n18025\t5\n18031\t5\n18032\t5\n18048\t5\n18050\t5\n18060\t5\n18061\t5\n18069\t5\n18095\t5\n18096\t5\n18104\t5\n18109\t5\n18116\t5\n18121\t5\n18128\t5\n18131\t5\n18132\t5\n18137\t5\n18140\t5\n18141\t5\n18144\t5\n18156\t5\n18168\t5\n18173\t5\n18181\t5\n18186\t5\n18191\t5\n18195\t5\n18196\t5\n18206\t5\n18208\t5\n18216\t5\n18226\t5\n18235\t5\n18239\t5\n18242\t5\n18243\t5\n18247\t5\n18264\t5\n18268\t5\n18269\t5\n18270\t5\n18273\t5\n18278\t5\n18284\t5\n18286\t5\n18292\t5\n18296\t5\n18297\t5\n18298\t5\n18305\t5\n18308\t5\n18311\t5\n18326\t5\n18329\t5\n18339\t5\n18344\t5\n18368\t5\n18370\t5\n18373\t5\n18395\t5\n18399\t5\n18400\t5\n18408\t5\n18410\t5\n18414\t5\n18422\t5\n18423\t5\n18434\t5\n18435\t5\n18437\t5\n18442\t5\n18464\t5\n18467\t5\n18469\t5\n18470\t5\n18471\t5\n18474\t5\n18481\t5\n18489\t5\n18493\t5\n18495\t5\n18496\t5\n18497\t5\n18503\t5\n18510\t5\n18512\t5\n18515\t5\n18523\t5\n18526\t5\n18528\t5\n18533\t5\n18540\t5\n18542\t5\n18543\t5\n18556\t5\n18561\t5\n18576\t5\n18615\t5\n18624\t5\n18625\t5\n18632\t5\n18639\t5\n18643\t5\n18654\t5\n18657\t5\n18661\t5\n18674\t5\n18679\t5\n18683\t5\n18686\t5\n18711\t5\n18716\t5\n18728\t5\n18736\t5\n18737\t5\n18739\t5\n18740\t5\n18744\t5\n18746\t5\n18756\t5\n18771\t5\n18776\t5\n18780\t5\n18788\t5\n18794\t5\n18806\t5\n18814\t5\n18817\t5\n18823\t5\n18824\t5\n18826\t5\n18834\t5\n18841\t5\n18847\t5\n18864\t5\n18888\t5\n18907\t5\n18909\t5\n18914\t5\n18922\t5\n18927\t5\n18931\t5\n18934\t5\n18935\t5\n18938\t5\n18945\t5\n18948\t5\n18951\t5\n18953\t5\n18968\t5\n18979\t5\n18990\t5\n18991\t5\n18993\t5\n19003\t5\n19005\t5\n19009\t5\n19013\t5\n19019\t5\n19023\t5\n19037\t5\n19040\t5\n19047\t5\n19058\t5\n19059\t5\n19076\t5\n19078\t5\n19082\t5\n19086\t5\n19088\t5\n19090\t5\n19096\t5\n19099\t5\n19107\t5\n19115\t5\n19118\t5\n19126\t5\n19136\t5\n19147\t5\n19149\t5\n19152\t5\n19155\t5\n19163\t5\n19174\t5\n19180\t5\n19182\t5\n19183\t5\n19188\t5\n19191\t5\n19198\t5\n19201\t5\n19227\t5\n19231\t5\n19243\t5\n19248\t5\n19252\t5\n19255\t5\n19276\t5\n19286\t5\n19287\t5\n19291\t5\n19292\t5\n19300\t5\n19304\t5\n19312\t5\n19323\t5\n19330\t5\n19355\t5\n19365\t5\n19389\t5\n19390\t5\n19392\t5\n19400\t5\n19403\t5\n19404\t5\n19406\t5\n19417\t5\n19420\t5\n19425\t5\n19438\t5\n19455\t5\n19456\t5\n19480\t5\n19490\t5\n19497\t5\n19502\t5\n19504\t5\n19508\t5\n19509\t5\n19510\t5\n19521\t5\n19536\t5\n19552\t5\n19553\t5\n19557\t5\n19568\t5\n19569\t5\n19571\t5\n19581\t5\n19583\t5\n19585\t5\n19586\t5\n19603\t5\n19606\t5\n19617\t5\n19626\t5\n19628\t5\n19644\t5\n19646\t5\n19647\t5\n19653\t5\n19656\t5\n19658\t5\n19668\t5\n19670\t5\n19674\t5\n19676\t5\n19681\t5\n19683\t5\n19693\t5\n19696\t5\n19697\t5\n19698\t5\n19702\t5\n19714\t5\n19715\t5\n19719\t5\n19720\t5\n19721\t5\n19726\t5\n19734\t5\n19763\t5\n19769\t5\n19770\t5\n19771\t5\n19776\t5\n19778\t5\n19780\t5\n19783\t5\n19795\t5\n19801\t5\n19807\t5\n19808\t5\n19814\t5\n19817\t5\n19822\t5\n19824\t5\n19830\t5\n19840\t5\n19852\t5\n19853\t5\n19859\t5\n19862\t5\n19865\t5\n19866\t5\n19868\t5\n19876\t5\n19878\t5\n19881\t5\n19885\t5\n19888\t5\n19892\t5\n19900\t5\n19902\t5\n19906\t5\n19907\t5\n19916\t5\n19925\t5\n19929\t5\n19934\t5\n19939\t5\n19940\t5\n19946\t5\n19947\t5\n19952\t5\n19955\t5\n19966\t5\n19970\t5\n19973\t5\n19974\t5\n19975\t5\n19981\t5\n19990\t5\n19991\t5\n19992\t5\n19994\t5\n19999\t5\n20010\t5\n20013\t5\n20015\t5\n20035\t5\n20040\t5\n20048\t5\n20049\t5\n20055\t5\n20061\t5\n20065\t5\n20071\t5\n20074\t5\n20090\t5\n20105\t5\n20110\t5\n20112\t5\n20119\t5\n20122\t5\n20124\t5\n20125\t5\n20129\t5\n20136\t5\n20144\t5\n20148\t5\n20155\t5\n20160\t5\n20165\t5\n20167\t5\n20195\t5\n20199\t5\n20202\t5\n20206\t5\n20207\t5\n20210\t5\n20212\t5\n20213\t5\n20229\t5\n20230\t5\n20234\t5\n20240\t5\n20245\t5\n20265\t5\n20275\t5\n20277\t5\n20278\t5\n20279\t5\n20292\t5\n20293\t5\n20295\t5\n20307\t5\n20324\t5\n20327\t5\n20336\t5\n20341\t5\n20342\t5\n20347\t5\n20349\t5\n20354\t5\n20365\t5\n20385\t5\n20387\t5\n20389\t5\n20396\t5\n20404\t5\n20409\t5\n20411\t5\n20412\t5\n20413\t5\n20424\t5\n20425\t5\n20427\t5\n20428\t5\n20432\t5\n20446\t5\n20452\t5\n20454\t5\n20459\t5\n20466\t5\n20469\t5\n20470\t5\n20474\t5\n20482\t5\n20489\t5\n20491\t5\n20494\t5\n20499\t5\n20504\t5\n20512\t5\n20515\t5\n20518\t5\n20522\t5\n20530\t5\n20536\t5\n20539\t5\n20546\t5\n20549\t5\n20561\t5\n20562\t5\n20564\t5\n20567\t5\n20576\t5\n20584\t5\n20594\t5\n20615\t5\n20618\t5\n20620\t5\n20637\t5\n20642\t5\n20643\t5\n20645\t5\n20650\t5\n20655\t5\n20656\t5\n20658\t5\n20666\t5\n20667\t5\n20671\t5\n20691\t5\n20693\t5\n20696\t5\n20699\t5\n20701\t5\n20706\t5\n20708\t5\n20713\t5\n20714\t5\n20717\t5\n20744\t5\n20747\t5\n20750\t5\n20757\t5\n20759\t5\n20760\t5\n20761\t5\n20766\t5\n20775\t5\n20789\t5\n20797\t5\n20798\t5\n20813\t5\n20814\t5\n20815\t5\n20822\t5\n20828\t5\n20833\t5\n20842\t5\n20850\t5\n20855\t5\n20860\t5\n20863\t5\n20864\t5\n20865\t5\n20867\t5\n20880\t5\n20887\t5\n20891\t5\n20902\t5\n20923\t5\n20924\t5\n20940\t5\n20943\t5\n20944\t5\n20946\t5\n20949\t5\n20954\t5\n20963\t5\n20967\t5\n20969\t5\n20974\t5\n20978\t5\n20993\t5\n20995\t5\n21005\t5\n21007\t5\n21008\t5\n21016\t5\n21026\t5\n21031\t5\n21047\t5\n21048\t5\n21051\t5\n21056\t5\n21062\t5\n21078\t5\n21079\t5\n21084\t5\n21087\t5\n21089\t5\n21093\t5\n21096\t5\n21100\t5\n21102\t5\n21128\t5\n21132\t5\n21135\t5\n21137\t5\n21140\t5\n21145\t5\n21147\t5\n21157\t5\n21158\t5\n21163\t5\n21175\t5\n21178\t5\n21179\t5\n21180\t5\n21187\t5\n21189\t5\n21200\t5\n21204\t5\n21226\t5\n21228\t5\n21245\t5\n21246\t5\n21255\t5\n21257\t5\n21263\t5\n21271\t5\n21279\t5\n21281\t5\n21290\t5\n21292\t5\n21301\t5\n21308\t5\n21310\t5\n21316\t5\n21325\t5\n21331\t5\n21336\t5\n21339\t5\n21347\t5\n21350\t5\n21356\t5\n21358\t5\n21362\t5\n21366\t5\n21376\t5\n21380\t5\n21384\t5\n21395\t5\n21397\t5\n21410\t5\n21418\t5\n21427\t5\n21444\t5\n21445\t5\n21449\t5\n21452\t5\n21460\t5\n21471\t5\n21472\t5\n21475\t5\n21476\t5\n21483\t5\n21486\t5\n21487\t5\n21492\t5\n21506\t5\n21507\t5\n21510\t5\n21511\t5\n21516\t5\n21531\t5\n21533\t5\n21537\t5\n21547\t5\n21548\t5\n21549\t5\n21558\t5\n21563\t5\n21568\t5\n21572\t5\n21580\t5\n21584\t5\n21588\t5\n21591\t5\n21608\t5\n21610\t5\n21628\t5\n21644\t5\n21645\t5\n21647\t5\n21650\t5\n21654\t5\n21664\t5\n21668\t5\n21670\t5\n21674\t5\n21684\t5\n21693\t5\n21695\t5\n21700\t5\n21704\t5\n21705\t5\n21712\t5\n21713\t5\n21719\t5\n21726\t5\n21727\t5\n21736\t5\n21738\t5\n21739\t5\n21749\t5\n21766\t5\n21774\t5\n21775\t5\n21776\t5\n21784\t5\n21799\t5\n21802\t5\n21803\t5\n21804\t5\n21826\t5\n21831\t5\n21838\t5\n21846\t5\n21860\t5\n21869\t5\n21870\t5\n21875\t5\n21878\t5\n21881\t5\n21893\t5\n21898\t5\n21899\t5\n21911\t5\n21913\t5\n21920\t5\n21923\t5\n21931\t5\n21937\t5\n21944\t5\n21951\t5\n21953\t5\n21954\t5\n21966\t5\n21979\t5\n21989\t5\n21993\t5\n21994\t5\n22020\t5\n22035\t5\n22064\t5\n22073\t5\n22075\t5\n22076\t5\n22086\t5\n22091\t5\n22092\t5\n22093\t5\n22095\t5\n22102\t5\n22112\t5\n22122\t5\n22130\t5\n22134\t5\n22135\t5\n22138\t5\n22148\t5\n22160\t5\n22164\t5\n22166\t5\n22174\t5\n22175\t5\n22176\t5\n22185\t5\n22190\t5\n22195\t5\n22198\t5\n22202\t5\n22211\t5\n22212\t5\n22213\t5\n22214\t5\n22227\t5\n22231\t5\n22238\t5\n22245\t5\n22252\t5\n22256\t5\n22274\t5\n22275\t5\n22280\t5\n22286\t5\n22289\t5\n22297\t5\n22298\t5\n22303\t5\n22308\t5\n22319\t5\n22321\t5\n22326\t5\n22336\t5\n22359\t5\n22360\t5\n22392\t5\n22398\t5\n22403\t5\n22409\t5\n22417\t5\n22418\t5\n22420\t5\n22433\t5\n22436\t5\n22442\t5\n22443\t5\n22448\t5\n22462\t5\n22465\t5\n22471\t5\n22478\t5\n22492\t5\n22494\t5\n22500\t5\n22516\t5\n22528\t5\n22530\t5\n22534\t5\n22539\t5\n22542\t5\n22544\t5\n22559\t5\n22569\t5\n22571\t5\n22590\t5\n22591\t5\n22592\t5\n22594\t5\n22595\t5\n22597\t5\n22605\t5\n22613\t5\n22616\t5\n22624\t5\n22633\t5\n22640\t5\n22655\t5\n22659\t5\n22663\t5\n22664\t5\n22666\t5\n22673\t5\n22674\t5\n22676\t5\n22688\t5\n22695\t5\n22697\t5\n22698\t5\n22700\t5\n22707\t5\n22709\t5\n22715\t5\n22720\t5\n22727\t5\n22729\t5\n22731\t5\n22732\t5\n22737\t5\n22743\t5\n22745\t5\n22747\t5\n22748\t5\n22751\t5\n22762\t5\n22764\t5\n22783\t5\n22789\t5\n22793\t5\n22794\t5\n22811\t5\n22819\t5\n22827\t5\n22829\t5\n22830\t5\n22835\t5\n22842\t5\n22847\t5\n22848\t5\n22849\t5\n22851\t5\n22855\t5\n22857\t5\n22860\t5\n22873\t5\n22874\t5\n22876\t5\n22885\t5\n22890\t5\n22893\t5\n22894\t5\n22899\t5\n22906\t5\n22909\t5\n22920\t5\n22930\t5\n22936\t5\n22937\t5\n22942\t5\n22945\t5\n22955\t5\n22960\t5\n22977\t5\n22982\t5\n22984\t5\n22986\t5\n22994\t5\n22996\t5\n23001\t5\n23007\t5\n23025\t5\n23029\t5\n23046\t5\n23049\t5\n23064\t5\n23066\t5\n23069\t5\n23071\t5\n23078\t5\n23091\t5\n23097\t5\n23114\t5\n23115\t5\n23118\t5\n23122\t5\n23124\t5\n23143\t5\n23148\t5\n23156\t5\n23159\t5\n23161\t5\n23163\t5\n23166\t5\n23167\t5\n23169\t5\n23178\t5\n23179\t5\n23182\t5\n23183\t5\n23184\t5\n23196\t5\n23203\t5\n23212\t5\n23214\t5\n23218\t5\n23224\t5\n23226\t5\n23234\t5\n23239\t5\n23240\t5\n23241\t5\n23245\t5\n23276\t5\n23277\t5\n23282\t5\n23289\t5\n23290\t5\n23299\t5\n23301\t5\n23305\t5\n23308\t5\n23312\t5\n23339\t5\n23340\t5\n23344\t5\n23346\t5\n23349\t5\n23350\t5\n23355\t5\n23357\t5\n23361\t5\n23362\t5\n23365\t5\n23373\t5\n23378\t5\n23379\t5\n23384\t5\n23388\t5\n23397\t5\n23418\t5\n23423\t5\n23432\t5\n23435\t5\n23437\t5\n23470\t5\n23471\t5\n23482\t5\n23494\t5\n23497\t5\n23502\t5\n23512\t5\n23515\t5\n23524\t5\n23538\t5\n23539\t5\n23542\t5\n23556\t5\n23559\t5\n23566\t5\n23568\t5\n23572\t5\n23576\t5\n23578\t5\n23580\t5\n23582\t5\n23585\t5\n23599\t5\n23602\t5\n23607\t5\n23614\t5\n23619\t5\n23620\t5\n23623\t5\n23634\t5\n23647\t5\n23648\t5\n23649\t5\n23652\t5\n23654\t5\n23655\t5\n23680\t5\n23683\t5\n23689\t5\n23693\t5\n23695\t5\n23696\t5\n23697\t5\n23699\t5\n23703\t5\n23704\t5\n23705\t5\n23714\t5\n23723\t5\n23732\t5\n23736\t5\n23742\t5\n23744\t5\n23745\t5\n23748\t5\n23753\t5\n23762\t5\n23764\t5\n23775\t5\n23776\t5\n23778\t5\n23787\t5\n23788\t5\n23790\t5\n23799\t5\n23807\t5\n23818\t5\n23820\t5\n23821\t5\n23826\t5\n23828\t5\n23842\t5\n23843\t5\n23846\t5\n23848\t5\n23852\t5\n23854\t5\n23855\t5\n23860\t5\n23866\t5\n23869\t5\n23870\t5\n23874\t5\n23897\t5\n23898\t5\n23905\t5\n23916\t5\n23918\t5\n23925\t5\n23929\t5\n23930\t5\n23938\t5\n23952\t5\n23956\t5\n23963\t5\n23967\t5\n23971\t5\n23975\t5\n23976\t5\n23980\t5\n23988\t5\n23996\t5\n23998\t5\n24006\t5\n24009\t5\n24012\t5\n24020\t5\n24022\t5\n24023\t5\n24032\t5\n24040\t5\n24047\t5\n24049\t5\n24054\t5\n24058\t5\n24064\t5\n24073\t5\n24075\t5\n24077\t5\n24085\t5\n24091\t5\n24097\t5\n24098\t5\n24101\t5\n24104\t5\n24117\t5\n24128\t5\n24130\t5\n24132\t5\n24138\t5\n24139\t5\n24143\t5\n24145\t5\n24151\t5\n24155\t5\n24165\t5\n24168\t5\n24172\t5\n24199\t5\n24203\t5\n24211\t5\n24249\t5\n24265\t5\n24267\t5\n24282\t5\n24290\t5\n24294\t5\n24299\t5\n24308\t5\n24311\t5\n24319\t5\n24323\t5\n24334\t5\n24343\t5\n24361\t5\n24362\t5\n24371\t5\n24374\t5\n24398\t5\n24402\t5\n24409\t5\n24410\t5\n24411\t5\n24413\t5\n24415\t5\n24421\t5\n24423\t5\n24428\t5\n24429\t5\n24434\t5\n24442\t5\n24443\t5\n24450\t5\n24453\t5\n24466\t5\n24470\t5\n24477\t5\n24485\t5\n24486\t5\n24495\t5\n24497\t5\n24500\t5\n24502\t5\n24518\t5\n24521\t5\n24526\t5\n24528\t5\n24531\t5\n24546\t5\n24547\t5\n24554\t5\n24559\t5\n24568\t5\n24578\t5\n24585\t5\n24593\t5\n24596\t5\n24612\t5\n24618\t5\n24619\t5\n24622\t5\n24625\t5\n24634\t5\n24636\t5\n24642\t5\n24645\t5\n24650\t5\n24658\t5\n24659\t5\n24660\t5\n24678\t5\n24685\t5\n24696\t5\n24699\t5\n24700\t5\n24705\t5\n24715\t5\n24716\t5\n24722\t5\n24727\t5\n24742\t5\n24748\t5\n24754\t5\n24790\t5\n24792\t5\n24793\t5\n24799\t5\n24812\t5\n24813\t5\n24823\t5\n24831\t5\n24838\t5\n24839\t5\n24845\t5\n24866\t5\n24874\t5\n24878\t5\n24884\t5\n24888\t5\n24894\t5\n24898\t5\n24910\t5\n24913\t5\n24918\t5\n24931\t5\n24950\t5\n24951\t5\n24955\t5\n24968\t5\n24972\t5\n24976\t5\n24980\t5\n24982\t5\n24987\t5\n24990\t5\n24992\t5\n25007\t5\n25016\t5\n25018\t5\n25025\t5\n25027\t5\n25029\t5\n25032\t5\n25047\t5\n25050\t5\n25057\t5\n25070\t5\n25071\t5\n25073\t5\n25078\t5\n25080\t5\n25086\t5\n25088\t5\n25095\t5\n25113\t5\n25118\t5\n25120\t5\n25121\t5\n25135\t5\n25139\t5\n25142\t5\n25144\t5\n25148\t5\n25151\t5\n25153\t5\n25157\t5\n25167\t5\n25173\t5\n25180\t5\n25193\t5\n25199\t5\n25205\t5\n25208\t5\n25225\t5\n25230\t5\n25234\t5\n25239\t5\n25252\t5\n25258\t5\n25259\t5\n25260\t5\n25264\t5\n25276\t5\n25282\t5\n25289\t5\n25296\t5\n25307\t5\n25309\t5\n25310\t5\n25312\t5\n25313\t5\n25316\t5\n25318\t5\n25327\t5\n25336\t5\n25352\t5\n25362\t5\n25363\t5\n25367\t5\n25368\t5\n25373\t5\n25374\t5\n25381\t5\n25382\t5\n25383\t5\n25396\t5\n25402\t5\n25412\t5\n25428\t5\n25434\t5\n25436\t5\n25444\t5\n25446\t5\n25456\t5\n25461\t5\n25466\t5\n25467\t5\n25468\t5\n25475\t5\n25483\t5\n25491\t5\n25496\t5\n25504\t5\n25508\t5\n25521\t5\n25525\t5\n25532\t5\n25539\t5\n25544\t5\n25552\t5\n25553\t5\n25560\t5\n25581\t5\n25585\t5\n25596\t5\n25597\t5\n25600\t5\n25608\t5\n25638\t5\n25654\t5\n25667\t5\n25677\t5\n25686\t5\n25689\t5\n25693\t5\n25697\t5\n25712\t5\n25713\t5\n25726\t5\n25729\t5\n25739\t5\n25740\t5\n25749\t5\n25752\t5\n25757\t5\n25760\t5\n25768\t5\n25770\t5\n25777\t5\n25782\t5\n25786\t5\n25800\t5\n25814\t5\n25831\t5\n25840\t5\n25858\t5\n25862\t5\n25867\t5\n25868\t5\n25872\t5\n25877\t5\n25878\t5\n25879\t5\n25894\t5\n25898\t5\n25911\t5\n25920\t5\n25923\t5\n25930\t5\n25931\t5\n25932\t5\n25941\t5\n25944\t5\n25945\t5\n25947\t5\n25956\t5\n25971\t5\n25976\t5\n25983\t5\n25984\t5\n25985\t5\n25993\t5\n25998\t5\n26015\t5\n26020\t5\n26024\t5\n26025\t5\n26035\t5\n26046\t5\n26047\t5\n26049\t5\n26071\t5\n26072\t5\n26074\t5\n26078\t5\n26082\t5\n26085\t5\n26089\t5\n26102\t5\n26106\t5\n26107\t5\n26110\t5\n26111\t5\n26113\t5\n26115\t5\n26119\t5\n26127\t5\n26128\t5\n26130\t5\n26134\t5\n26140\t5\n26141\t5\n26142\t5\n26158\t5\n26178\t5\n26190\t5\n26191\t5\n26199\t5\n26204\t5\n26212\t5\n26225\t5\n26233\t5\n26242\t5\n26253\t5\n26255\t5\n26269\t5\n26272\t5\n26285\t5\n26288\t5\n26292\t5\n26299\t5\n26305\t5\n26313\t5\n26314\t5\n26317\t5\n26326\t5\n26331\t5\n26337\t5\n26340\t5\n26342\t5\n26344\t5\n26358\t5\n26382\t5\n26384\t5\n26411\t5\n26418\t5\n26429\t5\n26453\t5\n26458\t5\n26464\t5\n26468\t5\n26469\t5\n26471\t5\n26477\t5\n26484\t5\n26494\t5\n26499\t5\n26524\t5\n26526\t5\n26541\t5\n26545\t5\n26549\t5\n26552\t5\n26562\t5\n26567\t5\n26573\t5\n26580\t5\n26581\t5\n26583\t5\n26584\t5\n26595\t5\n26597\t5\n26606\t5\n26616\t5\n26620\t5\n26625\t5\n26627\t5\n26630\t5\n26647\t5\n26650\t5\n26653\t5\n26658\t5\n26660\t5\n26665\t5\n26693\t5\n26696\t5\n26697\t5\n26700\t5\n26709\t5\n26710\t5\n26726\t5\n26728\t5\n26732\t5\n26737\t5\n26742\t5\n26744\t5\n26749\t5\n26770\t5\n26776\t5\n26782\t5\n26800\t5\n26801\t5\n26803\t5\n26806\t5\n26807\t5\n26809\t5\n26810\t5\n26816\t5\n26821\t5\n26834\t5\n26835\t5\n26841\t5\n26842\t5\n26856\t5\n26861\t5\n26865\t5\n26872\t5\n26875\t5\n26876\t5\n26885\t5\n26886\t5\n26894\t5\n26898\t5\n26909\t5\n26919\t5\n26923\t5\n26926\t5\n26938\t5\n26943\t5\n26950\t5\n26952\t5\n26965\t5\n26966\t5\n26977\t5\n26982\t5\n26990\t5\n27014\t5\n27015\t5\n27016\t5\n27019\t5\n27028\t5\n27030\t5\n27034\t5\n27050\t5\n27051\t5\n27054\t5\n27059\t5\n27062\t5\n27072\t5\n27081\t5\n27094\t5\n27096\t5\n27105\t5\n27110\t5\n27111\t5\n27114\t5\n27123\t5\n27124\t5\n27133\t5\n27144\t5\n27153\t5\n27159\t5\n27165\t5\n27167\t5\n27168\t5\n27179\t5\n27182\t5\n27191\t5\n27194\t5\n27197\t5\n27207\t5\n27222\t5\n27232\t5\n27256\t5\n27259\t5\n27260\t5\n27266\t5\n27270\t5\n27275\t5\n27277\t5\n27279\t5\n27287\t5\n27288\t5\n27289\t5\n27299\t5\n27301\t5\n27304\t5\n27308\t5\n27309\t5\n27310\t5\n27322\t5\n27323\t5\n27325\t5\n27336\t5\n27347\t5\n27360\t5\n27363\t5\n27367\t5\n27371\t5\n27373\t5\n27387\t5\n27394\t5\n27401\t5\n27403\t5\n27411\t5\n27440\t5\n27442\t5\n27448\t5\n27453\t5\n27458\t5\n27462\t5\n27468\t5\n27473\t5\n27487\t5\n27491\t5\n27504\t5\n27509\t5\n27511\t5\n27531\t5\n27534\t5\n27535\t5\n27538\t5\n27548\t5\n27558\t5\n27566\t5\n27568\t5\n27570\t5\n27591\t5\n27594\t5\n27600\t5\n27608\t5\n27618\t5\n27627\t5\n27656\t5\n27658\t5\n27673\t5\n27678\t5\n27686\t5\n27689\t5\n27690\t5\n27695\t5\n27696\t5\n27699\t5\n27700\t5\n27704\t5\n27706\t5\n27707\t5\n27709\t5\n27716\t5\n27719\t5\n27726\t5\n27731\t5\n27732\t5\n27742\t5\n27754\t5\n27759\t5\n27768\t5\n27770\t5\n27779\t5\n27787\t5\n27791\t5\n27794\t5\n27798\t5\n27800\t5\n27807\t5\n27808\t5\n27813\t5\n27816\t5\n27819\t5\n27823\t5\n27825\t5\n27828\t5\n27829\t5\n27831\t5\n27832\t5\n27835\t5\n27841\t5\n27849\t5\n27853\t5\n27863\t5\n27872\t5\n27877\t5\n27882\t5\n27888\t5\n27889\t5\n27890\t5\n27893\t5\n27911\t5\n27912\t5\n27913\t5\n27916\t5\n27921\t5\n27923\t5\n27932\t5\n27934\t5\n27936\t5\n27940\t5\n27941\t5\n27947\t5\n27952\t5\n27954\t5\n27962\t5\n27969\t5\n27985\t5\n27988\t5\n27994\t5\n28005\t5\n28012\t5\n28025\t5\n28026\t5\n28034\t5\n28038\t5\n28047\t5\n28058\t5\n28068\t5\n28069\t5\n28082\t5\n28084\t5\n28090\t5\n28097\t5\n28110\t5\n28114\t5\n28118\t5\n28149\t5\n28151\t5\n28152\t5\n28154\t5\n28160\t5\n28161\t5\n28165\t5\n28167\t5\n28169\t5\n28177\t5\n28190\t5\n28205\t5\n28208\t5\n28214\t5\n28241\t5\n28244\t5\n28267\t5\n28270\t5\n28271\t5\n28272\t5\n28278\t5\n28285\t5\n28286\t5\n28289\t5\n28290\t5\n28302\t5\n28305\t5\n28311\t5\n28313\t5\n28314\t5\n28317\t5\n28318\t5\n28326\t5\n28335\t5\n28336\t5\n28356\t5\n28365\t5\n28371\t5\n28375\t5\n28376\t5\n28383\t5\n28385\t5\n28389\t5\n28390\t5\n28391\t5\n28393\t5\n28406\t5\n28411\t5\n28412\t5\n28417\t5\n28420\t5\n28423\t5\n28424\t5\n28426\t5\n28437\t5\n28438\t5\n28442\t5\n28451\t5\n28452\t5\n28453\t5\n28458\t5\n28459\t5\n28462\t5\n28466\t5\n28468\t5\n28470\t5\n28472\t5\n28475\t5\n28476\t5\n28478\t5\n28481\t5\n28486\t5\n28491\t5\n28493\t5\n28496\t5\n28498\t5\n28504\t5\n28509\t5\n28514\t5\n28523\t5\n28532\t5\n28537\t5\n28546\t5\n28550\t5\n28551\t5\n28553\t5\n28555\t5\n28563\t5\n28565\t5\n28568\t5\n28569\t5\n28571\t5\n28572\t5\n28575\t5\n28586\t5\n28592\t5\n28598\t5\n28612\t5\n28616\t5\n28617\t5\n28633\t5\n28635\t5\n28639\t5\n28646\t5\n28659\t5\n28661\t5\n28662\t5\n28664\t5\n28668\t5\n28671\t5\n28673\t5\n28677\t5\n28681\t5\n28694\t5\n28698\t5\n28701\t5\n28705\t5\n28711\t5\n28716\t5\n28732\t5\n28733\t5\n28739\t5\n28742\t5\n28743\t5\n28756\t5\n28764\t5\n28768\t5\n28770\t5\n28773\t5\n28775\t5\n28786\t5\n28792\t5\n28795\t5\n28802\t5\n28804\t5\n28812\t5\n28814\t5\n28848\t5\n28859\t5\n28860\t5\n28862\t5\n28875\t5\n28889\t5\n28894\t5\n28896\t5\n28900\t5\n28904\t5\n28907\t5\n28909\t5\n28911\t5\n28917\t5\n28922\t5\n28925\t5\n28926\t5\n28927\t5\n28930\t5\n28932\t5\n28935\t5\n28936\t5\n28938\t5\n28947\t5\n28955\t5\n28958\t5\n28966\t5\n28980\t5\n28987\t5\n29005\t5\n29010\t5\n29016\t5\n29019\t5\n29030\t5\n29036\t5\n29051\t5\n29057\t5\n29069\t5\n29083\t5\n29088\t5\n29093\t5\n29111\t5\n29126\t5\n29128\t5\n29129\t5\n29130\t5\n29131\t5\n29133\t5\n29137\t5\n29143\t5\n29146\t5\n29151\t5\n29158\t5\n29159\t5\n29172\t5\n29175\t5\n29178\t5\n29185\t5\n29194\t5\n29213\t5\n29225\t5\n29226\t5\n29230\t5\n29237\t5\n29242\t5\n29250\t5\n29253\t5\n29269\t5\n29272\t5\n29276\t5\n29285\t5\n29287\t5\n29292\t5\n29297\t5\n29315\t5\n29319\t5\n29323\t5\n29336\t5\n29340\t5\n29342\t5\n29364\t5\n29365\t5\n29370\t5\n29380\t5\n29382\t5\n29388\t5\n29400\t5\n29401\t5\n29404\t5\n29405\t5\n29420\t5\n29421\t5\n29428\t5\n29431\t5\n29436\t5\n29438\t5\n29440\t5\n29441\t5\n29442\t5\n29446\t5\n29454\t5\n29470\t5\n29481\t5\n29484\t5\n29488\t5\n29493\t5\n29500\t5\n29518\t5\n29522\t5\n29527\t5\n29530\t5\n29536\t5\n29543\t5\n29545\t5\n29549\t5\n29552\t5\n29554\t5\n29560\t5\n29561\t5\n29570\t5\n29572\t5\n29573\t5\n29574\t5\n29575\t5\n29578\t5\n29580\t5\n29585\t5\n29588\t5\n29600\t5\n29608\t5\n29609\t5\n29612\t5\n29633\t5\n29637\t5\n29642\t5\n29643\t5\n29647\t5\n29648\t5\n29655\t5\n29664\t5\n29665\t5\n29668\t5\n29669\t5\n29670\t5\n29671\t5\n29675\t5\n29681\t5\n29687\t5\n29688\t5\n29693\t5\n29703\t5\n29706\t5\n29708\t5\n29715\t5\n29724\t5\n29728\t5\n29732\t5\n29749\t5\n29760\t5\n29761\t5\n29763\t5\n29765\t5\n29766\t5\n29768\t5\n29772\t5\n29775\t5\n29784\t5\n29788\t5\n29792\t5\n29801\t5\n29805\t5\n29811\t5\n29818\t5\n29863\t5\n29871\t5\n29883\t5\n29891\t5\n29902\t5\n29905\t5\n29908\t5\n29911\t5\n29914\t5\n29915\t5\n29921\t5\n29937\t5\n29962\t5\n29968\t5\n29979\t5\n29982\t5\n29984\t5\n30019\t5\n30021\t5\n30022\t5\n30023\t5\n30026\t5\n30028\t5\n30029\t5\n30045\t5\n30049\t5\n30069\t5\n30079\t5\n30085\t5\n30094\t5\n30102\t5\n30112\t5\n30113\t5\n30115\t5\n30121\t5\n30122\t5\n30123\t5\n30124\t5\n30129\t5\n30131\t5\n30147\t5\n30151\t5\n30153\t5\n30154\t5\n30160\t5\n30161\t5\n30162\t5\n30164\t5\n30167\t5\n30168\t5\n30176\t5\n30197\t5\n30198\t5\n30201\t5\n30203\t5\n30207\t5\n30211\t5\n30212\t5\n30220\t5\n30228\t5\n30231\t5\n30233\t5\n30237\t5\n30240\t5\n30249\t5\n30260\t5\n30264\t5\n30267\t5\n30268\t5\n30269\t5\n30276\t5\n30277\t5\n30294\t5\n30316\t5\n30324\t5\n30326\t5\n30327\t5\n30328\t5\n30339\t5\n30347\t5\n30349\t5\n30357\t5\n30374\t5\n30378\t5\n30385\t5\n30407\t5\n30413\t5\n30418\t5\n30427\t5\n30429\t5\n30437\t5\n30441\t5\n30454\t5\n30461\t5\n30462\t5\n30463\t5\n30475\t5\n30477\t5\n30485\t5\n30503\t5\n30512\t5\n30513\t5\n30519\t5\n30520\t5\n30528\t5\n30533\t5\n30534\t5\n30535\t5\n30545\t5\n30546\t5\n30569\t5\n30582\t5\n30583\t5\n30587\t5\n30592\t5\n30596\t5\n30615\t5\n30617\t5\n30635\t5\n30636\t5\n30641\t5\n30643\t5\n30644\t5\n30648\t5\n30649\t5\n30656\t5\n30668\t5\n30689\t5\n30710\t5\n30714\t5\n30717\t5\n30720\t5\n30721\t5\n30725\t5\n30727\t5\n30748\t5\n30751\t5\n30758\t5\n30763\t5\n30765\t5\n30769\t5\n30774\t5\n30784\t5\n30797\t5\n30801\t5\n30805\t5\n30812\t5\n30821\t5\n30822\t5\n30833\t5\n30834\t5\n30840\t5\n30841\t5\n30875\t5\n30877\t5\n30879\t5\n30884\t5\n30886\t5\n30895\t5\n30900\t5\n30913\t5\n30916\t5\n30925\t5\n30936\t5\n30945\t5\n30962\t5\n30991\t5\n30992\t5\n31012\t5\n31029\t5\n31036\t5\n31041\t5\n31065\t5\n31073\t5\n31074\t5\n31086\t5\n31087\t5\n31091\t5\n31093\t5\n31101\t5\n31102\t5\n31116\t5\n31124\t5\n31130\t5\n31131\t5\n31147\t5\n31154\t5\n31175\t5\n31186\t5\n31187\t5\n31193\t5\n31198\t5\n31207\t5\n31208\t5\n31218\t5\n31220\t5\n31225\t5\n31231\t5\n31233\t5\n31243\t5\n31247\t5\n31254\t5\n31255\t5\n31259\t5\n31267\t5\n31290\t5\n31301\t5\n31304\t5\n31306\t5\n31312\t5\n31318\t5\n31319\t5\n31328\t5\n31333\t5\n31348\t5\n31349\t5\n31361\t5\n31369\t5\n31372\t5\n31374\t5\n31375\t5\n31377\t5\n31382\t5\n31386\t5\n31388\t5\n31395\t5\n31412\t5\n31414\t5\n31422\t5\n31425\t5\n31431\t5\n31433\t5\n31438\t5\n31464\t5\n31467\t5\n31472\t5\n31486\t5\n31489\t5\n31498\t5\n31508\t5\n31520\t5\n31544\t5\n31545\t5\n31548\t5\n31551\t5\n31552\t5\n31564\t5\n31565\t5\n31574\t5\n31577\t5\n31579\t5\n31582\t5\n31586\t5\n31587\t5\n31596\t5\n31603\t5\n31604\t5\n31621\t5\n31629\t5\n31631\t5\n31636\t5\n31637\t5\n31638\t5\n31643\t5\n31644\t5\n31647\t5\n31662\t5\n31676\t5\n31677\t5\n31686\t5\n31689\t5\n31699\t5\n31709\t5\n31716\t5\n31724\t5\n31731\t5\n31743\t5\n31748\t5\n31754\t5\n31761\t5\n31771\t5\n31777\t5\n31779\t5\n31786\t5\n31788\t5\n31799\t5\n31803\t5\n31808\t5\n31819\t5\n31828\t5\n31832\t5\n31836\t5\n31838\t5\n31843\t5\n31851\t5\n31852\t5\n31855\t5\n31857\t5\n31858\t5\n31881\t5\n31882\t5\n31884\t5\n31886\t5\n31896\t5\n31905\t5\n31906\t5\n31911\t5\n31931\t5\n31932\t5\n31936\t5\n31937\t5\n31947\t5\n31954\t5\n31960\t5\n31969\t5\n31979\t5\n31983\t5\n31985\t5\n31993\t5\n32008\t5\n32013\t5\n32022\t5\n32027\t5\n32030\t5\n32041\t5\n32044\t5\n32054\t5\n32060\t5\n32061\t5\n32064\t5\n32068\t5\n32072\t5\n32073\t5\n32075\t5\n32078\t5\n32104\t5\n32116\t5\n32125\t5\n32126\t5\n32132\t5\n32137\t5\n32140\t5\n32148\t5\n32151\t5\n32165\t5\n32168\t5\n32170\t5\n32172\t5\n32182\t5\n32191\t5\n32192\t5\n32198\t5\n32201\t5\n32203\t5\n32220\t5\n32221\t5\n32223\t5\n32224\t5\n32233\t5\n32236\t5\n32249\t5\n32259\t5\n32263\t5\n32281\t5\n32289\t5\n32296\t5\n32307\t5\n32308\t5\n32311\t5\n32314\t5\n32320\t5\n32321\t5\n32323\t5\n32330\t5\n32346\t5\n32347\t5\n32353\t5\n32354\t5\n32356\t5\n32364\t5\n32365\t5\n32372\t5\n32392\t5\n32394\t5\n32400\t5\n32404\t5\n32428\t5\n32440\t5\n32448\t5\n32450\t5\n32458\t5\n32464\t5\n32465\t5\n32466\t5\n32468\t5\n32479\t5\n32499\t5\n32501\t5\n32506\t5\n32510\t5\n32514\t5\n32516\t5\n32525\t5\n32543\t5\n32551\t5\n32555\t5\n32564\t5\n32566\t5\n32569\t5\n32571\t5\n32573\t5\n32579\t5\n32585\t5\n32586\t5\n32594\t5\n32628\t5\n32632\t5\n32633\t5\n32634\t5\n32639\t5\n32641\t5\n32643\t5\n32649\t5\n32654\t5\n32655\t5\n32660\t5\n32662\t5\n32671\t5\n32686\t5\n32692\t5\n32694\t5\n32696\t5\n32705\t5\n32715\t5\n32722\t5\n32726\t5\n32728\t5\n32736\t5\n32740\t5\n32743\t5\n32748\t5\n32765\t5\n32772\t5\n32783\t5\n32795\t5\n32803\t5\n32804\t5\n32809\t5\n32811\t5\n32813\t5\n32829\t5\n32836\t5\n32844\t5\n32845\t5\n32849\t5\n32853\t5\n32867\t5\n32881\t5\n32883\t5\n32894\t5\n32901\t5\n32904\t5\n32912\t5\n32913\t5\n32919\t5\n32920\t5\n32923\t5\n32926\t5\n32930\t5\n32951\t5\n32961\t5\n32981\t5\n32986\t5\n32992\t5\n33002\t5\n33005\t5\n33010\t5\n33011\t5\n33023\t5\n33029\t5\n33037\t5\n33044\t5\n33045\t5\n33047\t5\n33053\t5\n33054\t5\n33066\t5\n33067\t5\n33070\t5\n33084\t5\n33085\t5\n33097\t5\n33098\t5\n33102\t5\n33117\t5\n33120\t5\n33133\t5\n33139\t5\n33144\t5\n33154\t5\n33157\t5\n33158\t5\n33161\t5\n33167\t5\n33170\t5\n33171\t5\n33174\t5\n33179\t5\n33195\t5\n33209\t5\n33211\t5\n33212\t5\n33215\t5\n33238\t5\n33252\t5\n33267\t5\n33272\t5\n33278\t5\n33299\t5\n33303\t5\n33304\t5\n33319\t5\n33320\t5\n33339\t5\n33340\t5\n33343\t5\n33346\t5\n33352\t5\n33362\t5\n33367\t5\n33368\t5\n33376\t5\n33381\t5\n33382\t5\n33388\t5\n33401\t5\n33415\t5\n33417\t5\n33419\t5\n33424\t5\n33428\t5\n33444\t5\n33445\t5\n33446\t5\n33463\t5\n33467\t5\n33486\t5\n33488\t5\n33495\t5\n33503\t5\n33510\t5\n33515\t5\n33516\t5\n33518\t5\n33527\t5\n33528\t5\n33534\t5\n33543\t5\n33544\t5\n33547\t5\n33555\t5\n33563\t5\n33568\t5\n33571\t5\n33573\t5\n33575\t5\n33585\t5\n33587\t5\n33588\t5\n33598\t5\n33606\t5\n33610\t5\n33620\t5\n33624\t5\n33625\t5\n33637\t5\n33645\t5\n33659\t5\n33668\t5\n33674\t5\n33676\t5\n33677\t5\n33678\t5\n33680\t5\n33682\t5\n33691\t5\n33695\t5\n33708\t5\n33710\t5\n33715\t5\n33716\t5\n33718\t5\n33719\t5\n33721\t5\n33722\t5\n33727\t5\n33729\t5\n33739\t5\n33751\t5\n33754\t5\n33763\t5\n33770\t5\n33774\t5\n33784\t5\n33785\t5\n33789\t5\n33793\t5\n33820\t5\n33825\t5\n33826\t5\n33828\t5\n33832\t5\n33838\t5\n33845\t5\n33846\t5\n33847\t5\n33848\t5\n33856\t5\n33871\t5\n33875\t5\n33881\t5\n33884\t5\n33893\t5\n33900\t5\n33903\t5\n33911\t5\n33913\t5\n33917\t5\n33936\t5\n33939\t5\n33958\t5\n33963\t5\n33964\t5\n33966\t5\n33982\t5\n33991\t5\n34003\t5\n34013\t5\n34014\t5\n34019\t5\n34021\t5\n34025\t5\n34027\t5\n34028\t5\n34029\t5\n34030\t5\n34034\t5\n34040\t5\n34043\t5\n34047\t5\n34049\t5\n34070\t5\n34093\t5\n34094\t5\n34099\t5\n34107\t5\n34115\t5\n34119\t5\n34125\t5\n34130\t5\n34135\t5\n34147\t5\n34156\t5\n34166\t5\n34181\t5\n34184\t5\n34187\t5\n34189\t5\n34190\t5\n34195\t5\n34200\t5\n34206\t5\n34207\t5\n34210\t5\n34213\t5\n34214\t5\n34216\t5\n34237\t5\n34239\t5\n34242\t5\n34255\t5\n34271\t5\n34272\t5\n34273\t5\n34274\t5\n34281\t5\n34283\t5\n34293\t5\n34298\t5\n34304\t5\n34305\t5\n34312\t5\n34315\t5\n34316\t5\n34323\t5\n34324\t5\n34326\t5\n34331\t5\n34333\t5\n34352\t5\n34354\t5\n34356\t5\n34359\t5\n34364\t5\n34372\t5\n34374\t5\n34375\t5\n34377\t5\n34380\t5\n34396\t5\n34410\t5\n34415\t5\n34417\t5\n34420\t5\n34428\t5\n34431\t5\n34443\t5\n34457\t5\n34464\t5\n34467\t5\n34473\t5\n34474\t5\n34487\t5\n34489\t5\n34500\t5\n34504\t5\n34505\t5\n34514\t5\n34520\t5\n34532\t5\n34537\t5\n34545\t5\n34559\t5\n34563\t5\n34567\t5\n34570\t5\n34573\t5\n34609\t5\n34613\t5\n34620\t5\n34631\t5\n34635\t5\n34641\t5\n34645\t5\n34648\t5\n34656\t5\n34663\t5\n34665\t5\n34668\t5\n34674\t5\n34678\t5\n34680\t5\n34683\t5\n34686\t5\n34693\t5\n34702\t5\n34705\t5\n34718\t5\n34727\t5\n34732\t5\n34739\t5\n34749\t5\n34760\t5\n34762\t5\n34767\t5\n34778\t5\n34781\t5\n34782\t5\n34793\t5\n34800\t5\n34806\t5\n34816\t5\n34820\t5\n34823\t5\n34828\t5\n34831\t5\n34834\t5\n34841\t5\n34844\t5\n34847\t5\n34851\t5\n34865\t5\n34867\t5\n34873\t5\n34874\t5\n34876\t5\n34879\t5\n34897\t5\n34899\t5\n34902\t5\n34909\t5\n34914\t5\n34920\t5\n34923\t5\n34924\t5\n34938\t5\n34945\t5\n34950\t5\n34957\t5\n34959\t5\n34963\t5\n34973\t5\n34974\t5\n34981\t5\n34984\t5\n34988\t5\n34989\t5\n34993\t5\n35011\t5\n35018\t5\n35031\t5\n35037\t5\n35041\t5\n35047\t5\n35053\t5\n35060\t5\n35067\t5\n35069\t5\n35072\t5\n35085\t5\n35086\t5\n35090\t5\n35099\t5\n35102\t5\n35114\t5\n35122\t5\n35131\t5\n35137\t5\n35142\t5\n35150\t5\n35171\t5\n35179\t5\n35191\t5\n35196\t5\n35209\t5\n35211\t5\n35216\t5\n35221\t5\n35230\t5\n35241\t5\n35243\t5\n35248\t5\n35251\t5\n35282\t5\n35283\t5\n35305\t5\n35332\t5\n35336\t5\n35344\t5\n35352\t5\n35356\t5\n35360\t5\n35364\t5\n35371\t5\n35372\t5\n35377\t5\n35379\t5\n35383\t5\n35385\t5\n35391\t5\n35404\t5\n35406\t5\n35413\t5\n35416\t5\n35422\t5\n35429\t5\n35434\t5\n35438\t5\n35444\t5\n35447\t5\n35457\t5\n35487\t5\n35488\t5\n35489\t5\n35493\t5\n35497\t5\n35509\t5\n35510\t5\n35522\t5\n35533\t5\n35535\t5\n35555\t5\n35561\t5\n35566\t5\n35568\t5\n35569\t5\n35575\t5\n35584\t5\n35586\t5\n35593\t5\n35598\t5\n35600\t5\n35601\t5\n35605\t5\n35609\t5\n35612\t5\n35615\t5\n35623\t5\n35629\t5\n35631\t5\n35641\t5\n35646\t5\n35649\t5\n35652\t5\n35677\t5\n35685\t5\n35688\t5\n35689\t5\n35691\t5\n35697\t5\n35722\t5\n35725\t5\n35735\t5\n35739\t5\n35746\t5\n35754\t5\n35757\t5\n35761\t5\n35765\t5\n35769\t5\n35775\t5\n35778\t5\n35788\t5\n35795\t5\n35799\t5\n35807\t5\n35812\t5\n35818\t5\n35834\t5\n35848\t5\n35865\t5\n35868\t5\n35870\t5\n35871\t5\n35876\t5\n35878\t5\n35892\t5\n35911\t5\n35923\t5\n35936\t5\n35943\t5\n35949\t5\n35956\t5\n35962\t5\n35964\t5\n35976\t5\n35983\t5\n35988\t5\n35990\t5\n35996\t5\n35997\t5\n36000\t5\n36006\t5\n36018\t5\n36022\t5\n36024\t5\n36025\t5\n36035\t5\n36038\t5\n36050\t5\n36052\t5\n36055\t5\n36060\t5\n36064\t5\n36077\t5\n36080\t5\n36085\t5\n36086\t5\n36089\t5\n36098\t5\n36100\t5\n36105\t5\n36110\t5\n36115\t5\n36116\t5\n36119\t5\n36121\t5\n36124\t5\n36125\t5\n36126\t5\n36128\t5\n36143\t5\n36148\t5\n36153\t5\n36172\t5\n36174\t5\n36177\t5\n36183\t5\n36184\t5\n36190\t5\n36202\t5\n36203\t5\n36205\t5\n36207\t5\n36219\t5\n36220\t5\n36221\t5\n36222\t5\n36254\t5\n36264\t5\n36265\t5\n36267\t5\n36269\t5\n36295\t5\n36298\t5\n36301\t5\n36307\t5\n36311\t5\n36314\t5\n36318\t5\n36335\t5\n36347\t5\n36349\t5\n36356\t5\n36359\t5\n36367\t5\n36385\t5\n36386\t5\n36389\t5\n36391\t5\n36394\t5\n36396\t5\n36399\t5\n36402\t5\n36407\t5\n36415\t5\n36417\t5\n36436\t5\n36443\t5\n36444\t5\n36453\t5\n36459\t5\n36461\t5\n36464\t5\n36465\t5\n36467\t5\n36468\t5\n36475\t5\n36478\t5\n36505\t5\n36507\t5\n36518\t5\n36538\t5\n36539\t5\n36544\t5\n36548\t5\n36549\t5\n36550\t5\n36552\t5\n36559\t5\n36560\t5\n36582\t5\n36589\t5\n36597\t5\n36598\t5\n36600\t5\n36601\t5\n36603\t5\n36608\t5\n36612\t5\n36622\t5\n36631\t5\n36639\t5\n36641\t5\n36661\t5\n36662\t5\n36671\t5\n36675\t5\n36683\t5\n36687\t5\n36688\t5\n36691\t5\n36694\t5\n36697\t5\n36704\t5\n36706\t5\n36731\t5\n36738\t5\n36756\t5\n36758\t5\n36770\t5\n36783\t5\n36796\t5\n36806\t5\n36808\t5\n36815\t5\n36839\t5\n36851\t5\n36853\t5\n36855\t5\n36860\t5\n36869\t5\n36885\t5\n36891\t5\n36902\t5\n36904\t5\n36920\t5\n36923\t5\n36924\t5\n36933\t5\n36936\t5\n36940\t5\n36941\t5\n36947\t5\n36949\t5\n36952\t5\n36957\t5\n36963\t5\n36970\t5\n36981\t5\n36993\t5\n37022\t5\n37025\t5\n37042\t5\n37045\t5\n37048\t5\n37055\t5\n37058\t5\n37060\t5\n37062\t5\n37066\t5\n37077\t5\n37081\t5\n37083\t5\n37093\t5\n37096\t5\n37113\t5\n37121\t5\n37122\t5\n37123\t5\n37127\t5\n37129\t5\n37136\t5\n37145\t5\n37147\t5\n37149\t5\n37150\t5\n37152\t5\n37155\t5\n37158\t5\n37163\t5\n37164\t5\n37166\t5\n37172\t5\n37174\t5\n37175\t5\n37176\t5\n37194\t5\n37201\t5\n37215\t5\n37216\t5\n37220\t5\n37235\t5\n37236\t5\n37240\t5\n37245\t5\n37246\t5\n37257\t5\n37260\t5\n37261\t5\n37263\t5\n37269\t5\n37270\t5\n37276\t5\n37287\t5\n37292\t5\n37297\t5\n37304\t5\n37309\t5\n37316\t5\n37318\t5\n37319\t5\n37326\t5\n37327\t5\n37343\t5\n37346\t5\n37362\t5\n37376\t5\n37386\t5\n37391\t5\n37403\t5\n37414\t5\n37416\t5\n37417\t5\n37418\t5\n37422\t5\n37424\t5\n37429\t5\n37433\t5\n37438\t5\n37455\t5\n37457\t5\n37462\t5\n37464\t5\n37472\t5\n37476\t5\n37486\t5\n37489\t5\n37493\t5\n37495\t5\n37499\t5\n37500\t5\n37503\t5\n37504\t5\n37511\t5\n37514\t5\n37519\t5\n37520\t5\n37522\t5\n37540\t5\n37546\t5\n37548\t5\n37549\t5\n37551\t5\n37559\t5\n37561\t5\n37563\t5\n37564\t5\n37568\t5\n37586\t5\n37597\t5\n37607\t5\n37619\t5\n37621\t5\n37640\t5\n37651\t5\n37664\t5\n37686\t5\n37687\t5\n37689\t5\n37695\t5\n37700\t5\n37710\t5\n37711\t5\n37712\t5\n37717\t5\n37732\t5\n37733\t5\n37737\t5\n37739\t5\n37740\t5\n37741\t5\n37742\t5\n37745\t5\n37749\t5\n37751\t5\n37753\t5\n37754\t5\n37757\t5\n37760\t5\n37766\t5\n37772\t5\n37776\t5\n37788\t5\n37790\t5\n37794\t5\n37796\t5\n37799\t5\n37809\t5\n37813\t5\n37825\t5\n37838\t5\n37841\t5\n37848\t5\n37855\t5\n37870\t5\n37874\t5\n37885\t5\n37888\t5\n37894\t5\n37898\t5\n37909\t5\n37911\t5\n37914\t5\n37920\t5\n37925\t5\n37927\t5\n37928\t5\n37929\t5\n37935\t5\n37939\t5\n37949\t5\n37950\t5\n37951\t5\n37954\t5\n37959\t5\n37960\t5\n37966\t5\n37971\t5\n37973\t5\n37977\t5\n37989\t5\n37998\t5\n37999\t5\n38001\t5\n38013\t5\n38035\t5\n38038\t5\n38042\t5\n38052\t5\n38057\t5\n38059\t5\n38073\t5\n38080\t5\n38091\t5\n38094\t5\n38105\t5\n38110\t5\n38114\t5\n38123\t5\n38130\t5\n38131\t5\n38136\t5\n38145\t5\n38151\t5\n38161\t5\n38167\t5\n38194\t5\n38196\t5\n38199\t5\n38200\t5\n38201\t5\n38204\t5\n38206\t5\n38207\t5\n38208\t5\n38211\t5\n38215\t5\n38226\t5\n38231\t5\n38239\t5\n38260\t5\n38269\t5\n38277\t5\n38278\t5\n38283\t5\n38284\t5\n38288\t5\n38299\t5\n38305\t5\n38314\t5\n38324\t5\n38331\t5\n38333\t5\n38339\t5\n38345\t5\n38353\t5\n38356\t5\n38384\t5\n38389\t5\n38390\t5\n38391\t5\n38399\t5\n38400\t5\n38411\t5\n38412\t5\n38417\t5\n38425\t5\n38437\t5\n38438\t5\n38446\t5\n38448\t5\n38456\t5\n38467\t5\n38478\t5\n38479\t5\n38488\t5\n38495\t5\n38506\t5\n38510\t5\n38514\t5\n38518\t5\n38538\t5\n38549\t5\n38555\t5\n38560\t5\n38569\t5\n38572\t5\n38573\t5\n38591\t5\n38599\t5\n38611\t5\n38631\t5\n38633\t5\n38634\t5\n38642\t5\n38653\t5\n38657\t5\n38662\t5\n38673\t5\n38694\t5\n38695\t5\n38698\t5\n38704\t5\n38707\t5\n38709\t5\n38710\t5\n38711\t5\n38715\t5\n38716\t5\n38731\t5\n38734\t5\n38751\t5\n38754\t5\n38757\t5\n38761\t5\n38762\t5\n38767\t5\n38771\t5\n38774\t5\n38782\t5\n38798\t5\n38803\t5\n38813\t5\n38837\t5\n38845\t5\n38850\t5\n38865\t5\n38872\t5\n38877\t5\n38886\t5\n38896\t5\n38899\t5\n38902\t5\n38904\t5\n38905\t5\n38911\t5\n38913\t5\n38915\t5\n38929\t5\n38931\t5\n38949\t5\n38951\t5\n38959\t5\n38963\t5\n38970\t5\n38988\t5\n38990\t5\n38996\t5\n39007\t5\n39012\t5\n39020\t5\n39027\t5\n39039\t5\n39044\t5\n39046\t5\n39051\t5\n39062\t5\n39064\t5\n39096\t5\n39097\t5\n39101\t5\n39115\t5\n39120\t5\n39156\t5\n39158\t5\n39161\t5\n39170\t5\n39173\t5\n39174\t5\n39177\t5\n39189\t5\n39191\t5\n39196\t5\n39206\t5\n39225\t5\n39228\t5\n39230\t5\n39231\t5\n39241\t5\n39245\t5\n39246\t5\n39256\t5\n39258\t5\n39263\t5\n39273\t5\n39280\t5\n39285\t5\n39290\t5\n39301\t5\n39305\t5\n39308\t5\n39311\t5\n39314\t5\n39316\t5\n39317\t5\n39321\t5\n39324\t5\n39327\t5\n39329\t5\n39344\t5\n39354\t5\n39356\t5\n39366\t5\n39375\t5\n39376\t5\n39386\t5\n39387\t5\n39390\t5\n39404\t5\n39408\t5\n39414\t5\n39419\t5\n39420\t5\n39421\t5\n39429\t5\n39434\t5\n39437\t5\n39439\t5\n39440\t5\n39448\t5\n39450\t5\n39453\t5\n39454\t5\n39462\t5\n39471\t5\n39476\t5\n39482\t5\n39486\t5\n39497\t5\n39501\t5\n39504\t5\n39505\t5\n39512\t5\n39523\t5\n39524\t5\n39531\t5\n39538\t5\n39555\t5\n39557\t5\n39561\t5\n39567\t5\n39570\t5\n39571\t5\n39575\t5\n39576\t5\n39590\t5\n39596\t5\n39604\t5\n39612\t5\n39631\t5\n39643\t5\n39656\t5\n39670\t5\n39676\t5\n39682\t5\n39684\t5\n39686\t5\n39688\t5\n39698\t5\n39700\t5\n39702\t5\n39709\t5\n39710\t5\n39712\t5\n39716\t5\n39718\t5\n39720\t5\n39722\t5\n39743\t5\n39745\t5\n39757\t5\n39770\t5\n39774\t5\n39798\t5\n39802\t5\n39804\t5\n39806\t5\n39812\t5\n39814\t5\n39818\t5\n39821\t5\n39830\t5\n39839\t5\n39841\t5\n39843\t5\n39853\t5\n39855\t5\n39873\t5\n39875\t5\n39876\t5\n39881\t5\n39885\t5\n39887\t5\n39894\t5\n39907\t5\n39912\t5\n39916\t5\n39920\t5\n39931\t5\n39932\t5\n39939\t5\n39940\t5\n39946\t5\n39957\t5\n39958\t5\n39961\t5\n39973\t5\n39974\t5\n39984\t5\n39985\t5\n39989\t5\n39990\t5\n39996\t5\n39997\t5\n40002\t5\n40004\t5\n40008\t5\n40010\t5\n40013\t5\n40017\t5\n40025\t5\n40039\t5\n40040\t5\n40045\t5\n40047\t5\n40053\t5\n40057\t5\n40060\t5\n40062\t5\n40066\t5\n40077\t5\n40078\t5\n40098\t5\n40100\t5\n40101\t5\n40104\t5\n40112\t5\n40115\t5\n40117\t5\n40118\t5\n40123\t5\n40128\t5\n40159\t5\n40164\t5\n40179\t5\n40180\t5\n40190\t5\n40195\t5\n40205\t5\n40207\t5\n40212\t5\n40217\t5\n40233\t5\n40240\t5\n40248\t5\n40252\t5\n40254\t5\n40268\t5\n40269\t5\n40279\t5\n40281\t5\n40282\t5\n40291\t5\n40297\t5\n40298\t5\n40300\t5\n40305\t5\n40307\t5\n40311\t5\n40312\t5\n40315\t5\n40320\t5\n40323\t5\n40326\t5\n40341\t5\n40348\t5\n40352\t5\n40354\t5\n40355\t5\n40359\t5\n40371\t5\n40376\t5\n40379\t5\n40381\t5\n40387\t5\n40398\t5\n40399\t5\n40405\t5\n40406\t5\n40413\t5\n40433\t5\n40436\t5\n40453\t5\n40455\t5\n40464\t5\n40471\t5\n40498\t5\n40505\t5\n40507\t5\n40511\t5\n40521\t5\n40529\t5\n40533\t5\n40538\t5\n40541\t5\n40542\t5\n40544\t5\n40546\t5\n40567\t5\n40570\t5\n40571\t5\n40572\t5\n40580\t5\n40585\t5\n40590\t5\n40606\t5\n40608\t5\n40611\t5\n40616\t5\n40620\t5\n40626\t5\n40628\t5\n40629\t5\n40643\t5\n40656\t5\n40658\t5\n40659\t5\n40661\t5\n40662\t5\n40664\t5\n40671\t5\n40675\t5\n40693\t5\n40699\t5\n40704\t5\n40705\t5\n40706\t5\n40709\t5\n40712\t5\n40713\t5\n40717\t5\n40729\t5\n40745\t5\n40750\t5\n40752\t5\n40760\t5\n40763\t5\n40781\t5\n40802\t5\n40803\t5\n40819\t5\n40837\t5\n40842\t5\n40844\t5\n40846\t5\n40881\t5\n40884\t5\n40889\t5\n40892\t5\n40901\t5\n40913\t5\n40914\t5\n40915\t5\n40928\t5\n40933\t5\n40934\t5\n40936\t5\n40943\t5\n40953\t5\n40963\t5\n40970\t5\n40975\t5\n40986\t5\n40988\t5\n40993\t5\n40994\t5\n40995\t5\n40997\t5\n40999\t5\n41010\t5\n41014\t5\n41020\t5\n41036\t5\n41039\t5\n41055\t5\n41057\t5\n41061\t5\n41069\t5\n41072\t5\n41077\t5\n41084\t5\n41087\t5\n41102\t5\n41108\t5\n41114\t5\n41117\t5\n41125\t5\n41126\t5\n41130\t5\n41135\t5\n41138\t5\n41151\t5\n41163\t5\n41170\t5\n41178\t5\n41184\t5\n41185\t5\n41188\t5\n41190\t5\n41193\t5\n41203\t5\n41209\t5\n41212\t5\n41214\t5\n41225\t5\n41227\t5\n41229\t5\n41233\t5\n41237\t5\n41241\t5\n41247\t5\n41259\t5\n41260\t5\n41261\t5\n41268\t5\n41275\t5\n41279\t5\n41282\t5\n41289\t5\n41291\t5\n41292\t5\n41299\t5\n41305\t5\n41308\t5\n41309\t5\n41311\t5\n41339\t5\n41342\t5\n41344\t5\n41345\t5\n41348\t5\n41358\t5\n41364\t5\n41366\t5\n41368\t5\n41369\t5\n41372\t5\n41379\t5\n41406\t5\n41414\t5\n41420\t5\n41433\t5\n41437\t5\n41465\t5\n41479\t5\n41480\t5\n41481\t5\n41483\t5\n41484\t5\n41489\t5\n41490\t5\n41491\t5\n41503\t5\n41507\t5\n41511\t5\n41516\t5\n41523\t5\n41529\t5\n41530\t5\n41541\t5\n41547\t5\n41551\t5\n41564\t5\n41568\t5\n41572\t5\n41579\t5\n41588\t5\n41599\t5\n41607\t5\n41610\t5\n41621\t5\n41631\t5\n41633\t5\n41634\t5\n41635\t5\n41659\t5\n41661\t5\n41664\t5\n41671\t5\n41677\t5\n41678\t5\n41683\t5\n41692\t5\n41696\t5\n41713\t5\n41719\t5\n41725\t5\n41730\t5\n41738\t5\n41744\t5\n41746\t5\n41748\t5\n41750\t5\n41754\t5\n41768\t5\n41780\t5\n41786\t5\n41798\t5\n41817\t5\n41820\t5\n41824\t5\n41825\t5\n41829\t5\n41839\t5\n41854\t5\n41855\t5\n41859\t5\n41864\t5\n41868\t5\n41869\t5\n41872\t5\n41892\t5\n41896\t5\n41901\t5\n41908\t5\n41915\t5\n41926\t5\n41930\t5\n41936\t5\n41947\t5\n41955\t5\n41969\t5\n41974\t5\n41976\t5\n41978\t5\n41980\t5\n41989\t5\n41991\t5\n42005\t5\n42015\t5\n42025\t5\n42029\t5\n42038\t5\n42043\t5\n42053\t5\n42055\t5\n42056\t5\n42058\t5\n42059\t5\n42071\t5\n42079\t5\n42080\t5\n42082\t5\n42092\t5\n42096\t5\n42108\t5\n42109\t5\n42112\t5\n42121\t5\n42122\t5\n42125\t5\n42127\t5\n42130\t5\n42134\t5\n42135\t5\n42136\t5\n42140\t5\n42149\t5\n42150\t5\n42151\t5\n42153\t5\n42154\t5\n42156\t5\n42158\t5\n42163\t5\n42164\t5\n42166\t5\n42170\t5\n42171\t5\n42175\t5\n42190\t5\n42192\t5\n42199\t5\n42210\t5\n42211\t5\n42218\t5\n42221\t5\n42222\t5\n42236\t5\n42241\t5\n42258\t5\n42261\t5\n42268\t5\n42272\t5\n42281\t5\n42283\t5\n42296\t5\n42301\t5\n42309\t5\n42310\t5\n42321\t5\n42326\t5\n42336\t5\n42344\t5\n42349\t5\n42363\t5\n42367\t5\n42369\t5\n42379\t5\n42385\t5\n42393\t5\n42396\t5\n42401\t5\n42409\t5\n42412\t5\n42413\t5\n42416\t5\n42418\t5\n42433\t5\n42437\t5\n42463\t5\n42464\t5\n42466\t5\n42491\t5\n42493\t5\n42502\t5\n42513\t5\n42514\t5\n42517\t5\n42519\t5\n42524\t5\n42536\t5\n42538\t5\n42545\t5\n42549\t5\n42561\t5\n42571\t5\n42575\t5\n42581\t5\n42585\t5\n42588\t5\n42589\t5\n42592\t5\n42599\t5\n42605\t5\n42606\t5\n42608\t5\n42611\t5\n42613\t5\n42615\t5\n42622\t5\n42626\t5\n42629\t5\n42641\t5\n42643\t5\n42652\t5\n42653\t5\n42655\t5\n42682\t5\n42687\t5\n42689\t5\n42697\t5\n42698\t5\n42713\t5\n42716\t5\n42717\t5\n42730\t5\n42735\t5\n42738\t5\n42740\t5\n42744\t5\n42748\t5\n42750\t5\n42768\t5\n42782\t5\n42796\t5\n42804\t5\n42817\t5\n42819\t5\n42837\t5\n42849\t5\n42851\t5\n42867\t5\n42869\t5\n42870\t5\n42875\t5\n42877\t5\n42884\t5\n42891\t5\n42898\t5\n42908\t5\n42910\t5\n42914\t5\n42916\t5\n42918\t5\n42921\t5\n42935\t5\n42945\t5\n42954\t5\n42962\t5\n42966\t5\n42971\t5\n42980\t5\n42983\t5\n42987\t5\n42988\t5\n42990\t5\n43007\t5\n43009\t5\n43013\t5\n43018\t5\n43019\t5\n43027\t5\n43041\t5\n43050\t5\n43051\t5\n43055\t5\n43065\t5\n43073\t5\n43081\t5\n43083\t5\n43089\t5\n43091\t5\n43099\t5\n43110\t5\n43111\t5\n43112\t5\n43119\t5\n43122\t5\n43140\t5\n43142\t5\n43148\t5\n43151\t5\n43156\t5\n43158\t5\n43165\t5\n43174\t5\n43189\t5\n43215\t5\n43216\t5\n43220\t5\n43221\t5\n43265\t5\n43266\t5\n43270\t5\n43272\t5\n43291\t5\n43305\t5\n43311\t5\n43312\t5\n43313\t5\n43319\t5\n43325\t5\n43334\t5\n43335\t5\n43338\t5\n43340\t5\n43359\t5\n43361\t5\n43365\t5\n43368\t5\n43376\t5\n43380\t5\n43399\t5\n43402\t5\n43407\t5\n43409\t5\n43420\t5\n43423\t5\n43429\t5\n43430\t5\n43431\t5\n43432\t5\n43434\t5\n43438\t5\n43444\t5\n43450\t5\n43451\t5\n43452\t5\n43454\t5\n43456\t5\n43471\t5\n43472\t5\n43473\t5\n43480\t5\n43486\t5\n43506\t5\n43507\t5\n43510\t5\n43520\t5\n43525\t5\n43530\t5\n43531\t5\n43532\t5\n43538\t5\n43546\t5\n43558\t5\n43559\t5\n43578\t5\n43579\t5\n43590\t5\n43609\t5\n43613\t5\n43616\t5\n43621\t5\n43624\t5\n43631\t5\n43651\t5\n43655\t5\n43658\t5\n43671\t5\n43680\t5\n43684\t5\n43685\t5\n43691\t5\n43699\t5\n43709\t5\n43710\t5\n43720\t5\n43725\t5\n43746\t5\n43756\t5\n43759\t5\n43761\t5\n43768\t5\n43773\t5\n43781\t5\n43784\t5\n43786\t5\n43806\t5\n43808\t5\n43815\t5\n43820\t5\n43821\t5\n43825\t5\n43833\t5\n43839\t5\n43843\t5\n43845\t5\n43849\t5\n43854\t5\n43860\t5\n43873\t5\n43874\t5\n43878\t5\n43881\t5\n43886\t5\n43893\t5\n43897\t5\n43900\t5\n43907\t5\n43912\t5\n43920\t5\n43922\t5\n43928\t5\n43936\t5\n43946\t5\n43954\t5\n43958\t5\n43964\t5\n43971\t5\n43985\t5\n43995\t5\n44003\t5\n44007\t5\n44008\t5\n44011\t5\n44018\t5\n44019\t5\n44024\t5\n44030\t5\n44039\t5\n44053\t5\n44058\t5\n44066\t5\n44070\t5\n44071\t5\n44073\t5\n44074\t5\n44082\t5\n44089\t5\n44101\t5\n44107\t5\n44119\t5\n44120\t5\n44129\t5\n44132\t5\n44137\t5\n44142\t5\n44144\t5\n44145\t5\n44146\t5\n44168\t5\n44171\t5\n44176\t5\n44181\t5\n44186\t5\n44191\t5\n44193\t5\n44202\t5\n44231\t5\n44246\t5\n44247\t5\n44253\t5\n44259\t5\n44263\t5\n44264\t5\n44265\t5\n44268\t5\n44269\t5\n44278\t5\n44285\t5\n44290\t5\n44315\t5\n44321\t5\n44346\t5\n44353\t5\n44358\t5\n44363\t5\n44366\t5\n44368\t5\n44380\t5\n44384\t5\n44390\t5\n44392\t5\n44405\t5\n44406\t5\n44412\t5\n44421\t5\n44426\t5\n44434\t5\n44439\t5\n44440\t5\n44444\t5\n44461\t5\n44463\t5\n44470\t5\n44471\t5\n44478\t5\n44491\t5\n44508\t5\n44511\t5\n44516\t5\n44521\t5\n44526\t5\n44529\t5\n44533\t5\n44538\t5\n44547\t5\n44548\t5\n44552\t5\n44565\t5\n44591\t5\n44603\t5\n44604\t5\n44619\t5\n44620\t5\n44624\t5\n44632\t5\n44637\t5\n44644\t5\n44647\t5\n44653\t5\n44656\t5\n44659\t5\n44663\t5\n44670\t5\n44691\t5\n44708\t5\n44713\t5\n44737\t5\n44741\t5\n44754\t5\n44755\t5\n44759\t5\n44764\t5\n44767\t5\n44771\t5\n44775\t5\n44787\t5\n44789\t5\n44791\t5\n44806\t5\n44808\t5\n44829\t5\n44843\t5\n44845\t5\n44851\t5\n44853\t5\n44854\t5\n44867\t5\n44871\t5\n44872\t5\n44880\t5\n44894\t5\n44897\t5\n44899\t5\n44907\t5\n44913\t5\n44932\t5\n44941\t5\n44944\t5\n44948\t5\n44951\t5\n44954\t5\n44958\t5\n44963\t5\n44968\t5\n44974\t5\n44979\t5\n44981\t5\n45000\t5\n45008\t5\n45010\t5\n45018\t5\n45022\t5\n45039\t5\n45044\t5\n45045\t5\n45049\t5\n45051\t5\n45057\t5\n45058\t5\n45060\t5\n45066\t5\n45084\t5\n45087\t5\n45090\t5\n45094\t5\n45097\t5\n45106\t5\n45112\t5\n45115\t5\n45116\t5\n45120\t5\n45122\t5\n45144\t5\n45155\t5\n45156\t5\n45161\t5\n45165\t5\n45166\t5\n45172\t5\n45173\t5\n45174\t5\n45177\t5\n45181\t5\n45197\t5\n45200\t5\n45214\t5\n45227\t5\n45228\t5\n45239\t5\n45244\t5\n45247\t5\n45273\t5\n45278\t5\n45286\t5\n45292\t5\n45303\t5\n45304\t5\n45306\t5\n45314\t5\n45315\t5\n45316\t5\n45318\t5\n45319\t5\n45328\t5\n45329\t5\n45330\t5\n45342\t5\n45353\t5\n45354\t5\n45360\t5\n45361\t5\n45366\t5\n45394\t5\n45397\t5\n45400\t5\n45402\t5\n45407\t5\n45410\t5\n45411\t5\n45412\t5\n45413\t5\n45417\t5\n45422\t5\n45429\t5\n45440\t5\n45441\t5\n45451\t5\n45453\t5\n45471\t5\n45472\t5\n45476\t5\n45487\t5\n45494\t5\n45500\t5\n45505\t5\n45506\t5\n45513\t5\n45518\t5\n45520\t5\n45524\t5\n45532\t5\n45545\t5\n45550\t5\n45553\t5\n45559\t5\n45604\t5\n45605\t5\n45609\t5\n45620\t5\n45626\t5\n45633\t5\n45634\t5\n45642\t5\n45650\t5\n45653\t5\n45657\t5\n45660\t5\n45663\t5\n45674\t5\n45685\t5\n45686\t5\n45692\t5\n45710\t5\n45712\t5\n45723\t5\n45724\t5\n45728\t5\n45733\t5\n45739\t5\n45742\t5\n45749\t5\n45752\t5\n45756\t5\n45757\t5\n45764\t5\n45770\t5\n45773\t5\n45775\t5\n45778\t5\n45779\t5\n45783\t5\n45784\t5\n45787\t5\n45788\t5\n45790\t5\n45794\t5\n45804\t5\n45811\t5\n45822\t5\n45831\t5\n45848\t5\n45849\t5\n45850\t5\n45858\t5\n45859\t5\n45861\t5\n45866\t5\n45867\t5\n45870\t5\n45873\t5\n45891\t5\n45892\t5\n45903\t5\n45906\t5\n45907\t5\n45909\t5\n45912\t5\n45926\t5\n45936\t5\n45940\t5\n45946\t5\n45950\t5\n45958\t5\n45964\t5\n45978\t5\n45980\t5\n45987\t5\n45988\t5\n45990\t5\n45992\t5\n45998\t5\n46001\t5\n46007\t5\n46018\t5\n46019\t5\n46021\t5\n46024\t5\n46026\t5\n46033\t5\n46036\t5\n46042\t5\n46056\t5\n46061\t5\n46064\t5\n46067\t5\n46069\t5\n46092\t5\n46093\t5\n46105\t5\n46111\t5\n46115\t5\n46126\t5\n46131\t5\n46134\t5\n46136\t5\n46138\t5\n46145\t5\n46156\t5\n46162\t5\n46175\t5\n46180\t5\n46183\t5\n46184\t5\n46187\t5\n46189\t5\n46190\t5\n46204\t5\n46222\t5\n46224\t5\n46225\t5\n46228\t5\n46233\t5\n46237\t5\n46244\t5\n46246\t5\n46248\t5\n46258\t5\n46265\t5\n46272\t5\n46274\t5\n46289\t5\n46296\t5\n46301\t5\n46316\t5\n46325\t5\n46330\t5\n46333\t5\n46336\t5\n46337\t5\n46347\t5\n46348\t5\n46353\t5\n46368\t5\n46381\t5\n46385\t5\n46394\t5\n46395\t5\n46401\t5\n46402\t5\n46403\t5\n46405\t5\n46408\t5\n46410\t5\n46415\t5\n46417\t5\n46423\t5\n46428\t5\n46432\t5\n46434\t5\n46439\t5\n46444\t5\n46452\t5\n46463\t5\n46465\t5\n46471\t5\n46481\t5\n46487\t5\n46493\t5\n46499\t5\n46514\t5\n46515\t5\n46516\t5\n46519\t5\n46523\t5\n46533\t5\n46537\t5\n46545\t5\n46555\t5\n46562\t5\n46563\t5\n46575\t5\n46579\t5\n46583\t5\n46584\t5\n46587\t5\n46589\t5\n46594\t5\n46596\t5\n46618\t5\n46621\t5\n46631\t5\n46642\t5\n46646\t5\n46665\t5\n46667\t5\n46668\t5\n46670\t5\n46672\t5\n46673\t5\n46690\t5\n46692\t5\n46693\t5\n46694\t5\n46696\t5\n46707\t5\n46718\t5\n46719\t5\n46721\t5\n46723\t5\n46755\t5\n46765\t5\n46771\t5\n46785\t5\n46788\t5\n46793\t5\n46799\t5\n46811\t5\n46812\t5\n46823\t5\n46834\t5\n46841\t5\n46844\t5\n46845\t5\n46850\t5\n46851\t5\n46859\t5\n46870\t5\n46872\t5\n46873\t5\n46876\t5\n46878\t5\n46890\t5\n46893\t5\n46900\t5\n46903\t5\n46918\t5\n46923\t5\n46929\t5\n46931\t5\n46944\t5\n46957\t5\n46958\t5\n46964\t5\n46969\t5\n46971\t5\n46983\t5\n46984\t5\n46986\t5\n46995\t5\n47003\t5\n47007\t5\n47010\t5\n47013\t5\n47020\t5\n47027\t5\n47032\t5\n47036\t5\n47037\t5\n47040\t5\n47042\t5\n47044\t5\n47048\t5\n47053\t5\n47065\t5\n47072\t5\n47080\t5\n47093\t5\n47095\t5\n47100\t5\n47105\t5\n47106\t5\n47118\t5\n47125\t5\n47133\t5\n47134\t5\n47140\t5\n47149\t5\n47158\t5\n47159\t5\n47174\t5\n47185\t5\n47187\t5\n47188\t5\n47191\t5\n47192\t5\n47193\t5\n47197\t5\n47217\t5\n47220\t5\n47228\t5\n47233\t5\n47240\t5\n47243\t5\n47249\t5\n47261\t5\n47263\t5\n47267\t5\n47269\t5\n47275\t5\n47276\t5\n47280\t5\n47285\t5\n47295\t5\n47300\t5\n47306\t5\n47313\t5\n47325\t5\n47331\t5\n47340\t5\n47341\t5\n47349\t5\n47350\t5\n47361\t5\n47363\t5\n47372\t5\n47374\t5\n47377\t5\n47378\t5\n47379\t5\n47404\t5\n47406\t5\n47417\t5\n47418\t5\n47422\t5\n47437\t5\n47439\t5\n47444\t5\n47445\t5\n47455\t5\n47457\t5\n47482\t5\n47487\t5\n47490\t5\n47492\t5\n47500\t5\n47508\t5\n47524\t5\n47540\t5\n47549\t5\n47550\t5\n47566\t5\n47567\t5\n47569\t5\n47575\t5\n47579\t5\n47581\t5\n47585\t5\n47594\t5\n47609\t5\n47612\t5\n47634\t5\n47636\t5\n47641\t5\n47651\t5\n47653\t5\n47662\t5\n47680\t5\n47681\t5\n47683\t5\n47684\t5\n47692\t5\n47701\t5\n47702\t5\n47710\t5\n47712\t5\n47714\t5\n47715\t5\n47719\t5\n47721\t5\n47730\t5\n47741\t5\n47745\t5\n47748\t5\n47749\t5\n47763\t5\n47775\t5\n47788\t5\n47794\t5\n47797\t5\n47802\t5\n47803\t5\n47817\t5\n47819\t5\n47821\t5\n47825\t5\n47826\t5\n47828\t5\n47839\t5\n47842\t5\n47846\t5\n47849\t5\n47856\t5\n47877\t5\n47897\t5\n47912\t5\n47914\t5\n47923\t5\n47925\t5\n47947\t5\n47950\t5\n47960\t5\n47964\t5\n47972\t5\n47979\t5\n47983\t5\n47986\t5\n47987\t5\n47996\t5\n48004\t5\n48009\t5\n48010\t5\n48011\t5\n48014\t5\n48019\t5\n48030\t5\n48039\t5\n48042\t5\n48047\t5\n48048\t5\n48049\t5\n48054\t5\n48056\t5\n48057\t5\n48060\t5\n48064\t5\n48069\t5\n48071\t5\n48072\t5\n48079\t5\n48081\t5\n48087\t5\n48089\t5\n48090\t5\n48101\t5\n48103\t5\n48110\t5\n48112\t5\n48115\t5\n48120\t5\n48129\t5\n48134\t5\n48136\t5\n48138\t5\n48141\t5\n48150\t5\n48151\t5\n48155\t5\n48157\t5\n48160\t5\n48169\t5\n48179\t5\n48190\t5\n48197\t5\n48200\t5\n48206\t5\n48213\t5\n48245\t5\n48260\t5\n48261\t5\n48264\t5\n48272\t5\n48273\t5\n48284\t5\n48288\t5\n48295\t5\n48317\t5\n48318\t5\n48330\t5\n48335\t5\n48342\t5\n48343\t5\n48344\t5\n48345\t5\n48348\t5\n48361\t5\n48363\t5\n48368\t5\n48369\t5\n48378\t5\n48379\t5\n48383\t5\n48404\t5\n48406\t5\n48412\t5\n48414\t5\n48439\t5\n48447\t5\n48450\t5\n48453\t5\n48454\t5\n48458\t5\n48459\t5\n48464\t5\n48471\t5\n48487\t5\n48507\t5\n48508\t5\n48521\t5\n48535\t5\n48557\t5\n48564\t5\n48565\t5\n48568\t5\n48581\t5\n48583\t5\n48588\t5\n48594\t5\n48615\t5\n48616\t5\n48619\t5\n48622\t5\n48627\t5\n48632\t5\n48639\t5\n48651\t5\n48653\t5\n48654\t5\n48661\t5\n48662\t5\n48666\t5\n48667\t5\n48671\t5\n48677\t5\n48685\t5\n48687\t5\n48688\t5\n48691\t5\n48720\t5\n48721\t5\n48723\t5\n48729\t5\n48730\t5\n48731\t5\n48736\t5\n48738\t5\n48739\t5\n48743\t5\n48757\t5\n48761\t5\n48768\t5\n48771\t5\n48773\t5\n48775\t5\n48777\t5\n48784\t5\n48793\t5\n48796\t5\n48806\t5\n48813\t5\n48831\t5\n48833\t5\n48837\t5\n48844\t5\n48847\t5\n48857\t5\n48860\t5\n48861\t5\n48862\t5\n48864\t5\n48865\t5\n48870\t5\n48887\t5\n48893\t5\n48898\t5\n48900\t5\n48906\t5\n48913\t5\n48917\t5\n48918\t5\n48926\t5\n48929\t5\n48933\t5\n48935\t5\n48938\t5\n48940\t5\n48946\t5\n48951\t5\n48959\t5\n48973\t5\n48974\t5\n48975\t5\n48987\t5\n48990\t5\n49001\t5\n49006\t5\n49009\t5\n49024\t5\n49026\t5\n49031\t5\n49054\t5\n49062\t5\n49079\t5\n49095\t5\n49105\t5\n49106\t5\n49109\t5\n49112\t5\n49127\t5\n49130\t5\n49135\t5\n49137\t5\n49145\t5\n49150\t5\n49165\t5\n49183\t5\n49189\t5\n49196\t5\n49197\t5\n49201\t5\n49206\t5\n49223\t5\n49238\t5\n49241\t5\n49246\t5\n49255\t5\n49256\t5\n49265\t5\n49272\t5\n49278\t5\n49286\t5\n49288\t5\n49298\t5\n49300\t5\n49304\t5\n49319\t5\n49339\t5\n49341\t5\n49345\t5\n49356\t5\n49359\t5\n49364\t5\n49377\t5\n49379\t5\n49393\t5\n49405\t5\n49410\t5\n49411\t5\n49412\t5\n49414\t5\n49418\t5\n49419\t5\n49425\t5\n49430\t5\n49432\t5\n49434\t5\n49444\t5\n49454\t5\n49456\t5\n49461\t5\n49467\t5\n49492\t5\n49495\t5\n49497\t5\n49508\t5\n49510\t5\n49511\t5\n49513\t5\n49515\t5\n49532\t5\n49540\t5\n49543\t5\n49554\t5\n49558\t5\n49562\t5\n49565\t5\n49567\t5\n49573\t5\n49578\t5\n49585\t5\n49587\t5\n49588\t5\n49591\t5\n49623\t5\n49627\t5\n49628\t5\n49635\t5\n49647\t5\n49655\t5\n49681\t5\n49685\t5\n49699\t5\n49702\t5\n49705\t5\n49709\t5\n49713\t5\n49730\t5\n49731\t5\n49732\t5\n49733\t5\n49736\t5\n49737\t5\n49747\t5\n49753\t5\n49756\t5\n49765\t5\n49773\t5\n49780\t5\n49793\t5\n49800\t5\n49808\t5\n49813\t5\n49816\t5\n49819\t5\n49840\t5\n49858\t5\n49859\t5\n49862\t5\n49863\t5\n49876\t5\n49880\t5\n49883\t5\n49885\t5\n49888\t5\n49889\t5\n49894\t5\n49895\t5\n49918\t5\n49922\t5\n49932\t5\n49934\t5\n49938\t5\n49951\t5\n49953\t5\n49956\t5\n49965\t5\n49973\t5\n49976\t5\n49990\t5\n49993\t5\n50005\t5\n50010\t5\n50025\t5\n50027\t5\n50041\t5\n50043\t5\n50049\t5\n50055\t5\n50057\t5\n50063\t5\n50067\t5\n50095\t5\n50103\t5\n50106\t5\n50113\t5\n50116\t5\n50136\t5\n50137\t5\n50138\t5\n50151\t5\n50160\t5\n50165\t5\n50167\t5\n50170\t5\n50174\t5\n50183\t5\n50185\t5\n50189\t5\n50190\t5\n50192\t5\n50197\t5\n50206\t5\n50227\t5\n50228\t5\n50233\t5\n50246\t5\n50251\t5\n50262\t5\n50268\t5\n50272\t5\n50275\t5\n50286\t5\n50301\t5\n50307\t5\n50309\t5\n50320\t5\n50325\t5\n50326\t5\n50333\t5\n50347\t5\n50350\t5\n50360\t5\n50362\t5\n50363\t5\n50374\t5\n50383\t5\n50384\t5\n50386\t5\n50387\t5\n50395\t5\n50406\t5\n50416\t5\n50421\t5\n50422\t5\n50425\t5\n50428\t5\n50437\t5\n50441\t5\n50442\t5\n50444\t5\n50445\t5\n50449\t5\n50461\t5\n50481\t5\n50488\t5\n50497\t5\n50504\t5\n50505\t5\n50511\t5\n50519\t5\n50520\t5\n50523\t5\n50526\t5\n50528\t5\n50532\t5\n50539\t5\n50542\t5\n50543\t5\n50560\t5\n50567\t5\n50577\t5\n50585\t5\n50587\t5\n50591\t5\n50593\t5\n50596\t5\n50598\t5\n50623\t5\n50635\t5\n50636\t5\n50637\t5\n50645\t5\n50655\t5\n50664\t5\n50666\t5\n50670\t5\n50684\t5\n50695\t5\n50702\t5\n50703\t5\n50718\t5\n50727\t5\n50729\t5\n50730\t5\n50734\t5\n50739\t5\n50742\t5\n50746\t5\n50755\t5\n50762\t5\n50765\t5\n50787\t5\n50790\t5\n50792\t5\n50794\t5\n50806\t5\n50817\t5\n50820\t5\n50821\t5\n50824\t5\n50827\t5\n50836\t5\n50847\t5\n50855\t5\n50857\t5\n50867\t5\n50869\t5\n50888\t5\n50893\t5\n50894\t5\n50901\t5\n50906\t5\n50908\t5\n50909\t5\n50927\t5\n50930\t5\n50946\t5\n50947\t5\n50962\t5\n50983\t5\n50986\t5\n50997\t5\n51004\t5\n51007\t5\n51012\t5\n51028\t5\n51037\t5\n51043\t5\n51045\t5\n51049\t5\n51051\t5\n51053\t5\n51054\t5\n51061\t5\n51078\t5\n51084\t5\n51086\t5\n51088\t5\n51090\t5\n51092\t5\n51095\t5\n51115\t5\n51123\t5\n51124\t5\n51133\t5\n51135\t5\n51145\t5\n51152\t5\n51155\t5\n51159\t5\n51166\t5\n51167\t5\n51168\t5\n51177\t5\n51181\t5\n51182\t5\n51190\t5\n51191\t5\n51196\t5\n51201\t5\n51207\t5\n51208\t5\n51209\t5\n51227\t5\n51233\t5\n51237\t5\n51240\t5\n51242\t5\n51244\t5\n51257\t5\n51262\t5\n51267\t5\n51272\t5\n51279\t5\n51280\t5\n51283\t5\n51285\t5\n51305\t5\n51307\t5\n51310\t5\n51311\t5\n51323\t5\n51332\t5\n51333\t5\n51351\t5\n51360\t5\n51361\t5\n51368\t5\n51374\t5\n51375\t5\n51400\t5\n51405\t5\n51413\t5\n51416\t5\n51435\t5\n51444\t5\n51445\t5\n51449\t5\n51451\t5\n51454\t5\n51461\t5\n51481\t5\n51485\t5\n51489\t5\n51500\t5\n51501\t5\n51503\t5\n51513\t5\n51514\t5\n51517\t5\n51519\t5\n51522\t5\n51527\t5\n51543\t5\n51545\t5\n51559\t5\n51580\t5\n51581\t5\n51594\t5\n51606\t5\n51608\t5\n51611\t5\n51617\t5\n51624\t5\n51630\t5\n51632\t5\n51640\t5\n51655\t5\n51658\t5\n51659\t5\n51667\t5\n51672\t5\n51684\t5\n51690\t5\n51698\t5\n51703\t5\n51705\t5\n51709\t5\n51713\t5\n51723\t5\n51735\t5\n51737\t5\n51743\t5\n51750\t5\n51756\t5\n51759\t5\n51770\t5\n51772\t5\n51777\t5\n51779\t5\n51786\t5\n51787\t5\n51794\t5\n51809\t5\n51817\t5\n51818\t5\n51833\t5\n51836\t5\n51837\t5\n51849\t5\n51863\t5\n51870\t5\n51872\t5\n51876\t5\n51880\t5\n51892\t5\n51918\t5\n51926\t5\n51935\t5\n51941\t5\n51946\t5\n51949\t5\n51959\t5\n51966\t5\n51971\t5\n51979\t5\n51982\t5\n51986\t5\n51989\t5\n51990\t5\n51995\t5\n51996\t5\n52013\t5\n52019\t5\n52024\t5\n52028\t5\n52031\t5\n52048\t5\n52050\t5\n52058\t5\n52066\t5\n52068\t5\n52069\t5\n52075\t5\n52076\t5\n52079\t5\n52081\t5\n52085\t5\n52093\t5\n52095\t5\n52106\t5\n52115\t5\n52128\t5\n52130\t5\n52133\t5\n52135\t5\n52150\t5\n52153\t5\n52157\t5\n52160\t5\n52172\t5\n52174\t5\n52179\t5\n52184\t5\n52185\t5\n52195\t5\n52196\t5\n52197\t5\n52200\t5\n52213\t5\n52215\t5\n52225\t5\n52229\t5\n52232\t5\n52233\t5\n52238\t5\n52242\t5\n52245\t5\n52249\t5\n52258\t5\n52261\t5\n52262\t5\n52266\t5\n52267\t5\n52269\t5\n52274\t5\n52277\t5\n52278\t5\n52286\t5\n52293\t5\n52304\t5\n52305\t5\n52311\t5\n52314\t5\n52321\t5\n52337\t5\n52340\t5\n52343\t5\n52344\t5\n52363\t5\n52366\t5\n52369\t5\n52374\t5\n52388\t5\n52392\t5\n52402\t5\n52405\t5\n52415\t5\n52420\t5\n52421\t5\n52431\t5\n52435\t5\n52439\t5\n52442\t5\n52447\t5\n52458\t5\n52462\t5\n52467\t5\n52476\t5\n52485\t5\n52508\t5\n52514\t5\n52515\t5\n52519\t5\n52533\t5\n52540\t5\n52541\t5\n52542\t5\n52545\t5\n52547\t5\n52554\t5\n52556\t5\n52559\t5\n52574\t5\n52578\t5\n52580\t5\n52589\t5\n52590\t5\n52591\t5\n52592\t5\n52602\t5\n52604\t5\n52607\t5\n52610\t5\n52614\t5\n52619\t5\n52620\t5\n52626\t5\n52627\t5\n52638\t5\n52639\t5\n52640\t5\n52646\t5\n52653\t5\n52655\t5\n52686\t5\n52693\t5\n52695\t5\n52697\t5\n52709\t5\n52717\t5\n52720\t5\n52725\t5\n52729\t5\n52734\t5\n52735\t5\n52739\t5\n52742\t5\n52743\t5\n52754\t5\n52758\t5\n52759\t5\n52762\t5\n52763\t5\n52767\t5\n52771\t5\n52772\t5\n52774\t5\n52783\t5\n52786\t5\n52787\t5\n52802\t5\n52813\t5\n52822\t5\n52826\t5\n52853\t5\n52854\t5\n52858\t5\n52867\t5\n52868\t5\n52871\t5\n52872\t5\n52876\t5\n52882\t5\n52889\t5\n52894\t5\n52900\t5\n52908\t5\n52916\t5\n52922\t5\n52923\t5\n52926\t5\n52932\t5\n52934\t5\n52946\t5\n52947\t5\n52950\t5\n52954\t5\n52964\t5\n52966\t5\n52967\t5\n52969\t5\n52975\t5\n52983\t5\n52986\t5\n52991\t5\n53002\t5\n53007\t5\n53009\t5\n53013\t5\n53015\t5\n53017\t5\n53018\t5\n53042\t5\n53046\t5\n53062\t5\n53064\t5\n53074\t5\n53082\t5\n53099\t5\n53103\t5\n53104\t5\n53108\t5\n53110\t5\n53113\t5\n53116\t5\n53125\t5\n53127\t5\n53128\t5\n53132\t5\n53144\t5\n53164\t5\n53171\t5\n53179\t5\n53181\t5\n53183\t5\n53185\t5\n53192\t5\n53193\t5\n53196\t5\n53199\t5\n53215\t5\n53224\t5\n53226\t5\n53229\t5\n53230\t5\n53235\t5\n53237\t5\n53257\t5\n53258\t5\n53263\t5\n53266\t5\n53268\t5\n53272\t5\n53274\t5\n53277\t5\n53282\t5\n53284\t5\n53289\t5\n53293\t5\n53297\t5\n53299\t5\n53317\t5\n53319\t5\n53330\t5\n53333\t5\n53334\t5\n53335\t5\n53338\t5\n53341\t5\n53345\t5\n53359\t5\n53361\t5\n53366\t5\n53368\t5\n53379\t5\n53380\t5\n53387\t5\n53388\t5\n53391\t5\n53404\t5\n53405\t5\n53406\t5\n53407\t5\n53410\t5\n53416\t5\n53420\t5\n53431\t5\n53447\t5\n53458\t5\n53464\t5\n53467\t5\n53470\t5\n53474\t5\n53483\t5\n53485\t5\n53495\t5\n53499\t5\n53507\t5\n53521\t5\n53524\t5\n53530\t5\n53537\t5\n53542\t5\n53552\t5\n53563\t5\n53564\t5\n53573\t5\n53576\t5\n53579\t5\n53580\t5\n53585\t5\n53591\t5\n53599\t5\n53610\t5\n53623\t5\n53625\t5\n53631\t5\n53634\t5\n53638\t5\n53644\t5\n53652\t5\n53654\t5\n53664\t5\n53666\t5\n53668\t5\n53678\t5\n53679\t5\n53685\t5\n53687\t5\n53698\t5\n53719\t5\n53720\t5\n53723\t5\n53728\t5\n53730\t5\n53734\t5\n53737\t5\n53738\t5\n53745\t5\n53773\t5\n53778\t5\n53779\t5\n53793\t5\n53798\t5\n53808\t5\n53809\t5\n53819\t5\n53827\t5\n53830\t5\n53833\t5\n53836\t5\n53843\t5\n53851\t5\n53852\t5\n53854\t5\n53858\t5\n53860\t5\n53866\t5\n53874\t5\n53887\t5\n53889\t5\n53893\t5\n53895\t5\n53905\t5\n53906\t5\n53915\t5\n53916\t5\n53931\t5\n53938\t5\n53942\t5\n53943\t5\n53950\t5\n53956\t5\n53961\t5\n53963\t5\n53968\t5\n53969\t5\n53970\t5\n53971\t5\n53979\t5\n53989\t5\n54002\t5\n54003\t5\n54009\t5\n54011\t5\n54023\t5\n54027\t5\n54029\t5\n54037\t5\n54043\t5\n54047\t5\n54049\t5\n54051\t5\n54056\t5\n54059\t5\n54062\t5\n54067\t5\n54069\t5\n54071\t5\n54072\t5\n54074\t5\n54079\t5\n54080\t5\n54098\t5\n54122\t5\n54124\t5\n54125\t5\n54129\t5\n54131\t5\n54138\t5\n54145\t5\n54148\t5\n54151\t5\n54157\t5\n54158\t5\n54162\t5\n54171\t5\n54177\t5\n54181\t5\n54190\t5\n54195\t5\n54205\t5\n54210\t5\n54211\t5\n54217\t5\n54228\t5\n54233\t5\n54234\t5\n54246\t5\n54250\t5\n54252\t5\n54255\t5\n54259\t5\n54267\t5\n54284\t5\n54286\t5\n54296\t5\n54297\t5\n54300\t5\n54302\t5\n54303\t5\n54306\t5\n54307\t5\n54308\t5\n54313\t5\n54320\t5\n54321\t5\n54323\t5\n54324\t5\n54339\t5\n54344\t5\n54346\t5\n54355\t5\n54360\t5\n54365\t5\n54366\t5\n54368\t5\n54382\t5\n54387\t5\n54388\t5\n54392\t5\n54396\t5\n54405\t5\n54408\t5\n54409\t5\n54413\t5\n54420\t5\n54422\t5\n54425\t5\n54441\t5\n54445\t5\n54446\t5\n54448\t5\n54462\t5\n54466\t5\n54472\t5\n54487\t5\n54499\t5\n54512\t5\n54520\t5\n54540\t5\n54542\t5\n54547\t5\n54551\t5\n54561\t5\n54572\t5\n54577\t5\n54587\t5\n54588\t5\n54589\t5\n54594\t5\n54597\t5\n54599\t5\n54601\t5\n54604\t5\n54610\t5\n54613\t5\n54620\t5\n54631\t5\n54632\t5\n54636\t5\n54645\t5\n54648\t5\n54649\t5\n54658\t5\n54659\t5\n54662\t5\n54664\t5\n54673\t5\n54678\t5\n54679\t5\n54687\t5\n54703\t5\n54705\t5\n54710\t5\n54715\t5\n54717\t5\n54719\t5\n54730\t5\n54732\t5\n54742\t5\n54743\t5\n54745\t5\n54760\t5\n54765\t5\n54768\t5\n54777\t5\n54778\t5\n54783\t5\n54785\t5\n54787\t5\n54792\t5\n54793\t5\n54798\t5\n54799\t5\n54802\t5\n54805\t5\n54807\t5\n54811\t5\n54813\t5\n54814\t5\n54815\t5\n54819\t5\n54822\t5\n54828\t5\n54830\t5\n54832\t5\n54834\t5\n54842\t5\n54844\t5\n54847\t5\n54854\t5\n54859\t5\n54862\t5\n54870\t5\n54878\t5\n54879\t5\n54894\t5\n54901\t5\n54906\t5\n54910\t5\n54914\t5\n54922\t5\n54933\t5\n54935\t5\n54936\t5\n54939\t5\n54953\t5\n54963\t5\n54968\t5\n54973\t5\n54981\t5\n54983\t5\n54987\t5\n55001\t5\n55004\t5\n55009\t5\n55010\t5\n55012\t5\n55015\t5\n55018\t5\n55026\t5\n55031\t5\n55036\t5\n55038\t5\n55041\t5\n55042\t5\n55047\t5\n55054\t5\n55061\t5\n55064\t5\n55065\t5\n55067\t5\n55070\t5\n55088\t5\n55089\t5\n55090\t5\n55093\t5\n55094\t5\n55102\t5\n55108\t5\n55121\t5\n55123\t5\n55124\t5\n55126\t5\n55128\t5\n55129\t5\n55152\t5\n55155\t5\n55157\t5\n55164\t5\n55167\t5\n55173\t5\n55174\t5\n55178\t5\n55179\t5\n55180\t5\n55185\t5\n55186\t5\n55188\t5\n55208\t5\n55215\t5\n55217\t5\n55219\t5\n55222\t5\n55231\t5\n55239\t5\n55243\t5\n55250\t5\n55255\t5\n55257\t5\n55260\t5\n55264\t5\n55266\t5\n55275\t5\n55290\t5\n55303\t5\n55304\t5\n55321\t5\n55323\t5\n55330\t5\n55332\t5\n55342\t5\n55343\t5\n55350\t5\n55359\t5\n55401\t5\n55403\t5\n55410\t5\n55419\t5\n55421\t5\n55429\t5\n55434\t5\n55443\t5\n55444\t5\n55449\t5\n55450\t5\n55451\t5\n55468\t5\n55472\t5\n55474\t5\n55475\t5\n55487\t5\n55491\t5\n55497\t5\n55501\t5\n55511\t5\n55525\t5\n55529\t5\n55539\t5\n55541\t5\n55543\t5\n55544\t5\n55549\t5\n55552\t5\n55564\t5\n55574\t5\n55580\t5\n55581\t5\n55588\t5\n55591\t5\n55594\t5\n55595\t5\n55617\t5\n55622\t5\n55626\t5\n55628\t5\n55636\t5\n55640\t5\n55641\t5\n55643\t5\n55651\t5\n55653\t5\n55667\t5\n55670\t5\n55673\t5\n55685\t5\n55687\t5\n55700\t5\n55702\t5\n55704\t5\n55710\t5\n55712\t5\n55722\t5\n55730\t5\n55735\t5\n55752\t5\n55754\t5\n55755\t5\n55758\t5\n55776\t5\n55782\t5\n55785\t5\n55791\t5\n55793\t5\n55794\t5\n55800\t5\n55806\t5\n55815\t5\n55818\t5\n55825\t5\n55826\t5\n55830\t5\n55832\t5\n55836\t5\n55838\t5\n55844\t5\n55853\t5\n55860\t5\n55863\t5\n55869\t5\n55881\t5\n55886\t5\n55890\t5\n55901\t5\n55917\t5\n55930\t5\n55937\t5\n55943\t5\n55945\t5\n55950\t5\n55953\t5\n55956\t5\n55958\t5\n55961\t5\n55962\t5\n55965\t5\n55969\t5\n55978\t5\n55980\t5\n55984\t5\n55990\t5\n55991\t5\n55993\t5\n55995\t5\n56002\t5\n56003\t5\n56005\t5\n56012\t5\n56017\t5\n56019\t5\n56020\t5\n56021\t5\n56025\t5\n56028\t5\n56030\t5\n56048\t5\n56049\t5\n56051\t5\n56055\t5\n56067\t5\n56068\t5\n56071\t5\n56086\t5\n56091\t5\n56093\t5\n56096\t5\n56098\t5\n56099\t5\n56102\t5\n56106\t5\n56111\t5\n56122\t5\n56131\t5\n56138\t5\n56140\t5\n56142\t5\n56145\t5\n56147\t5\n56154\t5\n56155\t5\n56164\t5\n56181\t5\n56203\t5\n56209\t5\n56214\t5\n56215\t5\n56216\t5\n56258\t5\n56260\t5\n56266\t5\n56270\t5\n56271\t5\n56274\t5\n56276\t5\n56295\t5\n56297\t5\n56303\t5\n56304\t5\n56332\t5\n56334\t5\n56340\t5\n56346\t5\n56350\t5\n56368\t5\n56376\t5\n56377\t5\n56379\t5\n56380\t5\n56381\t5\n56392\t5\n56394\t5\n56395\t5\n56401\t5\n56403\t5\n56404\t5\n56410\t5\n56414\t5\n56418\t5\n56424\t5\n56443\t5\n56445\t5\n56448\t5\n56454\t5\n56456\t5\n56458\t5\n56461\t5\n56467\t5\n56478\t5\n56484\t5\n56485\t5\n56486\t5\n56490\t5\n56491\t5\n56492\t5\n56498\t5\n56502\t5\n56510\t5\n56511\t5\n56519\t5\n56531\t5\n56544\t5\n56551\t5\n56552\t5\n56556\t5\n56557\t5\n56558\t5\n56559\t5\n56567\t5\n56568\t5\n56573\t5\n56574\t5\n56594\t5\n56596\t5\n56600\t5\n56603\t5\n56604\t5\n56608\t5\n56620\t5\n56635\t5\n56644\t5\n56652\t5\n56656\t5\n56662\t5\n56665\t5\n56666\t5\n56669\t5\n56674\t5\n56675\t5\n56681\t5\n56686\t5\n56691\t5\n56696\t5\n56700\t5\n56714\t5\n56720\t5\n56723\t5\n56728\t5\n56731\t5\n56736\t5\n56737\t5\n56739\t5\n56741\t5\n56742\t5\n56743\t5\n56754\t5\n56760\t5\n56765\t5\n56776\t5\n56778\t5\n56780\t5\n56781\t5\n56784\t5\n56785\t5\n56787\t5\n56809\t5\n56813\t5\n56814\t5\n56816\t5\n56842\t5\n56844\t5\n56848\t5\n56850\t5\n56852\t5\n56854\t5\n56859\t5\n56861\t5\n56862\t5\n56865\t5\n56881\t5\n56883\t5\n56886\t5\n56887\t5\n56888\t5\n56894\t5\n56895\t5\n56902\t5\n56903\t5\n56936\t5\n56952\t5\n56953\t5\n56965\t5\n56967\t5\n56968\t5\n56969\t5\n56974\t5\n56983\t5\n56988\t5\n56993\t5\n56995\t5\n56997\t5\n57025\t5\n57028\t5\n57035\t5\n57037\t5\n57043\t5\n57045\t5\n57048\t5\n57051\t5\n57061\t5\n57065\t5\n57066\t5\n57076\t5\n57081\t5\n57088\t5\n57093\t5\n57102\t5\n57107\t5\n57128\t5\n57131\t5\n57140\t5\n57152\t5\n57153\t5\n57155\t5\n57156\t5\n57158\t5\n57162\t5\n57168\t5\n57181\t5\n57200\t5\n57201\t5\n57202\t5\n57215\t5\n57216\t5\n57217\t5\n57225\t5\n57234\t5\n57238\t5\n57243\t5\n57250\t5\n57255\t5\n57260\t5\n57281\t5\n57285\t5\n57292\t5\n57297\t5\n57300\t5\n57307\t5\n57309\t5\n57312\t5\n57318\t5\n57320\t5\n57328\t5\n57331\t5\n57336\t5\n57339\t5\n57360\t5\n57363\t5\n57367\t5\n57370\t5\n57376\t5\n57378\t5\n57381\t5\n57383\t5\n57386\t5\n57394\t5\n57396\t5\n57400\t5\n57404\t5\n57407\t5\n57413\t5\n57421\t5\n57426\t5\n57434\t5\n57438\t5\n57439\t5\n57441\t5\n57449\t5\n57459\t5\n57462\t5\n57467\t5\n57476\t5\n57477\t5\n57478\t5\n57486\t5\n57495\t5\n57504\t5\n57505\t5\n57514\t5\n57519\t5\n57520\t5\n57526\t5\n57539\t5\n57549\t5\n57554\t5\n57555\t5\n57565\t5\n57566\t5\n57567\t5\n57577\t5\n57582\t5\n57585\t5\n57586\t5\n57590\t5\n57603\t5\n57604\t5\n57612\t5\n57616\t5\n57627\t5\n57632\t5\n57636\t5\n57638\t5\n57642\t5\n57647\t5\n57649\t5\n57662\t5\n57665\t5\n57675\t5\n57682\t5\n57690\t5\n57694\t5\n57698\t5\n57708\t5\n57713\t5\n57715\t5\n57720\t5\n57723\t5\n57731\t5\n57735\t5\n57738\t5\n57739\t5\n57747\t5\n57748\t5\n57750\t5\n57752\t5\n57753\t5\n57760\t5\n57763\t5\n57786\t5\n57787\t5\n57793\t5\n57799\t5\n57820\t5\n57834\t5\n57839\t5\n57840\t5\n57842\t5\n57843\t5\n57844\t5\n57846\t5\n57847\t5\n57848\t5\n57855\t5\n57870\t5\n57882\t5\n57886\t5\n57888\t5\n57897\t5\n57905\t5\n57906\t5\n57936\t5\n57943\t5\n57950\t5\n57963\t5\n57965\t5\n57968\t5\n57973\t5\n57975\t5\n57984\t5\n57987\t5\n57994\t5\n57997\t5\n58004\t5\n58006\t5\n58018\t5\n58038\t5\n58040\t5\n58059\t5\n58074\t5\n58083\t5\n58085\t5\n58086\t5\n58096\t5\n58099\t5\n58101\t5\n58104\t5\n58111\t5\n58115\t5\n58117\t5\n58118\t5\n58125\t5\n58128\t5\n58139\t5\n58140\t5\n58149\t5\n58152\t5\n58159\t5\n58160\t5\n58161\t5\n58164\t5\n58166\t5\n58187\t5\n58189\t5\n58190\t5\n58199\t5\n58211\t5\n58220\t5\n58225\t5\n58226\t5\n58234\t5\n58244\t5\n58245\t5\n58248\t5\n58260\t5\n58262\t5\n58265\t5\n58273\t5\n58274\t5\n58278\t5\n58283\t5\n58287\t5\n58291\t5\n58305\t5\n58317\t5\n58321\t5\n58328\t5\n58329\t5\n58332\t5\n58340\t5\n58342\t5\n58343\t5\n58355\t5\n58373\t5\n58376\t5\n58377\t5\n58399\t5\n58406\t5\n58415\t5\n58417\t5\n58432\t5\n58435\t5\n58446\t5\n58447\t5\n58457\t5\n58474\t5\n58478\t5\n58484\t5\n58488\t5\n58504\t5\n58506\t5\n58516\t5\n58517\t5\n58528\t5\n58538\t5\n58539\t5\n58551\t5\n58554\t5\n58560\t5\n58561\t5\n58563\t5\n58578\t5\n58581\t5\n58584\t5\n58590\t5\n58595\t5\n58602\t5\n58605\t5\n58612\t5\n58613\t5\n58617\t5\n58623\t5\n58629\t5\n58631\t5\n58640\t5\n58649\t5\n58652\t5\n58654\t5\n58659\t5\n58663\t5\n58665\t5\n58667\t5\n58670\t5\n58673\t5\n58690\t5\n58693\t5\n58694\t5\n58696\t5\n58697\t5\n58704\t5\n58710\t5\n58713\t5\n58718\t5\n58722\t5\n58723\t5\n58725\t5\n58745\t5\n58746\t5\n58752\t5\n58777\t5\n58779\t5\n58801\t5\n58807\t5\n58808\t5\n58818\t5\n58831\t5\n58840\t5\n58842\t5\n58843\t5\n58845\t5\n58846\t5\n58849\t5\n58855\t5\n58859\t5\n58861\t5\n58869\t5\n58874\t5\n58875\t5\n58881\t5\n58890\t5\n58896\t5\n58897\t5\n58910\t5\n58911\t5\n58913\t5\n58914\t5\n58921\t5\n58934\t5\n58939\t5\n58948\t5\n58952\t5\n58963\t5\n58974\t5\n58975\t5\n58978\t5\n58985\t5\n58992\t5\n58998\t5\n59000\t5\n59011\t5\n59019\t5\n59022\t5\n59025\t5\n59028\t5\n59041\t5\n59042\t5\n59051\t5\n59062\t5\n59064\t5\n59068\t5\n59077\t5\n59079\t5\n59083\t5\n59085\t5\n59090\t5\n59096\t5\n59106\t5\n59110\t5\n59116\t5\n59119\t5\n59124\t5\n59125\t5\n59136\t5\n59149\t5\n59152\t5\n59153\t5\n59154\t5\n59155\t5\n59170\t5\n59195\t5\n59203\t5\n59209\t5\n59213\t5\n59218\t5\n59222\t5\n59226\t5\n59228\t5\n59231\t5\n59233\t5\n59242\t5\n59252\t5\n59261\t5\n59269\t5\n59270\t5\n59273\t5\n59274\t5\n59288\t5\n59289\t5\n59299\t5\n59301\t5\n59302\t5\n59312\t5\n59313\t5\n59315\t5\n59317\t5\n59322\t5\n59324\t5\n59325\t5\n59329\t5\n59332\t5\n59344\t5\n59348\t5\n59349\t5\n59352\t5\n59371\t5\n59381\t5\n59387\t5\n59397\t5\n59401\t5\n59402\t5\n59407\t5\n59408\t5\n59419\t5\n59423\t5\n59433\t5\n59449\t5\n59457\t5\n59458\t5\n59459\t5\n59466\t5\n59470\t5\n59471\t5\n59480\t5\n59481\t5\n59482\t5\n59488\t5\n59496\t5\n59498\t5\n59505\t5\n59507\t5\n59520\t5\n59524\t5\n59532\t5\n59535\t5\n59543\t5\n59545\t5\n59558\t5\n59569\t5\n59592\t5\n59603\t5\n59605\t5\n59606\t5\n59612\t5\n59614\t5\n59621\t5\n59638\t5\n59641\t5\n59642\t5\n59643\t5\n59648\t5\n59654\t5\n59655\t5\n59657\t5\n59662\t5\n59666\t5\n59670\t5\n59674\t5\n59685\t5\n59695\t5\n59700\t5\n59701\t5\n59703\t5\n59710\t5\n59715\t5\n59724\t5\n59729\t5\n59731\t5\n59735\t5\n59740\t5\n59742\t5\n59754\t5\n59756\t5\n59769\t5\n59778\t5\n59782\t5\n59789\t5\n59790\t5\n59791\t5\n59810\t5\n59815\t5\n59830\t5\n59833\t5\n59837\t5\n59848\t5\n59852\t5\n59859\t5\n59869\t5\n59870\t5\n59886\t5\n59887\t5\n59888\t5\n59891\t5\n59902\t5\n59904\t5\n59906\t5\n59915\t5\n59916\t5\n59927\t5\n59928\t5\n59932\t5\n59942\t5\n59947\t5\n59958\t5\n59970\t5\n59980\t5\n59982\t5\n59984\t5\n59987\t5\n59998\t5\n60004\t5\n60006\t5\n60011\t5\n60014\t5\n60015\t5\n60017\t5\n60019\t5\n60020\t5\n60029\t5\n60033\t5\n60058\t5\n60060\t5\n60069\t5\n60070\t5\n60076\t5\n60084\t5\n60090\t5\n60098\t5\n60099\t5\n60106\t5\n60109\t5\n60117\t5\n60122\t5\n60126\t5\n60152\t5\n60178\t5\n60187\t5\n60188\t5\n60192\t5\n60204\t5\n60216\t5\n60217\t5\n60222\t5\n60223\t5\n60226\t5\n60231\t5\n60238\t5\n60242\t5\n60245\t5\n60255\t5\n60266\t5\n60290\t5\n60291\t5\n60292\t5\n60295\t5\n60297\t5\n60301\t5\n60302\t5\n60304\t5\n60308\t5\n60309\t5\n60313\t5\n60314\t5\n60327\t5\n60341\t5\n60352\t5\n60354\t5\n60361\t5\n60373\t5\n60374\t5\n60377\t5\n60382\t5\n60384\t5\n60408\t5\n60411\t5\n60423\t5\n60434\t5\n60440\t5\n60448\t5\n60451\t5\n60456\t5\n60463\t5\n60466\t5\n60475\t5\n60482\t5\n60484\t5\n60486\t5\n60493\t5\n60495\t5\n60496\t5\n60503\t5\n60504\t5\n60506\t5\n60507\t5\n60508\t5\n60514\t5\n60515\t5\n60522\t5\n60537\t5\n60545\t5\n60552\t5\n60559\t5\n60560\t5\n60562\t5\n60564\t5\n60567\t5\n60568\t5\n60569\t5\n60584\t5\n60585\t5\n60592\t5\n60595\t5\n60596\t5\n60601\t5\n60612\t5\n60618\t5\n60620\t5\n60626\t5\n60627\t5\n60634\t5\n60640\t5\n60648\t5\n60650\t5\n60665\t5\n60672\t5\n60674\t5\n60681\t5\n60706\t5\n60712\t5\n60717\t5\n60720\t5\n60723\t5\n60729\t5\n60730\t5\n60732\t5\n60738\t5\n60740\t5\n60752\t5\n60759\t5\n60764\t5\n60771\t5\n60781\t5\n60783\t5\n60786\t5\n60805\t5\n60810\t5\n60811\t5\n60816\t5\n60818\t5\n60819\t5\n60831\t5\n60833\t5\n60834\t5\n60851\t5\n60852\t5\n60879\t5\n60902\t5\n60903\t5\n60904\t5\n60913\t5\n60915\t5\n60921\t5\n60926\t5\n60935\t5\n60937\t5\n60942\t5\n60943\t5\n60948\t5\n60958\t5\n60961\t5\n60966\t5\n60967\t5\n60970\t5\n60973\t5\n60997\t5\n61010\t5\n61011\t5\n61015\t5\n61020\t5\n61025\t5\n61028\t5\n61033\t5\n61059\t5\n61062\t5\n61066\t5\n61070\t5\n61072\t5\n61083\t5\n61086\t5\n61090\t5\n61096\t5\n61097\t5\n61103\t5\n61104\t5\n61119\t5\n61126\t5\n61134\t5\n61135\t5\n61136\t5\n61138\t5\n61143\t5\n61149\t5\n61158\t5\n61170\t5\n61177\t5\n61185\t5\n61187\t5\n61192\t5\n61205\t5\n61213\t5\n61215\t5\n61217\t5\n61222\t5\n61225\t5\n61226\t5\n61231\t5\n61233\t5\n61235\t5\n61248\t5\n61249\t5\n61257\t5\n61258\t5\n61268\t5\n61270\t5\n61275\t5\n61281\t5\n61294\t5\n61301\t5\n61305\t5\n61307\t5\n61308\t5\n61309\t5\n61314\t5\n61315\t5\n61317\t5\n61319\t5\n61326\t5\n61333\t5\n61341\t5\n61344\t5\n61345\t5\n61347\t5\n61350\t5\n61355\t5\n61363\t5\n61375\t5\n61377\t5\n61378\t5\n61385\t5\n61396\t5\n61397\t5\n61414\t5\n61418\t5\n61423\t5\n61424\t5\n61439\t5\n61445\t5\n61456\t5\n61469\t5\n61472\t5\n61476\t5\n61479\t5\n61487\t5\n61495\t5\n61499\t5\n61518\t5\n61523\t5\n61525\t5\n61526\t5\n61530\t5\n61536\t5\n61539\t5\n61542\t5\n61543\t5\n61544\t5\n61545\t5\n61548\t5\n61552\t5\n61561\t5\n61572\t5\n61579\t5\n61583\t5\n61594\t5\n61603\t5\n61618\t5\n61621\t5\n61624\t5\n61634\t5\n61639\t5\n61666\t5\n61694\t5\n61698\t5\n61702\t5\n61715\t5\n61724\t5\n61735\t5\n61745\t5\n61746\t5\n61753\t5\n61764\t5\n61773\t5\n61777\t5\n61781\t5\n61784\t5\n61792\t5\n61800\t5\n61801\t5\n61811\t5\n61815\t5\n61821\t5\n61822\t5\n61831\t5\n61846\t5\n61853\t5\n61857\t5\n61858\t5\n61859\t5\n61864\t5\n61869\t5\n61870\t5\n61871\t5\n61873\t5\n61875\t5\n61877\t5\n61879\t5\n61881\t5\n61883\t5\n61885\t5\n61886\t5\n61899\t5\n61912\t5\n61913\t5\n61932\t5\n61940\t5\n61942\t5\n61945\t5\n61962\t5\n61965\t5\n61969\t5\n61976\t5\n61983\t5\n61991\t5\n61992\t5\n61993\t5\n62001\t5\n62023\t5\n62024\t5\n62027\t5\n62036\t5\n62042\t5\n62056\t5\n62066\t5\n62068\t5\n62071\t5\n62072\t5\n62073\t5\n62083\t5\n62087\t5\n62090\t5\n62094\t5\n62110\t5\n62119\t5\n62123\t5\n62134\t5\n62145\t5\n62149\t5\n62157\t5\n62161\t5\n62174\t5\n62176\t5\n62190\t5\n62193\t5\n62203\t5\n62208\t5\n62219\t5\n62221\t5\n62233\t5\n62253\t5\n62264\t5\n62265\t5\n62282\t5\n62286\t5\n62297\t5\n62298\t5\n62320\t5\n62321\t5\n62327\t5\n62331\t5\n62337\t5\n62338\t5\n62346\t5\n62355\t5\n62356\t5\n62359\t5\n62362\t5\n62370\t5\n62372\t5\n62376\t5\n62381\t5\n62387\t5\n62402\t5\n62407\t5\n62410\t5\n62412\t5\n62415\t5\n62423\t5\n62433\t5\n62441\t5\n62443\t5\n62448\t5\n62454\t5\n62456\t5\n62464\t5\n62466\t5\n62470\t5\n62484\t5\n62490\t5\n62496\t5\n62498\t5\n62520\t5\n62525\t5\n62526\t5\n62539\t5\n62541\t5\n62545\t5\n62546\t5\n62552\t5\n62556\t5\n62565\t5\n62568\t5\n62579\t5\n62584\t5\n62591\t5\n62592\t5\n62598\t5\n62599\t5\n62600\t5\n62601\t5\n62615\t5\n62617\t5\n62618\t5\n62621\t5\n62625\t5\n62630\t5\n62638\t5\n62640\t5\n62649\t5\n62654\t5\n62665\t5\n62676\t5\n62677\t5\n62680\t5\n62681\t5\n62688\t5\n62702\t5\n62707\t5\n62713\t5\n62723\t5\n62724\t5\n62726\t5\n62728\t5\n62729\t5\n62738\t5\n62741\t5\n62742\t5\n62743\t5\n62751\t5\n62753\t5\n62759\t5\n62760\t5\n62762\t5\n62766\t5\n62769\t5\n62770\t5\n62775\t5\n62777\t5\n62784\t5\n62785\t5\n62794\t5\n62804\t5\n62807\t5\n62817\t5\n62826\t5\n62828\t5\n62830\t5\n62832\t5\n62842\t5\n62848\t5\n62856\t5\n62858\t5\n62865\t5\n62866\t5\n62877\t5\n62880\t5\n62886\t5\n62887\t5\n62894\t5\n62904\t5\n62907\t5\n62920\t5\n62925\t5\n62927\t5\n62959\t5\n62970\t5\n62975\t5\n62976\t5\n62980\t5\n62984\t5\n62988\t5\n62990\t5\n62996\t5\n63004\t5\n63013\t5\n63015\t5\n63021\t5\n63029\t5\n63036\t5\n63038\t5\n63047\t5\n63048\t5\n63060\t5\n63076\t5\n63077\t5\n63092\t5\n63095\t5\n63102\t5\n63103\t5\n63105\t5\n63111\t5\n63118\t5\n63120\t5\n63126\t5\n63132\t5\n63152\t5\n63175\t5\n63182\t5\n63186\t5\n63187\t5\n63199\t5\n63204\t5\n63208\t5\n63209\t5\n63214\t5\n63218\t5\n63219\t5\n63222\t5\n63229\t5\n63236\t5\n63246\t5\n63255\t5\n63257\t5\n63268\t5\n63272\t5\n63283\t5\n63286\t5\n63289\t5\n63292\t5\n63293\t5\n63299\t5\n63304\t5\n63312\t5\n63321\t5\n63352\t5\n63355\t5\n63357\t5\n63358\t5\n63377\t5\n63380\t5\n63381\t5\n63385\t5\n63396\t5\n63401\t5\n63410\t5\n63414\t5\n63416\t5\n63417\t5\n63422\t5\n63423\t5\n63432\t5\n63443\t5\n63447\t5\n63451\t5\n63465\t5\n63471\t5\n63487\t5\n63490\t5\n63492\t5\n63502\t5\n63518\t5\n63521\t5\n63522\t5\n63532\t5\n63543\t5\n63546\t5\n63553\t5\n63558\t5\n63564\t5\n63567\t5\n63571\t5\n63575\t5\n63576\t5\n63583\t5\n63593\t5\n63595\t5\n63602\t5\n63604\t5\n63608\t5\n63616\t5\n63624\t5\n63643\t5\n63652\t5\n63655\t5\n63656\t5\n63660\t5\n63664\t5\n63666\t5\n63673\t5\n63677\t5\n63683\t5\n63698\t5\n63704\t5\n63711\t5\n63722\t5\n63727\t5\n63728\t5\n63732\t5\n63737\t5\n63744\t5\n63746\t5\n63747\t5\n63755\t5\n63756\t5\n63761\t5\n63762\t5\n63773\t5\n63793\t5\n63798\t5\n63804\t5\n63807\t5\n63819\t5\n63821\t5\n63822\t5\n63823\t5\n63830\t5\n63837\t5\n63840\t5\n63843\t5\n63844\t5\n63851\t5\n63872\t5\n63876\t5\n63877\t5\n63881\t5\n63887\t5\n63892\t5\n63894\t5\n63896\t5\n63918\t5\n63919\t5\n63921\t5\n63924\t5\n63950\t5\n63965\t5\n63987\t5\n63992\t5\n64001\t5\n64003\t5\n64006\t5\n64010\t5\n64023\t5\n64027\t5\n64041\t5\n64044\t5\n64049\t5\n64051\t5\n64052\t5\n64060\t5\n64073\t5\n64078\t5\n64079\t5\n64080\t5\n64081\t5\n64085\t5\n64101\t5\n64105\t5\n64112\t5\n64124\t5\n64126\t5\n64131\t5\n64133\t5\n64135\t5\n64141\t5\n64162\t5\n64163\t5\n64172\t5\n64190\t5\n64204\t5\n64215\t5\n64217\t5\n64219\t5\n64221\t5\n64228\t5\n64229\t5\n64233\t5\n64236\t5\n64239\t5\n64240\t5\n64251\t5\n64253\t5\n64276\t5\n64278\t5\n64282\t5\n64287\t5\n64291\t5\n64299\t5\n64300\t5\n64307\t5\n64311\t5\n64318\t5\n64326\t5\n64332\t5\n64345\t5\n64346\t5\n64358\t5\n64362\t5\n64367\t5\n64371\t5\n64378\t5\n64394\t5\n64398\t5\n64400\t5\n64403\t5\n64407\t5\n64409\t5\n64412\t5\n64419\t5\n64425\t5\n64429\t5\n64443\t5\n64447\t5\n64448\t5\n64450\t5\n64451\t5\n64463\t5\n64468\t5\n64469\t5\n64471\t5\n64479\t5\n64481\t5\n64483\t5\n64484\t5\n64486\t5\n64488\t5\n64489\t5\n64493\t5\n64506\t5\n64510\t5\n64515\t5\n64524\t5\n64531\t5\n64532\t5\n64535\t5\n64537\t5\n64545\t5\n64547\t5\n64550\t5\n64551\t5\n64566\t5\n64577\t5\n64582\t5\n64590\t5\n64601\t5\n64604\t5\n64605\t5\n64623\t5\n64627\t5\n64628\t5\n64630\t5\n64632\t5\n64649\t5\n64662\t5\n64665\t5\n64666\t5\n64668\t5\n64677\t5\n64681\t5\n64688\t5\n64691\t5\n64693\t5\n64702\t5\n64706\t5\n64712\t5\n64724\t5\n64727\t5\n64734\t5\n64736\t5\n64737\t5\n64741\t5\n64742\t5\n64744\t5\n64747\t5\n64751\t5\n64752\t5\n64755\t5\n64758\t5\n64765\t5\n64779\t5\n64782\t5\n64812\t5\n64815\t5\n64820\t5\n64826\t5\n64829\t5\n64830\t5\n64833\t5\n64838\t5\n64841\t5\n64844\t5\n64864\t5\n64869\t5\n64874\t5\n64880\t5\n64891\t5\n64898\t5\n64913\t5\n64914\t5\n64915\t5\n64934\t5\n64937\t5\n64945\t5\n64946\t5\n64959\t5\n64982\t5\n64984\t5\n64985\t5\n64991\t5\n65001\t5\n65005\t5\n65009\t5\n65014\t5\n65023\t5\n65025\t5\n65031\t5\n65035\t5\n65037\t5\n65051\t5\n65066\t5\n65071\t5\n65072\t5\n65074\t5\n65076\t5\n65077\t5\n65078\t5\n65089\t5\n65091\t5\n65092\t5\n65103\t5\n65113\t5\n65114\t5\n65116\t5\n65120\t5\n65123\t5\n65131\t5\n65138\t5\n65146\t5\n65149\t5\n65158\t5\n65163\t5\n65166\t5\n65177\t5\n65202\t5\n65207\t5\n65214\t5\n65218\t5\n65239\t5\n65263\t5\n65271\t5\n65275\t5\n65282\t5\n65286\t5\n65316\t5\n65323\t5\n65324\t5\n65329\t5\n65330\t5\n65333\t5\n65334\t5\n65335\t5\n65343\t5\n65344\t5\n65348\t5\n65351\t5\n65357\t5\n65368\t5\n65372\t5\n65383\t5\n65387\t5\n65391\t5\n65393\t5\n65405\t5\n65407\t5\n65418\t5\n65425\t5\n65432\t5\n65434\t5\n65475\t5\n65480\t5\n65483\t5\n65485\t5\n65490\t5\n65495\t5\n65504\t5\n65508\t5\n65511\t5\n65522\t5\n65524\t5\n65527\t5\n65535\t5\n65539\t5\n65545\t5\n65549\t5\n65572\t5\n65575\t5\n65578\t5\n65579\t5\n65585\t5\n65589\t5\n65592\t5\n65606\t5\n65607\t5\n65619\t5\n65629\t5\n65631\t5\n65638\t5\n65640\t5\n65643\t5\n65660\t5\n65666\t5\n65668\t5\n65673\t5\n65674\t5\n65675\t5\n65687\t5\n65696\t5\n65700\t5\n65702\t5\n65706\t5\n65710\t5\n65717\t5\n65718\t5\n65729\t5\n65731\t5\n65732\t5\n65736\t5\n65739\t5\n65748\t5\n65757\t5\n65763\t5\n65779\t5\n65781\t5\n65805\t5\n65809\t5\n65812\t5\n65815\t5\n65820\t5\n65823\t5\n65825\t5\n65832\t5\n65834\t5\n65836\t5\n65863\t5\n65868\t5\n65869\t5\n65872\t5\n65881\t5\n65890\t5\n65891\t5\n65893\t5\n65899\t5\n65918\t5\n65923\t5\n65925\t5\n65927\t5\n65938\t5\n65942\t5\n65952\t5\n65966\t5\n65971\t5\n65976\t5\n65987\t5\n66000\t5\n66010\t5\n66017\t5\n66025\t5\n66032\t5\n66039\t5\n66045\t5\n66049\t5\n66070\t5\n66071\t5\n66086\t5\n66103\t5\n66105\t5\n66109\t5\n66110\t5\n66117\t5\n66133\t5\n66134\t5\n66137\t5\n66146\t5\n66154\t5\n66165\t5\n66177\t5\n66180\t5\n66183\t5\n66189\t5\n66190\t5\n66191\t5\n66203\t5\n66204\t5\n66212\t5\n66219\t5\n66221\t5\n66228\t5\n66239\t5\n66240\t5\n66259\t5\n66265\t5\n66270\t5\n66271\t5\n66272\t5\n66275\t5\n66279\t5\n66281\t5\n66295\t5\n66311\t5\n66314\t5\n66315\t5\n66316\t5\n66323\t5\n66336\t5\n66342\t5\n66355\t5\n66357\t5\n66364\t5\n66386\t5\n66400\t5\n66404\t5\n66409\t5\n66410\t5\n66415\t5\n66421\t5\n66430\t5\n66448\t5\n66464\t5\n66480\t5\n66482\t5\n66484\t5\n66491\t5\n66492\t5\n66497\t5\n66502\t5\n66517\t5\n66551\t5\n66552\t5\n66577\t5\n66580\t5\n66583\t5\n66592\t5\n66596\t5\n66615\t5\n66618\t5\n66619\t5\n66620\t5\n66624\t5\n66631\t5\n66638\t5\n66641\t5\n66642\t5\n66647\t5\n66665\t5\n66670\t5\n66674\t5\n66675\t5\n66676\t5\n66677\t5\n66681\t5\n66683\t5\n66687\t5\n66689\t5\n66697\t5\n66702\t5\n66703\t5\n66705\t5\n66716\t5\n66719\t5\n66722\t5\n66723\t5\n66724\t5\n66728\t5\n66734\t5\n66752\t5\n66755\t5\n66767\t5\n66768\t5\n66776\t5\n66780\t5\n66789\t5\n66796\t5\n66808\t5\n66809\t5\n66810\t5\n66817\t5\n66818\t5\n66822\t5\n66832\t5\n66840\t5\n66841\t5\n66842\t5\n66847\t5\n66860\t5\n66864\t5\n66867\t5\n66876\t5\n66884\t5\n66889\t5\n66890\t5\n66897\t5\n66901\t5\n66908\t5\n66912\t5\n66914\t5\n66916\t5\n66922\t5\n66930\t5\n66941\t5\n66942\t5\n66943\t5\n66948\t5\n66953\t5\n66968\t5\n66977\t5\n66983\t5\n66998\t5\n67004\t5\n67005\t5\n67017\t5\n67021\t5\n67024\t5\n67035\t5\n67040\t5\n67043\t5\n67044\t5\n67045\t5\n67047\t5\n67053\t5\n67055\t5\n67057\t5\n67060\t5\n67073\t5\n67079\t5\n67089\t5\n67111\t5\n67114\t5\n67124\t5\n67126\t5\n67127\t5\n67129\t5\n67140\t5\n67141\t5\n67143\t5\n67154\t5\n67155\t5\n67156\t5\n67160\t5\n67165\t5\n67176\t5\n67181\t5\n67188\t5\n67210\t5\n67216\t5\n67217\t5\n67219\t5\n67229\t5\n67233\t5\n67237\t5\n67238\t5\n67250\t5\n67259\t5\n67272\t5\n67281\t5\n67283\t5\n67294\t5\n67299\t5\n67300\t5\n67301\t5\n67302\t5\n67321\t5\n67323\t5\n67326\t5\n67328\t5\n67335\t5\n67349\t5\n67355\t5\n67365\t5\n67370\t5\n67379\t5\n67386\t5\n67387\t5\n67388\t5\n67399\t5\n67405\t5\n67407\t5\n67411\t5\n67415\t5\n67429\t5\n67433\t5\n67434\t5\n67439\t5\n67441\t5\n67443\t5\n67444\t5\n67446\t5\n67453\t5\n67454\t5\n67464\t5\n67477\t5\n67479\t5\n67487\t5\n67493\t5\n67510\t5\n67518\t5\n67523\t5\n67542\t5\n67544\t5\n67553\t5\n67565\t5\n67581\t5\n67587\t5\n67594\t5\n67595\t5\n67596\t5\n67598\t5\n67599\t5\n67601\t5\n67605\t5\n67609\t5\n67623\t5\n67630\t5\n67631\t5\n67639\t5\n67640\t5\n67641\t5\n67655\t5\n67661\t5\n67665\t5\n67669\t5\n67674\t5\n67675\t5\n67676\t5\n67688\t5\n67690\t5\n67693\t5\n67706\t5\n67713\t5\n67725\t5\n67726\t5\n67735\t5\n67738\t5\n67744\t5\n67755\t5\n67767\t5\n67772\t5\n67773\t5\n67780\t5\n67785\t5\n67787\t5\n67789\t5\n67790\t5\n67792\t5\n67809\t5\n67810\t5\n67812\t5\n67827\t5\n67833\t5\n67843\t5\n67854\t5\n67859\t5\n67860\t5\n67866\t5\n67868\t5\n67872\t5\n67874\t5\n67875\t5\n67886\t5\n67894\t5\n67901\t5\n67902\t5\n67903\t5\n67912\t5\n67925\t5\n67933\t5\n67936\t5\n67941\t5\n67947\t5\n67956\t5\n67967\t5\n67974\t5\n67975\t5\n67985\t5\n67989\t5\n67995\t5\n67996\t5\n67998\t5\n68000\t5\n68003\t5\n68022\t5\n68025\t5\n68033\t5\n68044\t5\n68049\t5\n68052\t5\n68054\t5\n68060\t5\n68062\t5\n68070\t5\n68074\t5\n68081\t5\n68085\t5\n68089\t5\n68094\t5\n68097\t5\n68100\t5\n68123\t5\n68131\t5\n68135\t5\n68136\t5\n68140\t5\n68149\t5\n68154\t5\n68159\t5\n68161\t5\n68162\t5\n68169\t5\n68178\t5\n68192\t5\n68199\t5\n68200\t5\n68202\t5\n68204\t5\n68214\t5\n68219\t5\n68221\t5\n68235\t5\n68243\t5\n68254\t5\n68265\t5\n68277\t5\n68278\t5\n68308\t5\n68311\t5\n68320\t5\n68325\t5\n68329\t5\n68330\t5\n68342\t5\n68355\t5\n68365\t5\n68372\t5\n68386\t5\n68394\t5\n68399\t5\n68402\t5\n68409\t5\n68412\t5\n68421\t5\n68422\t5\n68424\t5\n68429\t5\n68430\t5\n68432\t5\n68439\t5\n68440\t5\n68443\t5\n68448\t5\n68451\t5\n68457\t5\n68462\t5\n68465\t5\n68466\t5\n68467\t5\n68475\t5\n68480\t5\n68488\t5\n68493\t5\n68498\t5\n68499\t5\n68502\t5\n68522\t5\n68525\t5\n68539\t5\n68548\t5\n68550\t5\n68552\t5\n68553\t5\n68557\t5\n68569\t5\n68570\t5\n68574\t5\n68575\t5\n68583\t5\n68591\t5\n68596\t5\n68600\t5\n68605\t5\n68606\t5\n68620\t5\n68621\t5\n68623\t5\n68637\t5\n68640\t5\n68643\t5\n68663\t5\n68671\t5\n68674\t5\n68675\t5\n68712\t5\n68715\t5\n68721\t5\n68722\t5\n68730\t5\n68731\t5\n68732\t5\n68733\t5\n68736\t5\n68738\t5\n68739\t5\n68741\t5\n68742\t5\n68744\t5\n68749\t5\n68750\t5\n68753\t5\n68756\t5\n68757\t5\n68758\t5\n68763\t5\n68765\t5\n68769\t5\n68770\t5\n68771\t5\n68772\t5\n68783\t5\n68785\t5\n68790\t5\n68792\t5\n68794\t5\n68796\t5\n68799\t5\n68811\t5\n68815\t5\n68830\t5\n68838\t5\n68840\t5\n68846\t5\n68863\t5\n68867\t5\n68877\t5\n68878\t5\n68889\t5\n68891\t5\n68912\t5\n68916\t5\n68924\t5\n68927\t5\n68936\t5\n68938\t5\n68939\t5\n68943\t5\n68949\t5\n68966\t5\n68970\t5\n68973\t5\n68979\t5\n68981\t5\n68986\t5\n68994\t5\n68999\t5\n69001\t5\n69004\t5\n69007\t5\n69011\t5\n69012\t5\n69024\t5\n69035\t5\n69044\t5\n69047\t5\n69053\t5\n69055\t5\n69066\t5\n69074\t5\n69086\t5\n69094\t5\n69097\t5\n69110\t5\n69112\t5\n69124\t5\n69126\t5\n69128\t5\n69145\t5\n69160\t5\n69169\t5\n69178\t5\n69179\t5\n69183\t5\n69185\t5\n69191\t5\n69199\t5\n69203\t5\n69204\t5\n69208\t5\n69219\t5\n69231\t5\n69232\t5\n69239\t5\n69247\t5\n69248\t5\n69250\t5\n69261\t5\n69263\t5\n69268\t5\n69269\t5\n69276\t5\n69277\t5\n69280\t5\n69288\t5\n69292\t5\n69303\t5\n69313\t5\n69315\t5\n69320\t5\n69321\t5\n69329\t5\n69345\t5\n69346\t5\n69354\t5\n69355\t5\n69358\t5\n69365\t5\n69366\t5\n69372\t5\n69375\t5\n69376\t5\n69402\t5\n69408\t5\n69420\t5\n69421\t5\n69425\t5\n69433\t5\n69437\t5\n69439\t5\n69459\t5\n69462\t5\n69463\t5\n69475\t5\n69480\t5\n69493\t5\n69495\t5\n69501\t5\n69504\t5\n69514\t5\n69520\t5\n69529\t5\n69533\t5\n69553\t5\n69555\t5\n69563\t5\n69566\t5\n69568\t5\n69570\t5\n69571\t5\n69573\t5\n69574\t5\n69579\t5\n69583\t5\n69584\t5\n69585\t5\n69586\t5\n69587\t5\n69597\t5\n69602\t5\n69617\t5\n69619\t5\n69623\t5\n69629\t5\n69632\t5\n69633\t5\n69656\t5\n69663\t5\n69664\t5\n69686\t5\n69687\t5\n69688\t5\n69690\t5\n69691\t5\n69692\t5\n69697\t5\n69701\t5\n69707\t5\n69708\t5\n69709\t5\n69717\t5\n69720\t5\n69723\t5\n69726\t5\n69735\t5\n69737\t5\n69751\t5\n69752\t5\n69755\t5\n69760\t5\n69776\t5\n69778\t5\n69780\t5\n69785\t5\n69795\t5\n69802\t5\n69816\t5\n69826\t5\n69838\t5\n69852\t5\n69854\t5\n69870\t5\n69873\t5\n69878\t5\n69881\t5\n69882\t5\n69883\t5\n69887\t5\n69892\t5\n69895\t5\n69905\t5\n69913\t5\n69916\t5\n69921\t5\n69923\t5\n69930\t5\n69945\t5\n69956\t5\n69958\t5\n69971\t5\n69978\t5\n69981\t5\n69989\t5\n70010\t5\n70015\t5\n70024\t5\n70044\t5\n70045\t5\n70047\t5\n70049\t5\n70050\t5\n70055\t5\n70067\t5\n70069\t5\n70070\t5\n70074\t5\n70082\t5\n70085\t5\n70086\t5\n70087\t5\n70088\t5\n70095\t5\n70102\t5\n70108\t5\n70113\t5\n70118\t5\n70133\t5\n70146\t5\n70160\t5\n70161\t5\n70172\t5\n70173\t5\n70175\t5\n70179\t5\n70205\t5\n70211\t5\n70216\t5\n70225\t5\n70226\t5\n70232\t5\n70235\t5\n70236\t5\n70239\t5\n70268\t5\n70275\t5\n70282\t5\n70293\t5\n70295\t5\n70308\t5\n70311\t5\n70314\t5\n70317\t5\n70318\t5\n70327\t5\n70333\t5\n70334\t5\n70350\t5\n70360\t5\n70370\t5\n70374\t5\n70376\t5\n70378\t5\n70379\t5\n70389\t5\n70392\t5\n70405\t5\n70420\t5\n70454\t5\n70461\t5\n70471\t5\n70475\t5\n70476\t5\n70490\t5\n70498\t5\n70501\t5\n70502\t5\n70507\t5\n70509\t5\n70514\t5\n70521\t5\n70524\t5\n70532\t5\n70533\t5\n70540\t5\n70542\t5\n70551\t5\n70555\t5\n70570\t5\n70571\t5\n70578\t5\n70604\t5\n70617\t5\n70627\t5\n70635\t5\n70640\t5\n70641\t5\n70654\t5\n70660\t5\n70665\t5\n70668\t5\n70670\t5\n70672\t5\n70674\t5\n70679\t5\n70685\t5\n70692\t5\n70703\t5\n70708\t5\n70711\t5\n70727\t5\n70732\t5\n70734\t5\n70740\t5\n70749\t5\n70758\t5\n70762\t5\n70766\t5\n70767\t5\n70774\t5\n70776\t5\n70777\t5\n70793\t5\n70794\t5\n70811\t5\n70817\t5\n70828\t5\n70831\t5\n70844\t5\n70849\t5\n70854\t5\n70857\t5\n70858\t5\n70859\t5\n70862\t5\n70868\t5\n70886\t5\n70891\t5\n70897\t5\n70907\t5\n70911\t5\n70926\t5\n70940\t5\n70948\t5\n70955\t5\n70964\t5\n70965\t5\n70970\t5\n70972\t5\n70975\t5\n70980\t5\n70989\t5\n71002\t5\n71006\t5\n71007\t5\n71017\t5\n71020\t5\n71021\t5\n71023\t5\n71024\t5\n71030\t5\n71033\t5\n71043\t5\n71048\t5\n71053\t5\n71060\t5\n71065\t5\n71066\t5\n71068\t5\n71083\t5\n71093\t5\n71097\t5\n71099\t5\n71103\t5\n71108\t5\n71116\t5\n71120\t5\n71123\t5\n71124\t5\n71125\t5\n71134\t5\n71135\t5\n71136\t5\n71149\t5\n71152\t5\n71155\t5\n71160\t5\n71167\t5\n71176\t5\n71183\t5\n71186\t5\n71220\t5\n71222\t5\n71223\t5\n71224\t5\n71231\t5\n71235\t5\n71249\t5\n71250\t5\n71252\t5\n71261\t5\n71268\t5\n71272\t5\n71280\t5\n71282\t5\n71284\t5\n71289\t5\n71299\t5\n71305\t5\n71307\t5\n71308\t5\n71313\t5\n71317\t5\n71318\t5\n71325\t5\n71333\t5\n71337\t5\n71340\t5\n71343\t5\n71344\t5\n71350\t5\n71351\t5\n71353\t5\n71356\t5\n71360\t5\n71367\t5\n71368\t5\n71371\t5\n71373\t5\n71374\t5\n71375\t5\n71378\t5\n71400\t5\n71404\t5\n71408\t5\n71411\t5\n71413\t5\n71417\t5\n71419\t5\n71430\t5\n71432\t5\n71433\t5\n71435\t5\n71440\t5\n71454\t5\n71472\t5\n71485\t5\n71498\t5\n71501\t5\n71503\t5\n71504\t5\n71506\t5\n71515\t5\n71519\t5\n71525\t5\n71529\t5\n71540\t5\n71542\t5\n71543\t5\n71546\t5\n71557\t5\n71561\t5\n71562\t5\n71564\t5\n71574\t5\n71576\t5\n71579\t5\n71583\t5\n71584\t5\n71585\t5\n71589\t5\n71601\t5\n71602\t5\n71613\t5\n71619\t5\n71625\t5\n71633\t5\n71643\t5\n71665\t5\n71670\t5\n71673\t5\n71674\t5\n71675\t5\n71677\t5\n71686\t5\n71691\t5\n71699\t5\n71703\t5\n71717\t5\n71731\t5\n71734\t5\n71736\t5\n71740\t5\n71745\t5\n71749\t5\n71761\t5\n71773\t5\n71783\t5\n71784\t5\n71789\t5\n71796\t5\n71798\t5\n71815\t5\n71819\t5\n71834\t5\n71839\t5\n71843\t5\n71857\t5\n71859\t5\n71861\t5\n71868\t5\n71875\t5\n71880\t5\n71881\t5\n71884\t5\n71888\t5\n71892\t5\n71895\t5\n71896\t5\n71901\t5\n71909\t5\n71919\t5\n71920\t5\n71927\t5\n71939\t5\n71945\t5\n71960\t5\n71962\t5\n71975\t5\n71977\t5\n71978\t5\n71989\t5\n71993\t5\n71999\t5\n72004\t5\n72009\t5\n72014\t5\n72029\t5\n72036\t5\n72038\t5\n72039\t5\n72040\t5\n72051\t5\n72056\t5\n72068\t5\n72070\t5\n72087\t5\n72088\t5\n72105\t5\n72109\t5\n72111\t5\n72118\t5\n72121\t5\n72124\t5\n72125\t5\n72126\t5\n72128\t5\n72131\t5\n72137\t5\n72139\t5\n72140\t5\n72142\t5\n72151\t5\n72168\t5\n72170\t5\n72176\t5\n72188\t5\n72195\t5\n72197\t5\n72198\t5\n72220\t5\n72226\t5\n72243\t5\n72258\t5\n72271\t5\n72276\t5\n72283\t5\n72288\t5\n72299\t5\n72306\t5\n72307\t5\n72315\t5\n72321\t5\n72328\t5\n72343\t5\n72357\t5\n72359\t5\n72368\t5\n72374\t5\n72387\t5\n72396\t5\n72399\t5\n72412\t5\n72414\t5\n72419\t5\n72423\t5\n72424\t5\n72432\t5\n72434\t5\n72440\t5\n72445\t5\n72457\t5\n72467\t5\n72469\t5\n72471\t5\n72477\t5\n72479\t5\n72482\t5\n72494\t5\n72496\t5\n72497\t5\n72498\t5\n72501\t5\n72513\t5\n72514\t5\n72525\t5\n72534\t5\n72536\t5\n72544\t5\n72546\t5\n72559\t5\n72561\t5\n72568\t5\n72569\t5\n72572\t5\n72580\t5\n72597\t5\n72600\t5\n72606\t5\n72608\t5\n72612\t5\n72614\t5\n72615\t5\n72618\t5\n72626\t5\n72640\t5\n72641\t5\n72642\t5\n72651\t5\n72654\t5\n72659\t5\n72673\t5\n72674\t5\n72682\t5\n72686\t5\n72687\t5\n72688\t5\n72689\t5\n72693\t5\n72702\t5\n72722\t5\n72724\t5\n72734\t5\n72736\t5\n72750\t5\n72753\t5\n72757\t5\n72758\t5\n72761\t5\n72767\t5\n72769\t5\n72781\t5\n72787\t5\n72789\t5\n72790\t5\n72793\t5\n72794\t5\n72798\t5\n72803\t5\n72809\t5\n72824\t5\n72837\t5\n72851\t5\n72852\t5\n72855\t5\n72859\t5\n72862\t5\n72869\t5\n72871\t5\n72881\t5\n72888\t5\n72896\t5\n72901\t5\n72902\t5\n72911\t5\n72914\t5\n72917\t5\n72921\t5\n72925\t5\n72929\t5\n72931\t5\n72933\t5\n72937\t5\n72938\t5\n72955\t5\n72963\t5\n72964\t5\n72965\t5\n72970\t5\n72976\t5\n72982\t5\n72992\t5\n72994\t5\n73004\t5\n73007\t5\n73017\t5\n73023\t5\n73024\t5\n73034\t5\n73043\t5\n73062\t5\n73069\t5\n73071\t5\n73080\t5\n73084\t5\n73086\t5\n73101\t5\n73106\t5\n73116\t5\n73117\t5\n73123\t5\n73124\t5\n73139\t5\n73140\t5\n73143\t5\n73145\t5\n73146\t5\n73159\t5\n73167\t5\n73168\t5\n73173\t5\n73183\t5\n73184\t5\n73193\t5\n73194\t5\n73196\t5\n73208\t5\n73214\t5\n73215\t5\n73221\t5\n73224\t5\n73229\t5\n73243\t5\n73249\t5\n73269\t5\n73270\t5\n73288\t5\n73299\t5\n73301\t5\n73308\t5\n73312\t5\n73316\t5\n73319\t5\n73329\t5\n73331\t5\n73334\t5\n73345\t5\n73347\t5\n73359\t5\n73360\t5\n73363\t5\n73372\t5\n73375\t5\n73376\t5\n73379\t5\n73380\t5\n73388\t5\n73408\t5\n73414\t5\n73416\t5\n73419\t5\n73420\t5\n73421\t5\n73425\t5\n73437\t5\n73439\t5\n73440\t5\n73442\t5\n73448\t5\n73450\t5\n73451\t5\n73457\t5\n73462\t5\n73464\t5\n73470\t5\n73481\t5\n73483\t5\n73484\t5\n73486\t5\n73487\t5\n73489\t5\n73491\t5\n73496\t5\n73511\t5\n73520\t5\n73528\t5\n73533\t5\n73535\t5\n73537\t5\n73548\t5\n73550\t5\n73555\t5\n73556\t5\n73563\t5\n73567\t5\n73581\t5\n73584\t5\n73587\t5\n73602\t5\n73607\t5\n73610\t5\n73623\t5\n73627\t5\n73639\t5\n73643\t5\n73649\t5\n73651\t5\n73658\t5\n73659\t5\n73671\t5\n73678\t5\n73702\t5\n73710\t5\n73715\t5\n73724\t5\n73743\t5\n73744\t5\n73747\t5\n73751\t5\n73757\t5\n73759\t5\n73763\t5\n73764\t5\n73773\t5\n73775\t5\n73781\t5\n73796\t5\n73802\t5\n73807\t5\n73811\t5\n73814\t5\n73840\t5\n73846\t5\n73847\t5\n73851\t5\n73860\t5\n73864\t5\n73865\t5\n73866\t5\n73871\t5\n73873\t5\n73876\t5\n73877\t5\n73886\t5\n73899\t5\n73914\t5\n73922\t5\n73928\t5\n73930\t5\n73931\t5\n73945\t5\n73949\t5\n73953\t5\n73963\t5\n73977\t5\n73978\t5\n73984\t5\n74001\t5\n74004\t5\n74006\t5\n74007\t5\n74017\t5\n74022\t5\n74028\t5\n74030\t5\n74031\t5\n74033\t5\n74034\t5\n74036\t5\n74046\t5\n74053\t5\n74066\t5\n74072\t5\n74080\t5\n74104\t5\n74114\t5\n74126\t5\n74129\t5\n74130\t5\n74131\t5\n74138\t5\n74151\t5\n74170\t5\n74178\t5\n74181\t5\n74199\t5\n74203\t5\n74211\t5\n74223\t5\n74231\t5\n74234\t5\n74237\t5\n74239\t5\n74243\t5\n74245\t5\n74247\t5\n74251\t5\n74256\t5\n74259\t5\n74262\t5\n74265\t5\n74274\t5\n74278\t5\n74284\t5\n74285\t5\n74297\t5\n74302\t5\n74303\t5\n74314\t5\n74317\t5\n74318\t5\n74325\t5\n74328\t5\n74331\t5\n74335\t5\n74341\t5\n74345\t5\n74352\t5\n74357\t5\n74371\t5\n74382\t5\n74386\t5\n74394\t5\n74399\t5\n74419\t5\n74421\t5\n74422\t5\n74425\t5\n74427\t5\n74428\t5\n74435\t5\n74442\t5\n74446\t5\n74447\t5\n74449\t5\n74457\t5\n74460\t5\n74464\t5\n74467\t5\n74472\t5\n74474\t5\n74479\t5\n74481\t5\n74483\t5\n74484\t5\n74485\t5\n74500\t5\n74505\t5\n74509\t5\n74512\t5\n74516\t5\n74517\t5\n74519\t5\n74526\t5\n74530\t5\n74534\t5\n74540\t5\n74555\t5\n74562\t5\n74576\t5\n74578\t5\n74579\t5\n74582\t5\n74594\t5\n74609\t5\n74612\t5\n74615\t5\n74616\t5\n74629\t5\n74638\t5\n74650\t5\n74651\t5\n74654\t5\n74663\t5\n74674\t5\n74687\t5\n74698\t5\n74707\t5\n74719\t5\n74724\t5\n74725\t5\n74726\t5\n74729\t5\n74737\t5\n74742\t5\n74743\t5\n74748\t5\n74760\t5\n74770\t5\n74784\t5\n74785\t5\n74786\t5\n74789\t5\n74795\t5\n74796\t5\n74797\t5\n74806\t5\n74828\t5\n74839\t5\n74840\t5\n74847\t5\n74851\t5\n74855\t5\n74860\t5\n74872\t5\n74888\t5\n74901\t5\n74902\t5\n74906\t5\n74907\t5\n74917\t5\n74921\t5\n74923\t5\n74924\t5\n74927\t5\n74931\t5\n74945\t5\n74947\t5\n74954\t5\n74961\t5\n74963\t5\n74974\t5\n74976\t5\n74979\t5\n75005\t5\n75015\t5\n75019\t5\n75030\t5\n75033\t5\n75037\t5\n75045\t5\n75051\t5\n75061\t5\n75072\t5\n75076\t5\n75080\t5\n75085\t5\n75096\t5\n75099\t5\n75111\t5\n75127\t5\n75132\t5\n75134\t5\n75142\t5\n75143\t5\n75147\t5\n75154\t5\n75169\t5\n75172\t5\n75187\t5\n75191\t5\n75192\t5\n75207\t5\n75211\t5\n75213\t5\n75217\t5\n75244\t5\n75249\t5\n75252\t5\n75256\t5\n75259\t5\n75262\t5\n75267\t5\n75279\t5\n75290\t5\n75291\t5\n75299\t5\n75301\t5\n75303\t5\n75307\t5\n75312\t5\n75324\t5\n75333\t5\n75339\t5\n75343\t5\n75345\t5\n75360\t5\n75363\t5\n75366\t5\n75368\t5\n75372\t5\n75373\t5\n75375\t5\n75417\t5\n75418\t5\n75426\t5\n75428\t5\n75431\t5\n75436\t5\n75437\t5\n75442\t5\n75444\t5\n75448\t5\n75451\t5\n75454\t5\n75456\t5\n75458\t5\n75461\t5\n75462\t5\n75466\t5\n75473\t5\n75474\t5\n75480\t5\n75483\t5\n75490\t5\n75491\t5\n75494\t5\n75502\t5\n75504\t5\n75509\t5\n75510\t5\n75515\t5\n75527\t5\n75528\t5\n75535\t5\n75540\t5\n75542\t5\n75547\t5\n75552\t5\n75553\t5\n75565\t5\n75570\t5\n75573\t5\n75574\t5\n75582\t5\n75588\t5\n75592\t5\n75597\t5\n75598\t5\n75609\t5\n75610\t5\n75616\t5\n75617\t5\n75626\t5\n75632\t5\n75638\t5\n75666\t5\n75673\t5\n75683\t5\n75686\t5\n75687\t5\n75691\t5\n75708\t5\n75710\t5\n75713\t5\n75720\t5\n75722\t5\n75724\t5\n75727\t5\n75733\t5\n75743\t5\n75747\t5\n75749\t5\n75770\t5\n75777\t5\n75781\t5\n75782\t5\n75790\t5\n75791\t5\n75802\t5\n75807\t5\n75813\t5\n75816\t5\n75817\t5\n75818\t5\n75822\t5\n75826\t5\n75829\t5\n75833\t5\n75842\t5\n75844\t5\n75846\t5\n75874\t5\n75877\t5\n75878\t5\n75883\t5\n75891\t5\n75894\t5\n75899\t5\n75902\t5\n75906\t5\n75912\t5\n75915\t5\n75925\t5\n75926\t5\n75940\t5\n75941\t5\n75943\t5\n75945\t5\n75950\t5\n75955\t5\n75960\t5\n75973\t5\n75977\t5\n75979\t5\n75981\t5\n75982\t5\n76003\t5\n76007\t5\n76018\t5\n76033\t5\n76038\t5\n76039\t5\n76048\t5\n76050\t5\n76069\t5\n76078\t5\n76091\t5\n76094\t5\n76096\t5\n76106\t5\n76112\t5\n76113\t5\n76132\t5\n76136\t5\n76139\t5\n76147\t5\n76155\t5\n76158\t5\n76160\t5\n76162\t5\n76169\t5\n76185\t5\n76197\t5\n76198\t5\n76207\t5\n76212\t5\n76226\t5\n76230\t5\n76235\t5\n76239\t5\n76242\t5\n76245\t5\n76252\t5\n76256\t5\n76262\t5\n76263\t5\n76264\t5\n76284\t5\n76295\t5\n76297\t5\n76299\t5\n76317\t5\n76320\t5\n76325\t5\n76328\t5\n76338\t5\n76342\t5\n76348\t5\n76363\t5\n76376\t5\n76380\t5\n76384\t5\n76395\t5\n76397\t5\n76398\t5\n76400\t5\n76401\t5\n76415\t5\n76416\t5\n76419\t5\n76425\t5\n76433\t5\n76435\t5\n76470\t5\n76495\t5\n76499\t5\n76503\t5\n76521\t5\n76536\t5\n76537\t5\n76538\t5\n76540\t5\n76563\t5\n76565\t5\n76573\t5\n76580\t5\n76581\t5\n76594\t5\n76604\t5\n76614\t5\n76623\t5\n76631\t5\n76635\t5\n76637\t5\n76645\t5\n76646\t5\n76649\t5\n76654\t5\n76661\t5\n76669\t5\n76690\t5\n76692\t5\n76702\t5\n76713\t5\n76718\t5\n76722\t5\n76725\t5\n76749\t5\n76752\t5\n76755\t5\n76766\t5\n76769\t5\n76777\t5\n76779\t5\n76783\t5\n76799\t5\n76808\t5\n76817\t5\n76825\t5\n76837\t5\n76840\t5\n76844\t5\n76849\t5\n76857\t5\n76866\t5\n76867\t5\n76874\t5\n76878\t5\n76882\t5\n76889\t5\n76892\t5\n76896\t5\n76907\t5\n76911\t5\n76920\t5\n76922\t5\n76932\t5\n76938\t5\n76939\t5\n76947\t5\n76952\t5\n76957\t5\n76963\t5\n76964\t5\n76966\t5\n76980\t5\n76985\t5\n76988\t5\n76991\t5\n76993\t5\n77012\t5\n77013\t5\n77057\t5\n77058\t5\n77066\t5\n77088\t5\n77102\t5\n77108\t5\n77116\t5\n77120\t5\n77121\t5\n77125\t5\n77129\t5\n77135\t5\n77138\t5\n77147\t5\n77153\t5\n77156\t5\n77165\t5\n77172\t5\n77175\t5\n77176\t5\n77178\t5\n77184\t5\n77185\t5\n77187\t5\n77196\t5\n77199\t5\n77205\t5\n77212\t5\n77213\t5\n77234\t5\n77245\t5\n77246\t5\n77268\t5\n77269\t5\n77280\t5\n77287\t5\n77292\t5\n77296\t5\n77298\t5\n77303\t5\n77310\t5\n77312\t5\n77322\t5\n77323\t5\n77328\t5\n77330\t5\n77334\t5\n77337\t5\n77339\t5\n77351\t5\n77353\t5\n77368\t5\n77370\t5\n77380\t5\n77393\t5\n77400\t5\n77402\t5\n77415\t5\n77417\t5\n77421\t5\n77437\t5\n77439\t5\n77440\t5\n77441\t5\n77443\t5\n77447\t5\n77455\t5\n77456\t5\n77470\t5\n77476\t5\n77482\t5\n77483\t5\n77484\t5\n77486\t5\n77490\t5\n77494\t5\n77506\t5\n77520\t5\n77530\t5\n77537\t5\n77539\t5\n77544\t5\n77547\t5\n77556\t5\n77563\t5\n77566\t5\n77587\t5\n77594\t5\n77597\t5\n77607\t5\n77616\t5\n77620\t5\n77626\t5\n77627\t5\n77637\t5\n77665\t5\n77689\t5\n77692\t5\n77693\t5\n77704\t5\n77706\t5\n77711\t5\n77732\t5\n77734\t5\n77735\t5\n77737\t5\n77756\t5\n77757\t5\n77758\t5\n77760\t5\n77778\t5\n77781\t5\n77790\t5\n77795\t5\n77800\t5\n77807\t5\n77811\t5\n77814\t5\n77817\t5\n77818\t5\n77821\t5\n77823\t5\n77825\t5\n77828\t5\n77832\t5\n77851\t5\n77856\t5\n77859\t5\n77865\t5\n77867\t5\n77868\t5\n77870\t5\n77876\t5\n77877\t5\n77882\t5\n77886\t5\n77897\t5\n77915\t5\n77916\t5\n77921\t5\n77922\t5\n77933\t5\n77934\t5\n77949\t5\n77950\t5\n77953\t5\n77979\t5\n77980\t5\n77982\t5\n77991\t5\n77994\t5\n77998\t5\n78000\t5\n78004\t5\n78011\t5\n78016\t5\n78020\t5\n78025\t5\n78028\t5\n78030\t5\n78031\t5\n78047\t5\n78052\t5\n78054\t5\n78061\t5\n78069\t5\n78075\t5\n78082\t5\n78104\t5\n78106\t5\n78109\t5\n78113\t5\n78115\t5\n78116\t5\n78122\t5\n78125\t5\n78133\t5\n78135\t5\n78136\t5\n78137\t5\n78149\t5\n78152\t5\n78153\t5\n78155\t5\n78172\t5\n78190\t5\n78203\t5\n78204\t5\n78206\t5\n78213\t5\n78214\t5\n78218\t5\n78222\t5\n78227\t5\n78229\t5\n78242\t5\n78245\t5\n78251\t5\n78255\t5\n78258\t5\n78272\t5\n78276\t5\n78280\t5\n78281\t5\n78293\t5\n78306\t5\n78307\t5\n78311\t5\n78312\t5\n78314\t5\n78325\t5\n78326\t5\n78331\t5\n78333\t5\n78338\t5\n78340\t5\n78348\t5\n78352\t5\n78358\t5\n78368\t5\n78372\t5\n78376\t5\n78379\t5\n78382\t5\n78387\t5\n78395\t5\n78396\t5\n78402\t5\n78403\t5\n78411\t5\n78413\t5\n78414\t5\n78415\t5\n78419\t5\n78427\t5\n78432\t5\n78434\t5\n78439\t5\n78440\t5\n78443\t5\n78448\t5\n78449\t5\n78451\t5\n78459\t5\n78461\t5\n78465\t5\n78467\t5\n78470\t5\n78475\t5\n78484\t5\n78487\t5\n78492\t5\n78499\t5\n78500\t5\n78503\t5\n78515\t5\n78517\t5\n78519\t5\n78520\t5\n78522\t5\n78524\t5\n78528\t5\n78532\t5\n78536\t5\n78542\t5\n78549\t5\n78553\t5\n78554\t5\n78561\t5\n78568\t5\n78569\t5\n78573\t5\n78579\t5\n78582\t5\n78589\t5\n78591\t5\n78592\t5\n78596\t5\n78610\t5\n78611\t5\n78612\t5\n78614\t5\n78617\t5\n78620\t5\n78625\t5\n78626\t5\n78628\t5\n78632\t5\n78636\t5\n78641\t5\n78642\t5\n78648\t5\n78653\t5\n78673\t5\n78674\t5\n78677\t5\n78679\t5\n78681\t5\n78683\t5\n78686\t5\n78704\t5\n78707\t5\n78708\t5\n78712\t5\n78719\t5\n78734\t5\n78735\t5\n78740\t5\n78743\t5\n78745\t5\n78747\t5\n78751\t5\n78765\t5\n78773\t5\n78777\t5\n78788\t5\n78789\t5\n78790\t5\n78791\t5\n78801\t5\n78805\t5\n78806\t5\n78808\t5\n78809\t5\n78813\t5\n78827\t5\n78829\t5\n78831\t5\n78836\t5\n78838\t5\n78843\t5\n78849\t5\n78857\t5\n78861\t5\n78863\t5\n78864\t5\n78872\t5\n78874\t5\n78881\t5\n78885\t5\n78888\t5\n78899\t5\n78904\t5\n78911\t5\n78915\t5\n78919\t5\n78930\t5\n78938\t5\n78941\t5\n78944\t5\n78949\t5\n78950\t5\n78960\t5\n78962\t5\n78963\t5\n78969\t5\n78972\t5\n78974\t5\n78980\t5\n78982\t5\n78985\t5\n78987\t5\n78990\t5\n78992\t5\n79016\t5\n79022\t5\n79023\t5\n79026\t5\n79031\t5\n79039\t5\n79041\t5\n79042\t5\n79054\t5\n79055\t5\n79059\t5\n79060\t5\n79067\t5\n79068\t5\n79083\t5\n79090\t5\n79097\t5\n79109\t5\n79110\t5\n79115\t5\n79117\t5\n79123\t5\n79159\t5\n79163\t5\n79165\t5\n79179\t5\n79180\t5\n79182\t5\n79184\t5\n79186\t5\n79193\t5\n79194\t5\n79198\t5\n79204\t5\n79206\t5\n79208\t5\n79216\t5\n79221\t5\n79230\t5\n79242\t5\n79255\t5\n79259\t5\n79262\t5\n79268\t5\n79269\t5\n79270\t5\n79274\t5\n79276\t5\n79281\t5\n79291\t5\n79295\t5\n79315\t5\n79317\t5\n79320\t5\n79324\t5\n79330\t5\n79334\t5\n79346\t5\n79347\t5\n79357\t5\n79362\t5\n79366\t5\n79368\t5\n79369\t5\n79370\t5\n79374\t5\n79380\t5\n79388\t5\n79389\t5\n79390\t5\n79394\t5\n79404\t5\n79405\t5\n79411\t5\n79423\t5\n79424\t5\n79426\t5\n79427\t5\n79429\t5\n79430\t5\n79437\t5\n79445\t5\n79451\t5\n79452\t5\n79455\t5\n79462\t5\n79463\t5\n79466\t5\n79494\t5\n79499\t5\n79503\t5\n79508\t5\n79510\t5\n79513\t5\n79514\t5\n79515\t5\n79516\t5\n79523\t5\n79528\t5\n79529\t5\n79530\t5\n79538\t5\n79539\t5\n79541\t5\n79542\t5\n79547\t5\n79554\t5\n79564\t5\n79568\t5\n79573\t5\n79574\t5\n79575\t5\n79581\t5\n79582\t5\n79589\t5\n79594\t5\n79595\t5\n79596\t5\n79597\t5\n79602\t5\n79606\t5\n79615\t5\n79616\t5\n79620\t5\n79621\t5\n79622\t5\n79624\t5\n79626\t5\n79627\t5\n79636\t5\n79642\t5\n79646\t5\n79652\t5\n79659\t5\n79660\t5\n79665\t5\n79666\t5\n79682\t5\n79691\t5\n79702\t5\n79703\t5\n79706\t5\n79707\t5\n79711\t5\n79712\t5\n79719\t5\n79726\t5\n79728\t5\n79737\t5\n79745\t5\n79750\t5\n79751\t5\n79754\t5\n79765\t5\n79769\t5\n79770\t5\n79776\t5\n79780\t5\n79784\t5\n79790\t5\n79791\t5\n79801\t5\n79807\t5\n79809\t5\n79813\t5\n79818\t5\n79820\t5\n79822\t5\n79829\t5\n79831\t5\n79832\t5\n79833\t5\n79834\t5\n79840\t5\n79847\t5\n79850\t5\n79852\t5\n79853\t5\n79856\t5\n79868\t5\n79875\t5\n79876\t5\n79877\t5\n79879\t5\n79884\t5\n79893\t5\n79895\t5\n79896\t5\n79898\t5\n79902\t5\n79929\t5\n79943\t5\n79958\t5\n79959\t5\n79961\t5\n79963\t5\n79966\t5\n79971\t5\n79976\t5\n79991\t5\n80001\t5\n80029\t5\n80030\t5\n80031\t5\n80034\t5\n80037\t5\n80047\t5\n80071\t5\n80074\t5\n80080\t5\n80081\t5\n80085\t5\n80094\t5\n80095\t5\n80098\t5\n80102\t5\n80105\t5\n80110\t5\n80119\t5\n80121\t5\n80122\t5\n80123\t5\n80124\t5\n80130\t5\n80132\t5\n80148\t5\n80156\t5\n80157\t5\n80174\t5\n80175\t5\n80180\t5\n80190\t5\n80202\t5\n80208\t5\n80212\t5\n80225\t5\n80226\t5\n80233\t5\n80234\t5\n80250\t5\n80263\t5\n80264\t5\n80268\t5\n80270\t5\n80277\t5\n80286\t5\n80291\t5\n80295\t5\n80311\t5\n80312\t5\n80318\t5\n80325\t5\n80340\t5\n80352\t5\n80358\t5\n80382\t5\n80388\t5\n80402\t5\n80410\t5\n80411\t5\n80417\t5\n80418\t5\n80419\t5\n80425\t5\n80429\t5\n80434\t5\n80436\t5\n80437\t5\n80440\t5\n80443\t5\n80457\t5\n80461\t5\n80470\t5\n80486\t5\n80497\t5\n80507\t5\n80509\t5\n80515\t5\n80527\t5\n80528\t5\n80529\t5\n80543\t5\n80545\t5\n80556\t5\n80557\t5\n80562\t5\n80576\t5\n80584\t5\n80602\t5\n80608\t5\n80610\t5\n80612\t5\n80616\t5\n80633\t5\n80647\t5\n80658\t5\n80664\t5\n80665\t5\n80672\t5\n80677\t5\n80683\t5\n80694\t5\n80711\t5\n80722\t5\n80732\t5\n80733\t5\n80737\t5\n80739\t5\n80743\t5\n80745\t5\n80755\t5\n80764\t5\n80772\t5\n80774\t5\n80775\t5\n80779\t5\n80782\t5\n80786\t5\n80789\t5\n80794\t5\n80812\t5\n80813\t5\n80814\t5\n80817\t5\n80844\t5\n80848\t5\n80857\t5\n80861\t5\n80863\t5\n80876\t5\n80882\t5\n80891\t5\n80892\t5\n80898\t5\n80904\t5\n80908\t5\n80909\t5\n80911\t5\n80914\t5\n80915\t5\n80918\t5\n80924\t5\n80927\t5\n80932\t5\n80937\t5\n80941\t5\n80960\t5\n80963\t5\n80965\t5\n80974\t5\n80981\t5\n80983\t5\n80996\t5\n80999\t5\n81002\t5\n81004\t5\n81006\t5\n81008\t5\n81011\t5\n81016\t5\n81018\t5\n81019\t5\n81021\t5\n81023\t5\n81025\t5\n81026\t5\n81029\t5\n81034\t5\n81036\t5\n81041\t5\n81043\t5\n81069\t5\n81076\t5\n81077\t5\n81088\t5\n81091\t5\n81093\t5\n81097\t5\n81100\t5\n81101\t5\n81108\t5\n81118\t5\n81124\t5\n81135\t5\n81140\t5\n81144\t5\n81156\t5\n81172\t5\n81180\t5\n81204\t5\n81213\t5\n81214\t5\n81215\t5\n81222\t5\n81235\t5\n81238\t5\n81239\t5\n81240\t5\n81248\t5\n81254\t5\n81255\t5\n81258\t5\n81259\t5\n81263\t5\n81264\t5\n81268\t5\n81275\t5\n81279\t5\n81284\t5\n81291\t5\n81294\t5\n81301\t5\n81307\t5\n81312\t5\n81316\t5\n81324\t5\n81329\t5\n81330\t5\n81333\t5\n81338\t5\n81339\t5\n81355\t5\n81356\t5\n81364\t5\n81373\t5\n81377\t5\n81391\t5\n81392\t5\n81393\t5\n81399\t5\n81411\t5\n81414\t5\n81421\t5\n81425\t5\n81430\t5\n81433\t5\n81434\t5\n81441\t5\n81452\t5\n81465\t5\n81472\t5\n81476\t5\n81477\t5\n81478\t5\n81488\t5\n81496\t5\n81507\t5\n81526\t5\n81546\t5\n81548\t5\n81550\t5\n81552\t5\n81559\t5\n81561\t5\n81563\t5\n81568\t5\n81574\t5\n81583\t5\n81584\t5\n81585\t5\n81593\t5\n81598\t5\n81600\t5\n81606\t5\n81608\t5\n81617\t5\n81629\t5\n81632\t5\n81638\t5\n81641\t5\n81644\t5\n81657\t5\n81670\t5\n81678\t5\n81698\t5\n81704\t5\n81705\t5\n81707\t5\n81708\t5\n81710\t5\n81719\t5\n81721\t5\n81726\t5\n81754\t5\n81757\t5\n81758\t5\n81773\t5\n81778\t5\n81789\t5\n81793\t5\n81799\t5\n81801\t5\n81802\t5\n81807\t5\n81812\t5\n81814\t5\n81816\t5\n81822\t5\n81823\t5\n81826\t5\n81829\t5\n81836\t5\n81839\t5\n81851\t5\n81854\t5\n81855\t5\n81867\t5\n81883\t5\n81892\t5\n81893\t5\n81903\t5\n81907\t5\n81908\t5\n81910\t5\n81916\t5\n81917\t5\n81918\t5\n81922\t5\n81924\t5\n81934\t5\n81942\t5\n81943\t5\n81949\t5\n81952\t5\n81956\t5\n81957\t5\n81964\t5\n81979\t5\n81983\t5\n81986\t5\n81988\t5\n82001\t5\n82003\t5\n82004\t5\n82023\t5\n82027\t5\n82030\t5\n82036\t5\n82039\t5\n82040\t5\n82047\t5\n82049\t5\n82056\t5\n82062\t5\n82064\t5\n82067\t5\n82068\t5\n82074\t5\n82075\t5\n82080\t5\n82087\t5\n82092\t5\n82094\t5\n82101\t5\n82102\t5\n82104\t5\n82109\t5\n82116\t5\n82117\t5\n82124\t5\n82129\t5\n82133\t5\n82134\t5\n82136\t5\n82153\t5\n82156\t5\n82161\t5\n82169\t5\n82179\t5\n82189\t5\n82194\t5\n82203\t5\n82210\t5\n82225\t5\n82232\t5\n82233\t5\n82234\t5\n82238\t5\n82244\t5\n82248\t5\n82270\t5\n82272\t5\n82274\t5\n82275\t5\n82278\t5\n82285\t5\n82290\t5\n82291\t5\n82297\t5\n82309\t5\n82314\t5\n82317\t5\n82325\t5\n82328\t5\n82329\t5\n82330\t5\n82333\t5\n82338\t5\n82339\t5\n82341\t5\n82343\t5\n82359\t5\n82375\t5\n82376\t5\n82377\t5\n82384\t5\n82386\t5\n82387\t5\n82392\t5\n82399\t5\n82405\t5\n82419\t5\n82423\t5\n82427\t5\n82453\t5\n82455\t5\n82458\t5\n82462\t5\n82463\t5\n82467\t5\n82470\t5\n82475\t5\n82481\t5\n82490\t5\n82491\t5\n82508\t5\n82516\t5\n82524\t5\n82534\t5\n82538\t5\n82540\t5\n82541\t5\n82545\t5\n82550\t5\n82556\t5\n82557\t5\n82564\t5\n82565\t5\n82567\t5\n82569\t5\n82578\t5\n82586\t5\n82591\t5\n82605\t5\n82608\t5\n82612\t5\n82629\t5\n82630\t5\n82636\t5\n82638\t5\n82641\t5\n82664\t5\n82666\t5\n82672\t5\n82680\t5\n82691\t5\n82705\t5\n82714\t5\n82715\t5\n82716\t5\n82717\t5\n82722\t5\n82730\t5\n82738\t5\n82739\t5\n82743\t5\n82747\t5\n82749\t5\n82772\t5\n82780\t5\n82794\t5\n82799\t5\n82801\t5\n82802\t5\n82803\t5\n82807\t5\n82817\t5\n82823\t5\n82826\t5\n82829\t5\n82831\t5\n82843\t5\n82845\t5\n82848\t5\n82853\t5\n82861\t5\n82870\t5\n82874\t5\n82890\t5\n82904\t5\n82905\t5\n82906\t5\n82907\t5\n82914\t5\n82922\t5\n82940\t5\n82944\t5\n82946\t5\n82954\t5\n82956\t5\n82963\t5\n82966\t5\n82970\t5\n82974\t5\n82979\t5\n82982\t5\n82987\t5\n82991\t5\n83000\t5\n83018\t5\n83019\t5\n83026\t5\n83039\t5\n83040\t5\n83045\t5\n83053\t5\n83055\t5\n83061\t5\n83070\t5\n83073\t5\n83081\t5\n83092\t5\n83106\t5\n83108\t5\n83111\t5\n83120\t5\n83124\t5\n83128\t5\n83143\t5\n83144\t5\n83146\t5\n83150\t5\n83152\t5\n83166\t5\n83168\t5\n83176\t5\n83182\t5\n83183\t5\n83186\t5\n83195\t5\n83200\t5\n83204\t5\n83208\t5\n83211\t5\n83213\t5\n83218\t5\n83243\t5\n83251\t5\n83252\t5\n83255\t5\n83256\t5\n83257\t5\n83258\t5\n83260\t5\n83261\t5\n83264\t5\n83287\t5\n83289\t5\n83295\t5\n83303\t5\n83308\t5\n83309\t5\n83314\t5\n83333\t5\n83335\t5\n83342\t5\n83348\t5\n83351\t5\n83354\t5\n83368\t5\n83377\t5\n83380\t5\n83384\t5\n83395\t5\n83397\t5\n83409\t5\n83420\t5\n83421\t5\n83430\t5\n83431\t5\n83434\t5\n83440\t5\n83443\t5\n83444\t5\n83450\t5\n83456\t5\n83458\t5\n83475\t5\n83481\t5\n83483\t5\n83492\t5\n83496\t5\n83501\t5\n83520\t5\n83521\t5\n83523\t5\n83526\t5\n83537\t5\n83542\t5\n83547\t5\n83548\t5\n83549\t5\n83555\t5\n83569\t5\n83571\t5\n83575\t5\n83578\t5\n83584\t5\n83592\t5\n83599\t5\n83602\t5\n83604\t5\n83610\t5\n83617\t5\n83623\t5\n83626\t5\n83635\t5\n83639\t5\n83640\t5\n83645\t5\n83655\t5\n83663\t5\n83673\t5\n83686\t5\n83696\t5\n83712\t5\n83714\t5\n83716\t5\n83721\t5\n83724\t5\n83730\t5\n83755\t5\n83759\t5\n83760\t5\n83784\t5\n83794\t5\n83795\t5\n83800\t5\n83802\t5\n83808\t5\n83815\t5\n83819\t5\n83820\t5\n83822\t5\n83834\t5\n83836\t5\n83837\t5\n83838\t5\n83845\t5\n83846\t5\n83847\t5\n83850\t5\n83879\t5\n83890\t5\n83892\t5\n83893\t5\n83908\t5\n83920\t5\n83931\t5\n83938\t5\n83941\t5\n83951\t5\n83961\t5\n83962\t5\n83964\t5\n83966\t5\n83971\t5\n83978\t5\n83984\t5\n83993\t5\n83998\t5\n84000\t5\n84003\t5\n84005\t5\n84012\t5\n84025\t5\n84030\t5\n84044\t5\n84047\t5\n84053\t5\n84059\t5\n84063\t5\n84068\t5\n84087\t5\n84088\t5\n84090\t5\n84093\t5\n84098\t5\n84101\t5\n84103\t5\n84106\t5\n84125\t5\n84128\t5\n84129\t5\n84139\t5\n84141\t5\n84154\t5\n84177\t5\n84181\t5\n84183\t5\n84199\t5\n84202\t5\n84208\t5\n84243\t5\n84246\t5\n84258\t5\n84266\t5\n84285\t5\n84297\t5\n84306\t5\n84308\t5\n84317\t5\n84323\t5\n84328\t5\n84332\t5\n84334\t5\n84346\t5\n84351\t5\n84357\t5\n84360\t5\n84361\t5\n84362\t5\n84364\t5\n84366\t5\n84373\t5\n84375\t5\n84392\t5\n84394\t5\n84395\t5\n84397\t5\n84400\t5\n84402\t5\n84407\t5\n84408\t5\n84410\t5\n84412\t5\n84417\t5\n84423\t5\n84435\t5\n84436\t5\n84440\t5\n84447\t5\n84451\t5\n84470\t5\n84475\t5\n84483\t5\n84484\t5\n84486\t5\n84488\t5\n84491\t5\n84497\t5\n84500\t5\n84510\t5\n84517\t5\n84518\t5\n84522\t5\n84529\t5\n84530\t5\n84532\t5\n84541\t5\n84549\t5\n84550\t5\n84557\t5\n84567\t5\n84576\t5\n84580\t5\n84590\t5\n84592\t5\n84593\t5\n84594\t5\n84608\t5\n84612\t5\n84618\t5\n84623\t5\n84627\t5\n84629\t5\n84637\t5\n84640\t5\n84645\t5\n84659\t5\n84666\t5\n84672\t5\n84678\t5\n84687\t5\n84688\t5\n84690\t5\n84694\t5\n84697\t5\n84704\t5\n84715\t5\n84726\t5\n84729\t5\n84730\t5\n84734\t5\n84741\t5\n84743\t5\n84746\t5\n84754\t5\n84763\t5\n84764\t5\n84769\t5\n84771\t5\n84775\t5\n84776\t5\n84784\t5\n84790\t5\n84798\t5\n84804\t5\n84807\t5\n84821\t5\n84826\t5\n84827\t5\n84834\t5\n84838\t5\n84842\t5\n84849\t5\n84866\t5\n84876\t5\n84880\t5\n84896\t5\n84899\t5\n84903\t5\n84910\t5\n84911\t5\n84913\t5\n84917\t5\n84918\t5\n84931\t5\n84941\t5\n84945\t5\n84950\t5\n84953\t5\n84956\t5\n84963\t5\n84978\t5\n84981\t5\n84984\t5\n84986\t5\n84994\t5\n85002\t5\n85003\t5\n85004\t5\n85008\t5\n85012\t5\n85017\t5\n85018\t5\n85030\t5\n85033\t5\n85034\t5\n85040\t5\n85045\t5\n85048\t5\n85057\t5\n85058\t5\n85061\t5\n85064\t5\n85069\t5\n85081\t5\n85082\t5\n85083\t5\n85092\t5\n85097\t5\n85104\t5\n85109\t5\n85120\t5\n85121\t5\n85124\t5\n85130\t5\n85131\t5\n85141\t5\n85159\t5\n85168\t5\n85170\t5\n85171\t5\n85178\t5\n85186\t5\n85187\t5\n85192\t5\n85194\t5\n85210\t5\n85212\t5\n85215\t5\n85216\t5\n85220\t5\n85227\t5\n85232\t5\n85234\t5\n85240\t5\n85247\t5\n85249\t5\n85251\t5\n85261\t5\n85262\t5\n85264\t5\n85266\t5\n85271\t5\n85272\t5\n85277\t5\n85279\t5\n85287\t5\n85303\t5\n85311\t5\n85316\t5\n85321\t5\n85322\t5\n85323\t5\n85324\t5\n85326\t5\n85330\t5\n85333\t5\n85343\t5\n85344\t5\n85351\t5\n85357\t5\n85359\t5\n85363\t5\n85365\t5\n85367\t5\n85368\t5\n85371\t5\n85375\t5\n85380\t5\n85386\t5\n85406\t5\n85409\t5\n85423\t5\n85428\t5\n85432\t5\n85442\t5\n85448\t5\n85456\t5\n85480\t5\n85484\t5\n85485\t5\n85486\t5\n85490\t5\n85494\t5\n85500\t5\n85503\t5\n85506\t5\n85521\t5\n85523\t5\n85527\t5\n85528\t5\n85531\t5\n85533\t5\n85539\t5\n85546\t5\n85548\t5\n85550\t5\n85555\t5\n85558\t5\n85559\t5\n85561\t5\n85569\t5\n85573\t5\n85598\t5\n85603\t5\n85605\t5\n85606\t5\n85625\t5\n85632\t5\n85638\t5\n85639\t5\n85641\t5\n85646\t5\n85654\t5\n85657\t5\n85672\t5\n85677\t5\n85682\t5\n85691\t5\n85698\t5\n85711\t5\n85713\t5\n85719\t5\n85724\t5\n85730\t5\n85733\t5\n85734\t5\n85739\t5\n85740\t5\n85757\t5\n85763\t5\n85766\t5\n85778\t5\n85779\t5\n85787\t5\n85790\t5\n85792\t5\n85795\t5\n85820\t5\n85825\t5\n85832\t5\n85838\t5\n85846\t5\n85853\t5\n85867\t5\n85871\t5\n85876\t5\n85881\t5\n85887\t5\n85890\t5\n85899\t5\n85903\t5\n85905\t5\n85910\t5\n85920\t5\n85922\t5\n85926\t5\n85936\t5\n85943\t5\n85948\t5\n85952\t5\n85953\t5\n85963\t5\n85971\t5\n85972\t5\n85982\t5\n86001\t5\n86002\t5\n86005\t5\n86015\t5\n86018\t5\n86021\t5\n86022\t5\n86026\t5\n86041\t5\n86059\t5\n86060\t5\n86073\t5\n86080\t5\n86101\t5\n86103\t5\n86106\t5\n86112\t5\n86115\t5\n86128\t5\n86130\t5\n86143\t5\n86146\t5\n86147\t5\n86148\t5\n86157\t5\n86159\t5\n86164\t5\n86167\t5\n86169\t5\n86172\t5\n86183\t5\n86185\t5\n86193\t5\n86194\t5\n86204\t5\n86210\t5\n86222\t5\n86227\t5\n86232\t5\n86237\t5\n86239\t5\n86242\t5\n86245\t5\n86250\t5\n86251\t5\n86256\t5\n86260\t5\n86262\t5\n86263\t5\n86272\t5\n86292\t5\n86293\t5\n86295\t5\n86308\t5\n86311\t5\n86314\t5\n86318\t5\n86328\t5\n86332\t5\n86339\t5\n86340\t5\n86341\t5\n86343\t5\n86345\t5\n86346\t5\n86347\t5\n86348\t5\n86351\t5\n86357\t5\n86358\t5\n86359\t5\n86371\t5\n86384\t5\n86387\t5\n86389\t5\n86393\t5\n86408\t5\n86413\t5\n86414\t5\n86430\t5\n86433\t5\n86441\t5\n86442\t5\n86444\t5\n86450\t5\n86460\t5\n86462\t5\n86465\t5\n86479\t5\n86487\t5\n86489\t5\n86494\t5\n86495\t5\n86501\t5\n86512\t5\n86514\t5\n86517\t5\n86520\t5\n86523\t5\n86524\t5\n86526\t5\n86527\t5\n86533\t5\n86534\t5\n86542\t5\n86547\t5\n86551\t5\n86553\t5\n86562\t5\n86564\t5\n86595\t5\n86603\t5\n86612\t5\n86616\t5\n86622\t5\n86631\t5\n86633\t5\n86640\t5\n86642\t5\n86657\t5\n86661\t5\n86662\t5\n86667\t5\n86668\t5\n86675\t5\n86684\t5\n86690\t5\n86696\t5\n86702\t5\n86706\t5\n86708\t5\n86714\t5\n86715\t5\n86718\t5\n86728\t5\n86730\t5\n86734\t5\n86741\t5\n86752\t5\n86757\t5\n86760\t5\n86781\t5\n86783\t5\n86785\t5\n86794\t5\n86802\t5\n86805\t5\n86813\t5\n86815\t5\n86822\t5\n86834\t5\n86835\t5\n86840\t5\n86850\t5\n86859\t5\n86866\t5\n86869\t5\n86870\t5\n86872\t5\n86873\t5\n86878\t5\n86879\t5\n86886\t5\n86890\t5\n86899\t5\n86905\t5\n86913\t5\n86926\t5\n86932\t5\n86941\t5\n86942\t5\n86950\t5\n86952\t5\n86961\t5\n86970\t5\n86981\t5\n86983\t5\n86989\t5\n86991\t5\n86996\t5\n87003\t5\n87007\t5\n87009\t5\n87010\t5\n87011\t5\n87012\t5\n87015\t5\n87018\t5\n87032\t5\n87045\t5\n87046\t5\n87048\t5\n87059\t5\n87061\t5\n87071\t5\n87074\t5\n87088\t5\n87094\t5\n87098\t5\n87103\t5\n87105\t5\n87110\t5\n87111\t5\n87113\t5\n87121\t5\n87124\t5\n87127\t5\n87132\t5\n87137\t5\n87138\t5\n87140\t5\n87155\t5\n87162\t5\n87164\t5\n87171\t5\n87172\t5\n87179\t5\n87187\t5\n87195\t5\n87200\t5\n87205\t5\n87222\t5\n87227\t5\n87236\t5\n87238\t5\n87241\t5\n87250\t5\n87262\t5\n87263\t5\n87264\t5\n87265\t5\n87275\t5\n87280\t5\n87283\t5\n87286\t5\n87289\t5\n87293\t5\n87298\t5\n87299\t5\n87311\t5\n87312\t5\n87324\t5\n87332\t5\n87333\t5\n87342\t5\n87348\t5\n87351\t5\n87360\t5\n87365\t5\n87375\t5\n87376\t5\n87385\t5\n87390\t5\n87400\t5\n87402\t5\n87403\t5\n87404\t5\n87408\t5\n87414\t5\n87415\t5\n87419\t5\n87424\t5\n87426\t5\n87427\t5\n87435\t5\n87441\t5\n87450\t5\n87461\t5\n87463\t5\n87466\t5\n87468\t5\n87469\t5\n87470\t5\n87481\t5\n87488\t5\n87489\t5\n87491\t5\n87501\t5\n87510\t5\n87522\t5\n87527\t5\n87533\t5\n87537\t5\n87545\t5\n87554\t5\n87560\t5\n87569\t5\n87578\t5\n87581\t5\n87589\t5\n87595\t5\n87598\t5\n87604\t5\n87610\t5\n87621\t5\n87622\t5\n87632\t5\n87636\t5\n87643\t5\n87652\t5\n87657\t5\n87666\t5\n87697\t5\n87700\t5\n87703\t5\n87704\t5\n87710\t5\n87711\t5\n87714\t5\n87720\t5\n87731\t5\n87732\t5\n87739\t5\n87748\t5\n87756\t5\n87763\t5\n87767\t5\n87771\t5\n87773\t5\n87782\t5\n87783\t5\n87793\t5\n87794\t5\n87808\t5\n87815\t5\n87824\t5\n87848\t5\n87857\t5\n87870\t5\n87871\t5\n87873\t5\n87882\t5\n87886\t5\n87887\t5\n87897\t5\n87901\t5\n87909\t5\n87910\t5\n87924\t5\n87925\t5\n87935\t5\n87947\t5\n87948\t5\n87951\t5\n87970\t5\n87973\t5\n87976\t5\n87980\t5\n87981\t5\n87988\t5\n88003\t5\n88004\t5\n88005\t5\n88006\t5\n88010\t5\n88013\t5\n88016\t5\n88018\t5\n88020\t5\n88021\t5\n88022\t5\n88034\t5\n88045\t5\n88046\t5\n88048\t5\n88064\t5\n88070\t5\n88072\t5\n88077\t5\n88087\t5\n88089\t5\n88094\t5\n88096\t5\n88100\t5\n88101\t5\n88104\t5\n88106\t5\n88107\t5\n88112\t5\n88117\t5\n88119\t5\n88125\t5\n88142\t5\n88143\t5\n88145\t5\n88149\t5\n88150\t5\n88153\t5\n88155\t5\n88167\t5\n88169\t5\n88175\t5\n88177\t5\n88190\t5\n88200\t5\n88203\t5\n88208\t5\n88211\t5\n88217\t5\n88222\t5\n88236\t5\n88254\t5\n88255\t5\n88264\t5\n88278\t5\n88283\t5\n88285\t5\n88290\t5\n88295\t5\n88298\t5\n88309\t5\n88312\t5\n88320\t5\n88322\t5\n88331\t5\n88336\t5\n88342\t5\n88343\t5\n88367\t5\n88368\t5\n88370\t5\n88372\t5\n88378\t5\n88382\t5\n88393\t5\n88401\t5\n88406\t5\n88411\t5\n88422\t5\n88423\t5\n88430\t5\n88431\t5\n88434\t5\n88444\t5\n88445\t5\n88455\t5\n88460\t5\n88464\t5\n88468\t5\n88479\t5\n88484\t5\n88494\t5\n88498\t5\n88499\t5\n88519\t5\n88522\t5\n88523\t5\n88525\t5\n88537\t5\n88538\t5\n88559\t5\n88571\t5\n88576\t5\n88578\t5\n88583\t5\n88587\t5\n88591\t5\n88592\t5\n88601\t5\n88608\t5\n88616\t5\n88621\t5\n88624\t5\n88640\t5\n88646\t5\n88647\t5\n88653\t5\n88654\t5\n88657\t5\n88661\t5\n88666\t5\n88676\t5\n88678\t5\n88680\t5\n88681\t5\n88682\t5\n88691\t5\n88692\t5\n88696\t5\n88698\t5\n88708\t5\n88716\t5\n88717\t5\n88719\t5\n88720\t5\n88724\t5\n88727\t5\n88736\t5\n88740\t5\n88743\t5\n88744\t5\n88749\t5\n88751\t5\n88761\t5\n88787\t5\n88789\t5\n88799\t5\n88800\t5\n88804\t5\n88805\t5\n88806\t5\n88809\t5\n88825\t5\n88831\t5\n88839\t5\n88846\t5\n88870\t5\n88871\t5\n88872\t5\n88880\t5\n88884\t5\n88894\t5\n88899\t5\n88906\t5\n88914\t5\n88917\t5\n88919\t5\n88920\t5\n88923\t5\n88929\t5\n88936\t5\n88939\t5\n88943\t5\n88946\t5\n88951\t5\n88953\t5\n88961\t5\n88974\t5\n88987\t5\n88990\t5\n89000\t5\n89004\t5\n89030\t5\n89033\t5\n89037\t5\n89041\t5\n89048\t5\n89054\t5\n89055\t5\n89058\t5\n89068\t5\n89071\t5\n89077\t5\n89087\t5\n89099\t5\n89103\t5\n89104\t5\n89110\t5\n89118\t5\n89122\t5\n89127\t5\n89130\t5\n89136\t5\n89138\t5\n89142\t5\n89158\t5\n89161\t5\n89169\t5\n89174\t5\n89176\t5\n89177\t5\n89181\t5\n89183\t5\n89206\t5\n89212\t5\n89216\t5\n89219\t5\n89224\t5\n89239\t5\n89244\t5\n89245\t5\n89246\t5\n89248\t5\n89254\t5\n89256\t5\n89257\t5\n89260\t5\n89261\t5\n89263\t5\n89272\t5\n89273\t5\n89278\t5\n89279\t5\n89284\t5\n89296\t5\n89315\t5\n89323\t5\n89324\t5\n89327\t5\n89328\t5\n89329\t5\n89346\t5\n89358\t5\n89361\t5\n89362\t5\n89368\t5\n89369\t5\n89392\t5\n89394\t5\n89398\t5\n89405\t5\n89416\t5\n89421\t5\n89425\t5\n89426\t5\n89431\t5\n89450\t5\n89462\t5\n89464\t5\n89472\t5\n89475\t5\n89484\t5\n89487\t5\n89493\t5\n89500\t5\n89507\t5\n89520\t5\n89526\t5\n89529\t5\n89533\t5\n89539\t5\n89552\t5\n89555\t5\n89560\t5\n89562\t5\n89563\t5\n89568\t5\n89572\t5\n89577\t5\n89583\t5\n89592\t5\n89599\t5\n89601\t5\n89619\t5\n89621\t5\n89627\t5\n89628\t5\n89629\t5\n89636\t5\n89656\t5\n89657\t5\n89660\t5\n89662\t5\n89671\t5\n89674\t5\n89677\t5\n89678\t5\n89685\t5\n89686\t5\n89690\t5\n89702\t5\n89709\t5\n89726\t5\n89733\t5\n89739\t5\n89743\t5\n89770\t5\n89776\t5\n89783\t5\n89786\t5\n89798\t5\n89800\t5\n89805\t5\n89807\t5\n89812\t5\n89823\t5\n89826\t5\n89828\t5\n89834\t5\n89838\t5\n89840\t5\n89842\t5\n89843\t5\n89844\t5\n89846\t5\n89851\t5\n89857\t5\n89859\t5\n89864\t5\n89865\t5\n89879\t5\n89881\t5\n89886\t5\n89890\t5\n89893\t5\n89897\t5\n89903\t5\n89907\t5\n89908\t5\n89910\t5\n89911\t5\n89917\t5\n89941\t5\n89962\t5\n89963\t5\n89968\t5\n89974\t5\n89987\t5\n90005\t5\n90008\t5\n90010\t5\n90017\t5\n90019\t5\n90021\t5\n90023\t5\n90025\t5\n90027\t5\n90038\t5\n90042\t5\n90054\t5\n90057\t5\n90068\t5\n90079\t5\n90085\t5\n90098\t5\n90104\t5\n90110\t5\n90127\t5\n90128\t5\n90130\t5\n90134\t5\n90138\t5\n90143\t5\n90165\t5\n90169\t5\n90177\t5\n90183\t5\n90195\t5\n90196\t5\n90197\t5\n90241\t5\n90248\t5\n90254\t5\n90268\t5\n90269\t5\n90270\t5\n90271\t5\n90273\t5\n90275\t5\n90279\t5\n90292\t5\n90295\t5\n90300\t5\n90301\t5\n90304\t5\n90310\t5\n90313\t5\n90319\t5\n90335\t5\n90347\t5\n90354\t5\n90355\t5\n90363\t5\n90366\t5\n90373\t5\n90378\t5\n90388\t5\n90408\t5\n90414\t5\n90417\t5\n90418\t5\n90419\t5\n90420\t5\n90425\t5\n90426\t5\n90428\t5\n90440\t5\n90444\t5\n90445\t5\n90446\t5\n90450\t5\n90467\t5\n90471\t5\n90481\t5\n90484\t5\n90501\t5\n90516\t5\n90521\t5\n90525\t5\n90527\t5\n90534\t5\n90537\t5\n90538\t5\n90546\t5\n90556\t5\n90560\t5\n90564\t5\n90567\t5\n90568\t5\n90579\t5\n90581\t5\n90584\t5\n90601\t5\n90602\t5\n90606\t5\n90609\t5\n90611\t5\n90620\t5\n90629\t5\n90630\t5\n90645\t5\n90647\t5\n90652\t5\n90656\t5\n90673\t5\n90678\t5\n90681\t5\n90682\t5\n90684\t5\n90685\t5\n90687\t5\n90697\t5\n90704\t5\n90705\t5\n90717\t5\n90724\t5\n90731\t5\n90733\t5\n90735\t5\n90736\t5\n90745\t5\n90751\t5\n90752\t5\n90761\t5\n90764\t5\n90770\t5\n90778\t5\n90781\t5\n90788\t5\n90799\t5\n90810\t5\n90812\t5\n90814\t5\n90816\t5\n90819\t5\n90826\t5\n90827\t5\n90828\t5\n90830\t5\n90832\t5\n90835\t5\n90839\t5\n90843\t5\n90849\t5\n90850\t5\n90853\t5\n90862\t5\n90868\t5\n90869\t5\n90883\t5\n90884\t5\n90886\t5\n90894\t5\n90905\t5\n90910\t5\n90913\t5\n90919\t5\n90930\t5\n90932\t5\n90933\t5\n90938\t5\n90943\t5\n90945\t5\n90946\t5\n90961\t5\n90963\t5\n90966\t5\n90975\t5\n90978\t5\n90980\t5\n90981\t5\n90982\t5\n90984\t5\n90985\t5\n90993\t5\n90994\t5\n90996\t5\n91005\t5\n91008\t5\n91010\t5\n91014\t5\n91022\t5\n91039\t5\n91049\t5\n91053\t5\n91057\t5\n91062\t5\n91064\t5\n91068\t5\n91078\t5\n91079\t5\n91082\t5\n91091\t5\n91093\t5\n91104\t5\n91105\t5\n91115\t5\n91129\t5\n91130\t5\n91146\t5\n91147\t5\n91150\t5\n91152\t5\n91156\t5\n91161\t5\n91167\t5\n91169\t5\n91181\t5\n91182\t5\n91192\t5\n91211\t5\n91212\t5\n91216\t5\n91220\t5\n91226\t5\n91235\t5\n91237\t5\n91244\t5\n91246\t5\n91248\t5\n91249\t5\n91251\t5\n91252\t5\n91256\t5\n91259\t5\n91280\t5\n91286\t5\n91289\t5\n91300\t5\n91309\t5\n91311\t5\n91312\t5\n91317\t5\n91322\t5\n91344\t5\n91354\t5\n91363\t5\n91365\t5\n91388\t5\n91392\t5\n91396\t5\n91406\t5\n91407\t5\n91416\t5\n91419\t5\n91423\t5\n91426\t5\n91427\t5\n91430\t5\n91434\t5\n91439\t5\n91448\t5\n91459\t5\n91463\t5\n91470\t5\n91473\t5\n91482\t5\n91484\t5\n91485\t5\n91489\t5\n91500\t5\n91509\t5\n91517\t5\n91522\t5\n91526\t5\n91529\t5\n91532\t5\n91533\t5\n91541\t5\n91542\t5\n91547\t5\n91548\t5\n91562\t5\n91576\t5\n91577\t5\n91583\t5\n91594\t5\n91599\t5\n91602\t5\n91626\t5\n91636\t5\n91643\t5\n91650\t5\n91662\t5\n91665\t5\n91680\t5\n91688\t5\n91705\t5\n91730\t5\n91752\t5\n91769\t5\n91788\t5\n91790\t5\n91808\t5\n91815\t5\n91817\t5\n91821\t5\n91823\t5\n91826\t5\n91830\t5\n91831\t5\n91854\t5\n91864\t5\n91870\t5\n91875\t5\n91883\t5\n91886\t5\n91891\t5\n91904\t5\n91907\t5\n91910\t5\n91921\t5\n91928\t5\n91931\t5\n91936\t5\n91940\t5\n91952\t5\n91966\t5\n91968\t5\n91970\t5\n91976\t5\n91980\t5\n91991\t5\n91992\t5\n91994\t5\n91999\t5\n92004\t5\n92010\t5\n92013\t5\n92016\t5\n92020\t5\n92030\t5\n92034\t5\n92038\t5\n92039\t5\n92047\t5\n92061\t5\n92062\t5\n92083\t5\n92084\t5\n92096\t5\n92097\t5\n92102\t5\n92112\t5\n92115\t5\n92117\t5\n92121\t5\n92122\t5\n92123\t5\n92141\t5\n92144\t5\n92147\t5\n92151\t5\n92152\t5\n92157\t5\n92165\t5\n92168\t5\n92169\t5\n92170\t5\n92185\t5\n92192\t5\n92200\t5\n92201\t5\n92212\t5\n92214\t5\n92218\t5\n92220\t5\n92224\t5\n92230\t5\n92262\t5\n92264\t5\n92271\t5\n92276\t5\n92285\t5\n92286\t5\n92291\t5\n92302\t5\n92316\t5\n92341\t5\n92358\t5\n92360\t5\n92362\t5\n92363\t5\n92379\t5\n92381\t5\n92384\t5\n92405\t5\n92407\t5\n92408\t5\n92421\t5\n92428\t5\n92429\t5\n92431\t5\n92432\t5\n92434\t5\n92435\t5\n92441\t5\n92443\t5\n92446\t5\n92451\t5\n92454\t5\n92458\t5\n92460\t5\n92461\t5\n92465\t5\n92467\t5\n92468\t5\n92485\t5\n92489\t5\n92495\t5\n92506\t5\n92509\t5\n92510\t5\n92513\t5\n92524\t5\n92536\t5\n92538\t5\n92541\t5\n92544\t5\n92552\t5\n92562\t5\n92564\t5\n92567\t5\n92583\t5\n92585\t5\n92589\t5\n92595\t5\n92600\t5\n92607\t5\n92609\t5\n92618\t5\n92620\t5\n92621\t5\n92624\t5\n92629\t5\n92637\t5\n92640\t5\n92645\t5\n92646\t5\n92647\t5\n92652\t5\n92668\t5\n92677\t5\n92680\t5\n92682\t5\n92686\t5\n92692\t5\n92696\t5\n92704\t5\n92705\t5\n92708\t5\n92726\t5\n92731\t5\n92741\t5\n92742\t5\n92745\t5\n92749\t5\n92768\t5\n92772\t5\n92793\t5\n92797\t5\n92812\t5\n92816\t5\n92817\t5\n92822\t5\n92828\t5\n92831\t5\n92844\t5\n92849\t5\n92858\t5\n92859\t5\n92863\t5\n92872\t5\n92880\t5\n92883\t5\n92885\t5\n92888\t5\n92897\t5\n92899\t5\n92913\t5\n92922\t5\n92925\t5\n92933\t5\n92939\t5\n92943\t5\n92947\t5\n92948\t5\n92953\t5\n92956\t5\n92959\t5\n92961\t5\n92966\t5\n92973\t5\n92976\t5\n92980\t5\n92985\t5\n92989\t5\n92997\t5\n93001\t5\n93012\t5\n93016\t5\n93018\t5\n93019\t5\n93030\t5\n93033\t5\n93039\t5\n93041\t5\n93042\t5\n93054\t5\n93060\t5\n93062\t5\n93065\t5\n93079\t5\n93091\t5\n93095\t5\n93100\t5\n93111\t5\n93121\t5\n93122\t5\n93124\t5\n93128\t5\n93145\t5\n93150\t5\n93151\t5\n93152\t5\n93170\t5\n93178\t5\n93179\t5\n93187\t5\n93188\t5\n93197\t5\n93200\t5\n93219\t5\n93224\t5\n93228\t5\n93235\t5\n93236\t5\n93237\t5\n93239\t5\n93240\t5\n93241\t5\n93262\t5\n93269\t5\n93273\t5\n93287\t5\n93291\t5\n93292\t5\n93297\t5\n93298\t5\n93304\t5\n93317\t5\n93333\t5\n93336\t5\n93340\t5\n93349\t5\n93358\t5\n93359\t5\n93363\t5\n93369\t5\n93371\t5\n93372\t5\n93373\t5\n93380\t5\n93389\t5\n93390\t5\n93393\t5\n93400\t5\n93401\t5\n93416\t5\n93423\t5\n93433\t5\n93434\t5\n93445\t5\n93446\t5\n93448\t5\n93449\t5\n93451\t5\n93463\t5\n93465\t5\n93491\t5\n93499\t5\n93504\t5\n93519\t5\n93527\t5\n93534\t5\n93536\t5\n93539\t5\n93549\t5\n93561\t5\n93566\t5\n93576\t5\n93579\t5\n93581\t5\n93589\t5\n93590\t5\n93592\t5\n93603\t5\n93608\t5\n93609\t5\n93614\t5\n93619\t5\n93625\t5\n93630\t5\n93634\t5\n93637\t5\n93639\t5\n93644\t5\n93649\t5\n93654\t5\n93657\t5\n93658\t5\n93659\t5\n93664\t5\n93665\t5\n93667\t5\n93668\t5\n93670\t5\n93680\t5\n93690\t5\n93706\t5\n93709\t5\n93716\t5\n93722\t5\n93727\t5\n93746\t5\n93763\t5\n93776\t5\n93778\t5\n93779\t5\n93780\t5\n93787\t5\n93789\t5\n93792\t5\n93793\t5\n93799\t5\n93800\t5\n93829\t5\n93833\t5\n93843\t5\n93846\t5\n93847\t5\n93860\t5\n93867\t5\n93869\t5\n93875\t5\n93890\t5\n93892\t5\n93894\t5\n93909\t5\n93910\t5\n93912\t5\n93916\t5\n93926\t5\n93930\t5\n93931\t5\n93932\t5\n93934\t5\n93936\t5\n93941\t5\n93964\t5\n93971\t5\n93973\t5\n93974\t5\n93976\t5\n93977\t5\n93991\t5\n93993\t5\n93996\t5\n93999\t5\n94029\t5\n94031\t5\n94032\t5\n94035\t5\n94040\t5\n94042\t5\n94045\t5\n94048\t5\n94059\t5\n94071\t5\n94074\t5\n94084\t5\n94085\t5\n94098\t5\n94101\t5\n94103\t5\n94111\t5\n94112\t5\n94125\t5\n94174\t5\n94185\t5\n94188\t5\n94193\t5\n94195\t5\n94198\t5\n94203\t5\n94208\t5\n94216\t5\n94228\t5\n94230\t5\n94231\t5\n94234\t5\n94241\t5\n94243\t5\n94258\t5\n94267\t5\n94271\t5\n94274\t5\n94275\t5\n94276\t5\n94283\t5\n94287\t5\n94288\t5\n94289\t5\n94302\t5\n94304\t5\n94307\t5\n94310\t5\n94323\t5\n94326\t5\n94329\t5\n94333\t5\n94339\t5\n94346\t5\n94351\t5\n94352\t5\n94353\t5\n94358\t5\n94360\t5\n94366\t5\n94372\t5\n94377\t5\n94383\t5\n94384\t5\n94386\t5\n94388\t5\n94394\t5\n94402\t5\n94421\t5\n94422\t5\n94426\t5\n94430\t5\n94440\t5\n94449\t5\n94450\t5\n94454\t5\n94459\t5\n94483\t5\n94484\t5\n94496\t5\n94497\t5\n94506\t5\n94510\t5\n94513\t5\n94517\t5\n94526\t5\n94528\t5\n94551\t5\n94552\t5\n94567\t5\n94570\t5\n94576\t5\n94577\t5\n94594\t5\n94597\t5\n94598\t5\n94606\t5\n94608\t5\n94620\t5\n94624\t5\n94633\t5\n94635\t5\n94639\t5\n94642\t5\n94644\t5\n94647\t5\n94657\t5\n94659\t5\n94660\t5\n94671\t5\n94679\t5\n94689\t5\n94690\t5\n94697\t5\n94706\t5\n94707\t5\n94711\t5\n94712\t5\n94731\t5\n94732\t5\n94734\t5\n94741\t5\n94749\t5\n94754\t5\n94760\t5\n94763\t5\n94764\t5\n94778\t5\n94782\t5\n94784\t5\n94786\t5\n94787\t5\n94791\t5\n94794\t5\n94798\t5\n94799\t5\n94801\t5\n94810\t5\n94811\t5\n94832\t5\n94835\t5\n94841\t5\n94845\t5\n94850\t5\n94851\t5\n94857\t5\n94868\t5\n94874\t5\n94887\t5\n94896\t5\n94898\t5\n94901\t5\n94904\t5\n94907\t5\n94914\t5\n94915\t5\n94922\t5\n94929\t5\n94962\t5\n94965\t5\n94969\t5\n94972\t5\n94987\t5\n94990\t5\n94993\t5\n95002\t5\n95008\t5\n95016\t5\n95046\t5\n95047\t5\n95048\t5\n95050\t5\n95056\t5\n95062\t5\n95065\t5\n95104\t5\n95114\t5\n95124\t5\n95126\t5\n95139\t5\n95140\t5\n95155\t5\n95159\t5\n95160\t5\n95172\t5\n95178\t5\n95179\t5\n95184\t5\n95185\t5\n95192\t5\n95201\t5\n95205\t5\n95206\t5\n95211\t5\n95214\t5\n95216\t5\n95227\t5\n95229\t5\n95248\t5\n95249\t5\n95256\t5\n95263\t5\n95268\t5\n95280\t5\n95284\t5\n95298\t5\n95299\t5\n95309\t5\n95312\t5\n95319\t5\n95320\t5\n95323\t5\n95327\t5\n95331\t5\n95339\t5\n95340\t5\n95345\t5\n95354\t5\n95357\t5\n95362\t5\n95369\t5\n95370\t5\n95375\t5\n95379\t5\n95389\t5\n95393\t5\n95399\t5\n95400\t5\n95407\t5\n95408\t5\n95411\t5\n95412\t5\n95420\t5\n95423\t5\n95434\t5\n95440\t5\n95455\t5\n95460\t5\n95471\t5\n95472\t5\n95473\t5\n95478\t5\n95479\t5\n95483\t5\n95486\t5\n95490\t5\n95494\t5\n95496\t5\n95498\t5\n95499\t5\n95502\t5\n95510\t5\n95511\t5\n95521\t5\n95526\t5\n95527\t5\n95538\t5\n95546\t5\n95559\t5\n95561\t5\n95572\t5\n95573\t5\n95577\t5\n95610\t5\n95611\t5\n95620\t5\n95630\t5\n95639\t5\n95641\t5\n95645\t5\n95652\t5\n95656\t5\n95659\t5\n95663\t5\n95671\t5\n95672\t5\n95681\t5\n95682\t5\n95683\t5\n95687\t5\n95688\t5\n95695\t5\n95711\t5\n95712\t5\n95718\t5\n95720\t5\n95728\t5\n95735\t5\n95736\t5\n95754\t5\n95762\t5\n95763\t5\n95769\t5\n95771\t5\n95779\t5\n95780\t5\n95781\t5\n95783\t5\n95798\t5\n95803\t5\n95814\t5\n95839\t5\n95842\t5\n95844\t5\n95847\t5\n95857\t5\n95859\t5\n95860\t5\n95882\t5\n95883\t5\n95885\t5\n95890\t5\n95899\t5\n95908\t5\n95922\t5\n95934\t5\n95940\t5\n95947\t5\n95952\t5\n95953\t5\n95965\t5\n95966\t5\n95967\t5\n95976\t5\n95979\t5\n95989\t5\n95991\t5\n95993\t5\n95995\t5\n95996\t5\n95998\t5\n96000\t5\n96006\t5\n96007\t5\n96018\t5\n96023\t5\n96027\t5\n96033\t5\n96035\t5\n96057\t5\n96062\t5\n96066\t5\n96069\t5\n96073\t5\n96075\t5\n96077\t5\n96080\t5\n96088\t5\n96094\t5\n96095\t5\n96106\t5\n96109\t5\n96112\t5\n96115\t5\n96118\t5\n96125\t5\n96126\t5\n96127\t5\n96138\t5\n96144\t5\n96146\t5\n96147\t5\n96151\t5\n96159\t5\n96165\t5\n96169\t5\n96176\t5\n96185\t5\n96194\t5\n96200\t5\n96214\t5\n96219\t5\n96221\t5\n96222\t5\n96236\t5\n96246\t5\n96261\t5\n96270\t5\n96294\t5\n96300\t5\n96309\t5\n96314\t5\n96328\t5\n96335\t5\n96339\t5\n96342\t5\n96374\t5\n96375\t5\n96400\t5\n96405\t5\n96407\t5\n96412\t5\n96414\t5\n96439\t5\n96446\t5\n96457\t5\n96460\t5\n96466\t5\n96467\t5\n96474\t5\n96486\t5\n96494\t5\n96496\t5\n96497\t5\n96499\t5\n96502\t5\n96512\t5\n96524\t5\n96526\t5\n96533\t5\n96562\t5\n96572\t5\n96579\t5\n96582\t5\n96594\t5\n96595\t5\n96597\t5\n96603\t5\n96614\t5\n96630\t5\n96633\t5\n96634\t5\n96637\t5\n96642\t5\n96645\t5\n96656\t5\n96663\t5\n96667\t5\n96679\t5\n96680\t5\n96701\t5\n96704\t5\n96710\t5\n96715\t5\n96718\t5\n96739\t5\n96741\t5\n96755\t5\n96759\t5\n96762\t5\n96766\t5\n96769\t5\n96774\t5\n96777\t5\n96778\t5\n96784\t5\n96794\t5\n96796\t5\n96798\t5\n96801\t5\n96802\t5\n96808\t5\n96809\t5\n96810\t5\n96812\t5\n96819\t5\n96822\t5\n96828\t5\n96832\t5\n96844\t5\n96851\t5\n96855\t5\n96877\t5\n96880\t5\n96881\t5\n96886\t5\n96887\t5\n96898\t5\n96899\t5\n96904\t5\n96908\t5\n96911\t5\n96923\t5\n96943\t5\n96945\t5\n96957\t5\n96967\t5\n96968\t5\n96984\t5\n96994\t5\n97001\t5\n97010\t5\n97012\t5\n97022\t5\n97023\t5\n97032\t5\n97037\t5\n97041\t5\n97044\t5\n97048\t5\n97049\t5\n97053\t5\n97055\t5\n97061\t5\n97071\t5\n97072\t5\n97087\t5\n97101\t5\n97105\t5\n97108\t5\n97112\t5\n97114\t5\n97115\t5\n97119\t5\n97126\t5\n97146\t5\n97152\t5\n97160\t5\n97161\t5\n97162\t5\n97166\t5\n97169\t5\n97171\t5\n97178\t5\n97184\t5\n97190\t5\n97199\t5\n97203\t5\n97210\t5\n97214\t5\n97221\t5\n97228\t5\n97234\t5\n97238\t5\n97245\t5\n97249\t5\n97254\t5\n97256\t5\n97258\t5\n97266\t5\n97267\t5\n97268\t5\n97279\t5\n97287\t5\n97291\t5\n97294\t5\n97312\t5\n97316\t5\n97317\t5\n97322\t5\n97324\t5\n97342\t5\n97344\t5\n97347\t5\n97351\t5\n97352\t5\n97353\t5\n97354\t5\n97356\t5\n97366\t5\n97369\t5\n97374\t5\n97375\t5\n97384\t5\n97385\t5\n97386\t5\n97394\t5\n97399\t5\n97406\t5\n97407\t5\n97408\t5\n97410\t5\n97419\t5\n97434\t5\n97453\t5\n97455\t5\n97471\t5\n97492\t5\n97495\t5\n97500\t5\n97515\t5\n97521\t5\n97522\t5\n97523\t5\n97526\t5\n97537\t5\n97542\t5\n97549\t5\n97563\t5\n97566\t5\n97576\t5\n97590\t5\n97599\t5\n97605\t5\n97620\t5\n97623\t5\n97632\t5\n97640\t5\n97645\t5\n97651\t5\n97668\t5\n97669\t5\n97670\t5\n97673\t5\n97674\t5\n97703\t5\n97709\t5\n97715\t5\n97716\t5\n97722\t5\n97728\t5\n97735\t5\n97736\t5\n97737\t5\n97759\t5\n97761\t5\n97766\t5\n97770\t5\n97774\t5\n97779\t5\n97784\t5\n97785\t5\n97803\t5\n97809\t5\n97816\t5\n97818\t5\n97822\t5\n97823\t5\n97830\t5\n97838\t5\n97845\t5\n97852\t5\n97870\t5\n97871\t5\n97882\t5\n97889\t5\n97894\t5\n97910\t5\n97911\t5\n97918\t5\n97924\t5\n97925\t5\n97932\t5\n97934\t5\n97935\t5\n97938\t5\n97940\t5\n97943\t5\n97953\t5\n97955\t5\n97958\t5\n97962\t5\n97968\t5\n97972\t5\n97973\t5\n97977\t5\n97988\t5\n97994\t5\n98002\t5\n98006\t5\n98009\t5\n98023\t5\n98026\t5\n98033\t5\n98035\t5\n98048\t5\n98057\t5\n98060\t5\n98064\t5\n98065\t5\n98066\t5\n98078\t5\n98079\t5\n98085\t5\n98093\t5\n98094\t5\n98095\t5\n98105\t5\n98108\t5\n98111\t5\n98117\t5\n98123\t5\n98124\t5\n98140\t5\n98142\t5\n98149\t5\n98160\t5\n98170\t5\n98186\t5\n98197\t5\n98198\t5\n98202\t5\n98212\t5\n98216\t5\n98248\t5\n98254\t5\n98280\t5\n98284\t5\n98289\t5\n98293\t5\n98296\t5\n98299\t5\n98301\t5\n98304\t5\n98319\t5\n98332\t5\n98340\t5\n98347\t5\n98351\t5\n98363\t5\n98366\t5\n98374\t5\n98379\t5\n98382\t5\n98386\t5\n98394\t5\n98402\t5\n98409\t5\n98413\t5\n98415\t5\n98419\t5\n98437\t5\n98442\t5\n98448\t5\n98450\t5\n98461\t5\n98462\t5\n98471\t5\n98481\t5\n98497\t5\n98499\t5\n98535\t5\n98536\t5\n98537\t5\n98540\t5\n98546\t5\n98552\t5\n98554\t5\n98576\t5\n98585\t5\n98590\t5\n98606\t5\n98615\t5\n98617\t5\n98618\t5\n98622\t5\n98623\t5\n98628\t5\n98632\t5\n98637\t5\n98638\t5\n98645\t5\n98649\t5\n98661\t5\n98673\t5\n98685\t5\n98687\t5\n98688\t5\n98694\t5\n98695\t5\n98697\t5\n98700\t5\n98718\t5\n98727\t5\n98728\t5\n98736\t5\n98738\t5\n98763\t5\n98772\t5\n98778\t5\n98789\t5\n98790\t5\n98792\t5\n98798\t5\n98804\t5\n98817\t5\n98819\t5\n98820\t5\n98821\t5\n98822\t5\n98836\t5\n98843\t5\n98851\t5\n98852\t5\n98854\t5\n98858\t5\n98868\t5\n98873\t5\n98881\t5\n98887\t5\n98893\t5\n98894\t5\n98895\t5\n98901\t5\n98904\t5\n98914\t5\n98916\t5\n98917\t5\n98924\t5\n98930\t5\n98936\t5\n98944\t5\n98950\t5\n98952\t5\n98954\t5\n98965\t5\n98969\t5\n98976\t5\n98982\t5\n7\t6\n8\t6\n14\t6\n18\t6\n20\t6\n26\t6\n27\t6\n28\t6\n45\t6\n47\t6\n51\t6\n71\t6\n85\t6\n86\t6\n87\t6\n90\t6\n91\t6\n96\t6\n116\t6\n123\t6\n126\t6\n127\t6\n129\t6\n132\t6\n138\t6\n143\t6\n174\t6\n176\t6\n180\t6\n182\t6\n184\t6\n187\t6\n188\t6\n198\t6\n206\t6\n218\t6\n240\t6\n242\t6\n243\t6\n254\t6\n266\t6\n268\t6\n277\t6\n279\t6\n283\t6\n286\t6\n292\t6\n294\t6\n307\t6\n311\t6\n312\t6\n329\t6\n337\t6\n340\t6\n343\t6\n347\t6\n348\t6\n349\t6\n361\t6\n370\t6\n371\t6\n381\t6\n390\t6\n399\t6\n400\t6\n407\t6\n409\t6\n424\t6\n442\t6\n449\t6\n452\t6\n455\t6\n459\t6\n466\t6\n469\t6\n471\t6\n472\t6\n473\t6\n484\t6\n493\t6\n497\t6\n501\t6\n507\t6\n515\t6\n518\t6\n533\t6\n539\t6\n550\t6\n551\t6\n561\t6\n565\t6\n566\t6\n568\t6\n573\t6\n595\t6\n605\t6\n621\t6\n623\t6\n630\t6\n636\t6\n637\t6\n650\t6\n654\t6\n655\t6\n660\t6\n664\t6\n666\t6\n674\t6\n679\t6\n680\t6\n685\t6\n687\t6\n688\t6\n697\t6\n700\t6\n701\t6\n707\t6\n734\t6\n751\t6\n752\t6\n758\t6\n766\t6\n768\t6\n773\t6\n787\t6\n788\t6\n790\t6\n799\t6\n803\t6\n808\t6\n810\t6\n822\t6\n828\t6\n831\t6\n832\t6\n838\t6\n844\t6\n847\t6\n851\t6\n855\t6\n858\t6\n860\t6\n862\t6\n864\t6\n868\t6\n887\t6\n889\t6\n893\t6\n896\t6\n908\t6\n910\t6\n912\t6\n917\t6\n920\t6\n933\t6\n942\t6\n946\t6\n950\t6\n968\t6\n976\t6\n983\t6\n989\t6\n1000\t6\n1017\t6\n1018\t6\n1024\t6\n1028\t6\n1029\t6\n1035\t6\n1056\t6\n1065\t6\n1081\t6\n1082\t6\n1105\t6\n1106\t6\n1111\t6\n1113\t6\n1115\t6\n1117\t6\n1122\t6\n1125\t6\n1139\t6\n1154\t6\n1156\t6\n1165\t6\n1167\t6\n1178\t6\n1184\t6\n1185\t6\n1206\t6\n1221\t6\n1223\t6\n1225\t6\n1226\t6\n1229\t6\n1234\t6\n1254\t6\n1256\t6\n1271\t6\n1276\t6\n1277\t6\n1293\t6\n1302\t6\n1311\t6\n1323\t6\n1328\t6\n1338\t6\n1345\t6\n1348\t6\n1351\t6\n1355\t6\n1363\t6\n1364\t6\n1376\t6\n1377\t6\n1378\t6\n1379\t6\n1380\t6\n1381\t6\n1387\t6\n1388\t6\n1389\t6\n1393\t6\n1406\t6\n1407\t6\n1409\t6\n1420\t6\n1424\t6\n1434\t6\n1438\t6\n1441\t6\n1443\t6\n1444\t6\n1449\t6\n1450\t6\n1454\t6\n1469\t6\n1473\t6\n1478\t6\n1480\t6\n1486\t6\n1487\t6\n1492\t6\n1500\t6\n1501\t6\n1503\t6\n1516\t6\n1519\t6\n1520\t6\n1523\t6\n1529\t6\n1534\t6\n1537\t6\n1538\t6\n1545\t6\n1547\t6\n1550\t6\n1557\t6\n1581\t6\n1594\t6\n1596\t6\n1603\t6\n1605\t6\n1616\t6\n1618\t6\n1633\t6\n1641\t6\n1652\t6\n1656\t6\n1661\t6\n1662\t6\n1667\t6\n1669\t6\n1676\t6\n1680\t6\n1689\t6\n1694\t6\n1700\t6\n1707\t6\n1711\t6\n1712\t6\n1722\t6\n1730\t6\n1736\t6\n1738\t6\n1739\t6\n1741\t6\n1748\t6\n1766\t6\n1774\t6\n1778\t6\n1782\t6\n1790\t6\n1795\t6\n1797\t6\n1798\t6\n1803\t6\n1806\t6\n1807\t6\n1808\t6\n1810\t6\n1814\t6\n1825\t6\n1833\t6\n1855\t6\n1857\t6\n1859\t6\n1860\t6\n1861\t6\n1864\t6\n1868\t6\n1879\t6\n1881\t6\n1883\t6\n1893\t6\n1902\t6\n1915\t6\n1916\t6\n1917\t6\n1928\t6\n1939\t6\n1940\t6\n1953\t6\n1961\t6\n1963\t6\n1971\t6\n1980\t6\n1990\t6\n1994\t6\n2007\t6\n2015\t6\n2026\t6\n2033\t6\n2040\t6\n2043\t6\n2047\t6\n2053\t6\n2064\t6\n2084\t6\n2087\t6\n2088\t6\n2090\t6\n2094\t6\n2095\t6\n2099\t6\n2107\t6\n2111\t6\n2118\t6\n2119\t6\n2123\t6\n2128\t6\n2136\t6\n2143\t6\n2147\t6\n2149\t6\n2152\t6\n2158\t6\n2159\t6\n2162\t6\n2169\t6\n2174\t6\n2176\t6\n2177\t6\n2188\t6\n2191\t6\n2192\t6\n2194\t6\n2195\t6\n2197\t6\n2200\t6\n2213\t6\n2218\t6\n2224\t6\n2246\t6\n2250\t6\n2260\t6\n2265\t6\n2274\t6\n2278\t6\n2281\t6\n2282\t6\n2289\t6\n2293\t6\n2297\t6\n2313\t6\n2316\t6\n2321\t6\n2335\t6\n2343\t6\n2346\t6\n2348\t6\n2351\t6\n2355\t6\n2366\t6\n2372\t6\n2373\t6\n2378\t6\n2382\t6\n2384\t6\n2392\t6\n2394\t6\n2399\t6\n2400\t6\n2405\t6\n2409\t6\n2416\t6\n2417\t6\n2420\t6\n2425\t6\n2426\t6\n2434\t6\n2436\t6\n2443\t6\n2448\t6\n2458\t6\n2460\t6\n2469\t6\n2470\t6\n2474\t6\n2481\t6\n2482\t6\n2489\t6\n2502\t6\n2527\t6\n2534\t6\n2537\t6\n2538\t6\n2539\t6\n2542\t6\n2544\t6\n2548\t6\n2552\t6\n2559\t6\n2566\t6\n2571\t6\n2576\t6\n2581\t6\n2583\t6\n2601\t6\n2602\t6\n2603\t6\n2607\t6\n2609\t6\n2610\t6\n2611\t6\n2612\t6\n2614\t6\n2618\t6\n2622\t6\n2623\t6\n2632\t6\n2642\t6\n2650\t6\n2651\t6\n2652\t6\n2657\t6\n2662\t6\n2664\t6\n2671\t6\n2678\t6\n2683\t6\n2691\t6\n2700\t6\n2701\t6\n2713\t6\n2725\t6\n2728\t6\n2742\t6\n2746\t6\n2748\t6\n2751\t6\n2752\t6\n2753\t6\n2756\t6\n2757\t6\n2764\t6\n2771\t6\n2772\t6\n2777\t6\n2783\t6\n2784\t6\n2787\t6\n2795\t6\n2800\t6\n2805\t6\n2807\t6\n2827\t6\n2831\t6\n2834\t6\n2836\t6\n2837\t6\n2864\t6\n2869\t6\n2870\t6\n2877\t6\n2881\t6\n2883\t6\n2888\t6\n2894\t6\n2896\t6\n2900\t6\n2903\t6\n2904\t6\n2906\t6\n2911\t6\n2920\t6\n2923\t6\n2930\t6\n2935\t6\n2951\t6\n2953\t6\n2960\t6\n2970\t6\n2973\t6\n2980\t6\n2981\t6\n2985\t6\n2989\t6\n2990\t6\n2995\t6\n2996\t6\n3000\t6\n3007\t6\n3016\t6\n3022\t6\n3026\t6\n3033\t6\n3037\t6\n3040\t6\n3045\t6\n3058\t6\n3063\t6\n3066\t6\n3071\t6\n3072\t6\n3073\t6\n3074\t6\n3075\t6\n3077\t6\n3079\t6\n3082\t6\n3089\t6\n3095\t6\n3096\t6\n3099\t6\n3102\t6\n3103\t6\n3104\t6\n3106\t6\n3112\t6\n3117\t6\n3118\t6\n3121\t6\n3122\t6\n3127\t6\n3130\t6\n3131\t6\n3132\t6\n3133\t6\n3134\t6\n3144\t6\n3148\t6\n3150\t6\n3153\t6\n3155\t6\n3157\t6\n3165\t6\n3170\t6\n3173\t6\n3175\t6\n3186\t6\n3188\t6\n3192\t6\n3195\t6\n3204\t6\n3206\t6\n3212\t6\n3214\t6\n3218\t6\n3237\t6\n3240\t6\n3242\t6\n3243\t6\n3250\t6\n3253\t6\n3259\t6\n3270\t6\n3275\t6\n3278\t6\n3292\t6\n3296\t6\n3298\t6\n3305\t6\n3306\t6\n3307\t6\n3308\t6\n3328\t6\n3332\t6\n3343\t6\n3349\t6\n3351\t6\n3360\t6\n3361\t6\n3363\t6\n3371\t6\n3385\t6\n3389\t6\n3397\t6\n3398\t6\n3399\t6\n3409\t6\n3412\t6\n3416\t6\n3421\t6\n3428\t6\n3430\t6\n3431\t6\n3436\t6\n3437\t6\n3438\t6\n3439\t6\n3449\t6\n3450\t6\n3451\t6\n3452\t6\n3465\t6\n3473\t6\n3481\t6\n3482\t6\n3489\t6\n3500\t6\n3510\t6\n3512\t6\n3517\t6\n3520\t6\n3527\t6\n3530\t6\n3536\t6\n3546\t6\n3550\t6\n3551\t6\n3553\t6\n3566\t6\n3570\t6\n3574\t6\n3577\t6\n3581\t6\n3586\t6\n3592\t6\n3596\t6\n3597\t6\n3600\t6\n3607\t6\n3610\t6\n3616\t6\n3626\t6\n3631\t6\n3633\t6\n3635\t6\n3643\t6\n3648\t6\n3665\t6\n3669\t6\n3676\t6\n3677\t6\n3684\t6\n3686\t6\n3693\t6\n3694\t6\n3700\t6\n3701\t6\n3704\t6\n3707\t6\n3709\t6\n3717\t6\n3723\t6\n3725\t6\n3730\t6\n3735\t6\n3744\t6\n3753\t6\n3760\t6\n3762\t6\n3767\t6\n3771\t6\n3774\t6\n3792\t6\n3805\t6\n3809\t6\n3826\t6\n3827\t6\n3837\t6\n3842\t6\n3845\t6\n3858\t6\n3859\t6\n3860\t6\n3863\t6\n3864\t6\n3866\t6\n3877\t6\n3879\t6\n3880\t6\n3882\t6\n3886\t6\n3901\t6\n3902\t6\n3905\t6\n3923\t6\n3924\t6\n3925\t6\n3926\t6\n3940\t6\n3953\t6\n3954\t6\n3955\t6\n3959\t6\n3964\t6\n3969\t6\n3974\t6\n3977\t6\n4001\t6\n4005\t6\n4010\t6\n4013\t6\n4015\t6\n4030\t6\n4031\t6\n4050\t6\n4060\t6\n4068\t6\n4078\t6\n4099\t6\n4103\t6\n4105\t6\n4106\t6\n4128\t6\n4129\t6\n4135\t6\n4150\t6\n4159\t6\n4162\t6\n4165\t6\n4168\t6\n4172\t6\n4190\t6\n4193\t6\n4197\t6\n4200\t6\n4206\t6\n4210\t6\n4212\t6\n4214\t6\n4217\t6\n4220\t6\n4226\t6\n4232\t6\n4235\t6\n4241\t6\n4247\t6\n4251\t6\n4256\t6\n4264\t6\n4265\t6\n4269\t6\n4271\t6\n4273\t6\n4274\t6\n4279\t6\n4281\t6\n4301\t6\n4306\t6\n4321\t6\n4324\t6\n4330\t6\n4333\t6\n4340\t6\n4343\t6\n4355\t6\n4358\t6\n4359\t6\n4374\t6\n4377\t6\n4381\t6\n4385\t6\n4389\t6\n4391\t6\n4392\t6\n4412\t6\n4414\t6\n4426\t6\n4427\t6\n4428\t6\n4441\t6\n4444\t6\n4452\t6\n4456\t6\n4463\t6\n4467\t6\n4469\t6\n4472\t6\n4475\t6\n4482\t6\n4486\t6\n4487\t6\n4496\t6\n4498\t6\n4503\t6\n4512\t6\n4516\t6\n4518\t6\n4521\t6\n4524\t6\n4544\t6\n4546\t6\n4553\t6\n4554\t6\n4557\t6\n4561\t6\n4563\t6\n4565\t6\n4566\t6\n4569\t6\n4573\t6\n4582\t6\n4586\t6\n4596\t6\n4598\t6\n4601\t6\n4604\t6\n4611\t6\n4615\t6\n4616\t6\n4617\t6\n4619\t6\n4620\t6\n4624\t6\n4632\t6\n4633\t6\n4639\t6\n4659\t6\n4662\t6\n4681\t6\n4685\t6\n4687\t6\n4692\t6\n4701\t6\n4705\t6\n4709\t6\n4710\t6\n4722\t6\n4725\t6\n4735\t6\n4739\t6\n4746\t6\n4751\t6\n4763\t6\n4772\t6\n4780\t6\n4782\t6\n4791\t6\n4792\t6\n4804\t6\n4826\t6\n4833\t6\n4842\t6\n4843\t6\n4847\t6\n4850\t6\n4861\t6\n4871\t6\n4876\t6\n4882\t6\n4884\t6\n4888\t6\n4892\t6\n4900\t6\n4902\t6\n4908\t6\n4909\t6\n4919\t6\n4925\t6\n4928\t6\n4934\t6\n4935\t6\n4947\t6\n4948\t6\n4964\t6\n4968\t6\n4984\t6\n4985\t6\n4988\t6\n4990\t6\n4991\t6\n4994\t6\n5002\t6\n5015\t6\n5022\t6\n5026\t6\n5031\t6\n5034\t6\n5038\t6\n5041\t6\n5053\t6\n5064\t6\n5074\t6\n5078\t6\n5084\t6\n5090\t6\n5092\t6\n5098\t6\n5100\t6\n5101\t6\n5116\t6\n5117\t6\n5124\t6\n5125\t6\n5147\t6\n5154\t6\n5158\t6\n5178\t6\n5181\t6\n5186\t6\n5193\t6\n5206\t6\n5222\t6\n5227\t6\n5229\t6\n5230\t6\n5236\t6\n5238\t6\n5252\t6\n5258\t6\n5267\t6\n5271\t6\n5272\t6\n5273\t6\n5274\t6\n5282\t6\n5290\t6\n5310\t6\n5315\t6\n5317\t6\n5327\t6\n5335\t6\n5342\t6\n5344\t6\n5346\t6\n5360\t6\n5361\t6\n5362\t6\n5370\t6\n5374\t6\n5375\t6\n5380\t6\n5382\t6\n5385\t6\n5405\t6\n5415\t6\n5424\t6\n5426\t6\n5427\t6\n5430\t6\n5435\t6\n5437\t6\n5439\t6\n5444\t6\n5461\t6\n5465\t6\n5470\t6\n5471\t6\n5472\t6\n5477\t6\n5485\t6\n5493\t6\n5496\t6\n5501\t6\n5513\t6\n5514\t6\n5523\t6\n5527\t6\n5528\t6\n5529\t6\n5544\t6\n5550\t6\n5553\t6\n5571\t6\n5577\t6\n5578\t6\n5579\t6\n5585\t6\n5597\t6\n5601\t6\n5607\t6\n5608\t6\n5615\t6\n5633\t6\n5634\t6\n5638\t6\n5639\t6\n5640\t6\n5642\t6\n5677\t6\n5678\t6\n5683\t6\n5686\t6\n5695\t6\n5697\t6\n5698\t6\n5701\t6\n5712\t6\n5718\t6\n5720\t6\n5724\t6\n5730\t6\n5743\t6\n5749\t6\n5751\t6\n5755\t6\n5772\t6\n5793\t6\n5796\t6\n5799\t6\n5800\t6\n5809\t6\n5810\t6\n5824\t6\n5826\t6\n5830\t6\n5833\t6\n5844\t6\n5865\t6\n5883\t6\n5886\t6\n5889\t6\n5890\t6\n5899\t6\n5902\t6\n5906\t6\n5907\t6\n5912\t6\n5922\t6\n5923\t6\n5924\t6\n5925\t6\n5930\t6\n5938\t6\n5943\t6\n5948\t6\n5949\t6\n5950\t6\n5955\t6\n5985\t6\n5989\t6\n6000\t6\n6002\t6\n6012\t6\n6013\t6\n6044\t6\n6065\t6\n6067\t6\n6069\t6\n6070\t6\n6076\t6\n6081\t6\n6087\t6\n6088\t6\n6090\t6\n6093\t6\n6095\t6\n6102\t6\n6113\t6\n6118\t6\n6119\t6\n6124\t6\n6132\t6\n6138\t6\n6146\t6\n6155\t6\n6157\t6\n6165\t6\n6166\t6\n6167\t6\n6183\t6\n6201\t6\n6205\t6\n6206\t6\n6210\t6\n6218\t6\n6219\t6\n6231\t6\n6244\t6\n6247\t6\n6254\t6\n6255\t6\n6269\t6\n6270\t6\n6271\t6\n6274\t6\n6280\t6\n6283\t6\n6285\t6\n6287\t6\n6294\t6\n6311\t6\n6312\t6\n6317\t6\n6335\t6\n6340\t6\n6345\t6\n6347\t6\n6349\t6\n6351\t6\n6359\t6\n6361\t6\n6363\t6\n6364\t6\n6365\t6\n6411\t6\n6416\t6\n6420\t6\n6424\t6\n6427\t6\n6437\t6\n6448\t6\n6465\t6\n6466\t6\n6472\t6\n6475\t6\n6478\t6\n6496\t6\n6499\t6\n6515\t6\n6528\t6\n6529\t6\n6533\t6\n6534\t6\n6557\t6\n6561\t6\n6562\t6\n6570\t6\n6578\t6\n6586\t6\n6592\t6\n6602\t6\n6604\t6\n6606\t6\n6609\t6\n6618\t6\n6624\t6\n6631\t6\n6632\t6\n6642\t6\n6646\t6\n6663\t6\n6664\t6\n6665\t6\n6673\t6\n6674\t6\n6677\t6\n6682\t6\n6687\t6\n6694\t6\n6698\t6\n6701\t6\n6702\t6\n6706\t6\n6713\t6\n6722\t6\n6726\t6\n6730\t6\n6734\t6\n6739\t6\n6740\t6\n6744\t6\n6749\t6\n6762\t6\n6766\t6\n6774\t6\n6783\t6\n6788\t6\n6789\t6\n6794\t6\n6798\t6\n6808\t6\n6814\t6\n6822\t6\n6831\t6\n6839\t6\n6844\t6\n6849\t6\n6850\t6\n6861\t6\n6868\t6\n6875\t6\n6876\t6\n6889\t6\n6890\t6\n6891\t6\n6900\t6\n6902\t6\n6913\t6\n6918\t6\n6920\t6\n6922\t6\n6924\t6\n6928\t6\n6932\t6\n6947\t6\n6948\t6\n6959\t6\n6960\t6\n6964\t6\n6965\t6\n6977\t6\n6985\t6\n6988\t6\n6989\t6\n6993\t6\n6994\t6\n6998\t6\n7009\t6\n7014\t6\n7020\t6\n7026\t6\n7028\t6\n7037\t6\n7038\t6\n7040\t6\n7041\t6\n7045\t6\n7046\t6\n7049\t6\n7053\t6\n7057\t6\n7058\t6\n7060\t6\n7068\t6\n7076\t6\n7082\t6\n7096\t6\n7099\t6\n7103\t6\n7110\t6\n7114\t6\n7118\t6\n7119\t6\n7125\t6\n7147\t6\n7153\t6\n7171\t6\n7183\t6\n7184\t6\n7185\t6\n7186\t6\n7198\t6\n7200\t6\n7201\t6\n7217\t6\n7228\t6\n7229\t6\n7230\t6\n7233\t6\n7244\t6\n7252\t6\n7259\t6\n7264\t6\n7280\t6\n7282\t6\n7289\t6\n7290\t6\n7297\t6\n7298\t6\n7309\t6\n7310\t6\n7311\t6\n7313\t6\n7316\t6\n7331\t6\n7336\t6\n7340\t6\n7354\t6\n7357\t6\n7374\t6\n7376\t6\n7377\t6\n7385\t6\n7389\t6\n7391\t6\n7399\t6\n7408\t6\n7416\t6\n7417\t6\n7420\t6\n7431\t6\n7437\t6\n7440\t6\n7441\t6\n7445\t6\n7450\t6\n7453\t6\n7457\t6\n7460\t6\n7474\t6\n7475\t6\n7476\t6\n7487\t6\n7488\t6\n7502\t6\n7503\t6\n7504\t6\n7523\t6\n7524\t6\n7528\t6\n7531\t6\n7541\t6\n7544\t6\n7546\t6\n7557\t6\n7559\t6\n7560\t6\n7562\t6\n7564\t6\n7568\t6\n7574\t6\n7587\t6\n7589\t6\n7591\t6\n7614\t6\n7616\t6\n7624\t6\n7629\t6\n7631\t6\n7644\t6\n7645\t6\n7647\t6\n7649\t6\n7664\t6\n7674\t6\n7677\t6\n7687\t6\n7698\t6\n7700\t6\n7704\t6\n7718\t6\n7729\t6\n7731\t6\n7732\t6\n7742\t6\n7746\t6\n7749\t6\n7751\t6\n7753\t6\n7754\t6\n7757\t6\n7765\t6\n7778\t6\n7782\t6\n7784\t6\n7795\t6\n7801\t6\n7805\t6\n7811\t6\n7812\t6\n7819\t6\n7826\t6\n7837\t6\n7839\t6\n7842\t6\n7846\t6\n7848\t6\n7852\t6\n7863\t6\n7864\t6\n7870\t6\n7871\t6\n7881\t6\n7883\t6\n7894\t6\n7896\t6\n7898\t6\n7902\t6\n7917\t6\n7923\t6\n7925\t6\n7937\t6\n7945\t6\n7949\t6\n7952\t6\n7963\t6\n7968\t6\n7974\t6\n7982\t6\n7983\t6\n7995\t6\n7999\t6\n8000\t6\n8010\t6\n8019\t6\n8021\t6\n8023\t6\n8038\t6\n8039\t6\n8048\t6\n8052\t6\n8054\t6\n8060\t6\n8062\t6\n8063\t6\n8069\t6\n8073\t6\n8078\t6\n8098\t6\n8100\t6\n8110\t6\n8111\t6\n8117\t6\n8119\t6\n8130\t6\n8138\t6\n8144\t6\n8147\t6\n8148\t6\n8149\t6\n8154\t6\n8155\t6\n8164\t6\n8168\t6\n8175\t6\n8176\t6\n8177\t6\n8188\t6\n8189\t6\n8215\t6\n8219\t6\n8225\t6\n8240\t6\n8253\t6\n8258\t6\n8261\t6\n8265\t6\n8267\t6\n8270\t6\n8272\t6\n8273\t6\n8275\t6\n8281\t6\n8282\t6\n8285\t6\n8286\t6\n8287\t6\n8288\t6\n8289\t6\n8293\t6\n8296\t6\n8298\t6\n8300\t6\n8304\t6\n8305\t6\n8306\t6\n8307\t6\n8327\t6\n8333\t6\n8336\t6\n8342\t6\n8344\t6\n8348\t6\n8355\t6\n8357\t6\n8363\t6\n8380\t6\n8392\t6\n8395\t6\n8407\t6\n8416\t6\n8417\t6\n8431\t6\n8439\t6\n8455\t6\n8456\t6\n8459\t6\n8461\t6\n8472\t6\n8475\t6\n8481\t6\n8483\t6\n8489\t6\n8493\t6\n8500\t6\n8506\t6\n8517\t6\n8518\t6\n8519\t6\n8522\t6\n8523\t6\n8546\t6\n8552\t6\n8558\t6\n8566\t6\n8574\t6\n8575\t6\n8583\t6\n8587\t6\n8597\t6\n8606\t6\n8611\t6\n8612\t6\n8618\t6\n8619\t6\n8626\t6\n8629\t6\n8631\t6\n8632\t6\n8635\t6\n8640\t6\n8662\t6\n8673\t6\n8675\t6\n8683\t6\n8685\t6\n8689\t6\n8690\t6\n8705\t6\n8707\t6\n8709\t6\n8715\t6\n8727\t6\n8729\t6\n8739\t6\n8741\t6\n8744\t6\n8745\t6\n8749\t6\n8766\t6\n8767\t6\n8769\t6\n8770\t6\n8777\t6\n8778\t6\n8780\t6\n8782\t6\n8788\t6\n8791\t6\n8814\t6\n8827\t6\n8828\t6\n8830\t6\n8836\t6\n8838\t6\n8839\t6\n8850\t6\n8852\t6\n8860\t6\n8862\t6\n8875\t6\n8877\t6\n8878\t6\n8879\t6\n8886\t6\n8901\t6\n8909\t6\n8910\t6\n8912\t6\n8914\t6\n8919\t6\n8926\t6\n8942\t6\n8951\t6\n8955\t6\n8956\t6\n8957\t6\n8958\t6\n8968\t6\n8969\t6\n8978\t6\n8980\t6\n8990\t6\n8991\t6\n9014\t6\n9022\t6\n9026\t6\n9027\t6\n9036\t6\n9059\t6\n9060\t6\n9064\t6\n9067\t6\n9070\t6\n9080\t6\n9103\t6\n9109\t6\n9112\t6\n9115\t6\n9116\t6\n9127\t6\n9142\t6\n9144\t6\n9160\t6\n9164\t6\n9171\t6\n9178\t6\n9182\t6\n9187\t6\n9189\t6\n9194\t6\n9195\t6\n9206\t6\n9225\t6\n9227\t6\n9240\t6\n9244\t6\n9247\t6\n9251\t6\n9267\t6\n9273\t6\n9279\t6\n9283\t6\n9288\t6\n9301\t6\n9302\t6\n9304\t6\n9313\t6\n9314\t6\n9317\t6\n9332\t6\n9342\t6\n9345\t6\n9348\t6\n9361\t6\n9367\t6\n9370\t6\n9372\t6\n9387\t6\n9388\t6\n9389\t6\n9392\t6\n9405\t6\n9408\t6\n9410\t6\n9425\t6\n9449\t6\n9450\t6\n9451\t6\n9452\t6\n9454\t6\n9457\t6\n9462\t6\n9464\t6\n9481\t6\n9484\t6\n9489\t6\n9494\t6\n9496\t6\n9507\t6\n9514\t6\n9522\t6\n9530\t6\n9532\t6\n9534\t6\n9546\t6\n9556\t6\n9564\t6\n9571\t6\n9582\t6\n9594\t6\n9601\t6\n9603\t6\n9614\t6\n9623\t6\n9626\t6\n9629\t6\n9630\t6\n9635\t6\n9642\t6\n9653\t6\n9672\t6\n9675\t6\n9679\t6\n9682\t6\n9687\t6\n9689\t6\n9695\t6\n9708\t6\n9714\t6\n9720\t6\n9723\t6\n9724\t6\n9730\t6\n9738\t6\n9746\t6\n9760\t6\n9769\t6\n9771\t6\n9774\t6\n9781\t6\n9788\t6\n9799\t6\n9808\t6\n9811\t6\n9812\t6\n9813\t6\n9820\t6\n9832\t6\n9833\t6\n9834\t6\n9840\t6\n9841\t6\n9846\t6\n9850\t6\n9851\t6\n9852\t6\n9854\t6\n9858\t6\n9859\t6\n9864\t6\n9873\t6\n9879\t6\n9880\t6\n9890\t6\n9896\t6\n9897\t6\n9899\t6\n9900\t6\n9904\t6\n9907\t6\n9923\t6\n9931\t6\n9938\t6\n9947\t6\n9951\t6\n9954\t6\n9955\t6\n9961\t6\n9962\t6\n9987\t6\n9991\t6\n10005\t6\n10007\t6\n10009\t6\n10011\t6\n10014\t6\n10020\t6\n10025\t6\n10030\t6\n10034\t6\n10050\t6\n10055\t6\n10060\t6\n10072\t6\n10079\t6\n10085\t6\n10092\t6\n10096\t6\n10099\t6\n10101\t6\n10103\t6\n10107\t6\n10108\t6\n10109\t6\n10111\t6\n10112\t6\n10123\t6\n10124\t6\n10125\t6\n10127\t6\n10132\t6\n10138\t6\n10144\t6\n10148\t6\n10154\t6\n10160\t6\n10162\t6\n10169\t6\n10170\t6\n10178\t6\n10185\t6\n10186\t6\n10187\t6\n10188\t6\n10200\t6\n10202\t6\n10209\t6\n10212\t6\n10214\t6\n10216\t6\n10223\t6\n10229\t6\n10233\t6\n10236\t6\n10240\t6\n10242\t6\n10246\t6\n10249\t6\n10252\t6\n10253\t6\n10256\t6\n10260\t6\n10277\t6\n10285\t6\n10295\t6\n10297\t6\n10314\t6\n10323\t6\n10327\t6\n10335\t6\n10339\t6\n10340\t6\n10353\t6\n10354\t6\n10358\t6\n10365\t6\n10368\t6\n10375\t6\n10376\t6\n10384\t6\n10385\t6\n10386\t6\n10392\t6\n10396\t6\n10401\t6\n10420\t6\n10428\t6\n10429\t6\n10433\t6\n10442\t6\n10443\t6\n10445\t6\n10450\t6\n10464\t6\n10467\t6\n10480\t6\n10484\t6\n10492\t6\n10511\t6\n10513\t6\n10515\t6\n10516\t6\n10518\t6\n10531\t6\n10535\t6\n10566\t6\n10571\t6\n10582\t6\n10585\t6\n10595\t6\n10601\t6\n10612\t6\n10614\t6\n10619\t6\n10626\t6\n10635\t6\n10659\t6\n10668\t6\n10669\t6\n10673\t6\n10677\t6\n10682\t6\n10686\t6\n10687\t6\n10694\t6\n10699\t6\n10719\t6\n10722\t6\n10728\t6\n10730\t6\n10731\t6\n10732\t6\n10739\t6\n10744\t6\n10752\t6\n10754\t6\n10783\t6\n10792\t6\n10794\t6\n10804\t6\n10829\t6\n10834\t6\n10835\t6\n10836\t6\n10849\t6\n10853\t6\n10858\t6\n10861\t6\n10864\t6\n10874\t6\n10883\t6\n10910\t6\n10939\t6\n10942\t6\n10947\t6\n10950\t6\n10981\t6\n10992\t6\n10998\t6\n11010\t6\n11011\t6\n11014\t6\n11015\t6\n11019\t6\n11023\t6\n11031\t6\n11033\t6\n11046\t6\n11058\t6\n11060\t6\n11061\t6\n11064\t6\n11065\t6\n11075\t6\n11082\t6\n11085\t6\n11092\t6\n11108\t6\n11109\t6\n11112\t6\n11116\t6\n11117\t6\n11121\t6\n11127\t6\n11134\t6\n11140\t6\n11143\t6\n11147\t6\n11148\t6\n11162\t6\n11172\t6\n11173\t6\n11178\t6\n11186\t6\n11195\t6\n11197\t6\n11201\t6\n11203\t6\n11206\t6\n11207\t6\n11212\t6\n11214\t6\n11216\t6\n11228\t6\n11229\t6\n11231\t6\n11241\t6\n11243\t6\n11258\t6\n11265\t6\n11270\t6\n11274\t6\n11287\t6\n11288\t6\n11297\t6\n11299\t6\n11306\t6\n11307\t6\n11316\t6\n11320\t6\n11321\t6\n11332\t6\n11333\t6\n11336\t6\n11348\t6\n11351\t6\n11352\t6\n11358\t6\n11362\t6\n11364\t6\n11381\t6\n11400\t6\n11401\t6\n11414\t6\n11424\t6\n11426\t6\n11432\t6\n11435\t6\n11436\t6\n11452\t6\n11457\t6\n11460\t6\n11483\t6\n11484\t6\n11488\t6\n11493\t6\n11505\t6\n11508\t6\n11528\t6\n11530\t6\n11531\t6\n11537\t6\n11540\t6\n11542\t6\n11570\t6\n11575\t6\n11576\t6\n11589\t6\n11592\t6\n11594\t6\n11612\t6\n11615\t6\n11617\t6\n11639\t6\n11650\t6\n11655\t6\n11659\t6\n11665\t6\n11673\t6\n11696\t6\n11698\t6\n11702\t6\n11708\t6\n11715\t6\n11727\t6\n11730\t6\n11746\t6\n11751\t6\n11754\t6\n11755\t6\n11777\t6\n11781\t6\n11784\t6\n11788\t6\n11790\t6\n11804\t6\n11813\t6\n11819\t6\n11832\t6\n11839\t6\n11844\t6\n11865\t6\n11872\t6\n11877\t6\n11878\t6\n11881\t6\n11882\t6\n11891\t6\n11898\t6\n11900\t6\n11911\t6\n11916\t6\n11933\t6\n11945\t6\n11950\t6\n11979\t6\n12000\t6\n12004\t6\n12009\t6\n12015\t6\n12020\t6\n12023\t6\n12029\t6\n12038\t6\n12057\t6\n12060\t6\n12108\t6\n12110\t6\n12111\t6\n12114\t6\n12115\t6\n12126\t6\n12129\t6\n12132\t6\n12138\t6\n12148\t6\n12149\t6\n12151\t6\n12153\t6\n12159\t6\n12160\t6\n12165\t6\n12184\t6\n12185\t6\n12199\t6\n12204\t6\n12207\t6\n12208\t6\n12209\t6\n12215\t6\n12216\t6\n12218\t6\n12221\t6\n12235\t6\n12236\t6\n12237\t6\n12242\t6\n12247\t6\n12251\t6\n12256\t6\n12266\t6\n12270\t6\n12278\t6\n12279\t6\n12284\t6\n12291\t6\n12300\t6\n12304\t6\n12307\t6\n12315\t6\n12320\t6\n12321\t6\n12322\t6\n12331\t6\n12335\t6\n12341\t6\n12357\t6\n12358\t6\n12376\t6\n12382\t6\n12384\t6\n12385\t6\n12400\t6\n12410\t6\n12414\t6\n12415\t6\n12424\t6\n12429\t6\n12432\t6\n12438\t6\n12442\t6\n12453\t6\n12466\t6\n12471\t6\n12472\t6\n12476\t6\n12498\t6\n12504\t6\n12511\t6\n12523\t6\n12527\t6\n12534\t6\n12539\t6\n12546\t6\n12554\t6\n12562\t6\n12573\t6\n12583\t6\n12596\t6\n12608\t6\n12614\t6\n12626\t6\n12634\t6\n12637\t6\n12641\t6\n12648\t6\n12652\t6\n12657\t6\n12675\t6\n12681\t6\n12684\t6\n12685\t6\n12687\t6\n12691\t6\n12700\t6\n12713\t6\n12725\t6\n12726\t6\n12730\t6\n12733\t6\n12734\t6\n12735\t6\n12742\t6\n12747\t6\n12758\t6\n12760\t6\n12762\t6\n12764\t6\n12769\t6\n12773\t6\n12795\t6\n12796\t6\n12804\t6\n12805\t6\n12815\t6\n12822\t6\n12830\t6\n12834\t6\n12845\t6\n12846\t6\n12851\t6\n12859\t6\n12862\t6\n12873\t6\n12889\t6\n12896\t6\n12899\t6\n12900\t6\n12901\t6\n12902\t6\n12903\t6\n12905\t6\n12933\t6\n12956\t6\n12975\t6\n12985\t6\n12989\t6\n12992\t6\n12993\t6\n12999\t6\n13003\t6\n13030\t6\n13035\t6\n13041\t6\n13045\t6\n13049\t6\n13056\t6\n13064\t6\n13069\t6\n13071\t6\n13077\t6\n13083\t6\n13088\t6\n13092\t6\n13093\t6\n13096\t6\n13099\t6\n13115\t6\n13117\t6\n13118\t6\n13119\t6\n13120\t6\n13127\t6\n13129\t6\n13133\t6\n13138\t6\n13142\t6\n13149\t6\n13151\t6\n13152\t6\n13154\t6\n13168\t6\n13171\t6\n13177\t6\n13178\t6\n13182\t6\n13191\t6\n13196\t6\n13199\t6\n13202\t6\n13206\t6\n13207\t6\n13208\t6\n13210\t6\n13216\t6\n13232\t6\n13234\t6\n13238\t6\n13241\t6\n13244\t6\n13251\t6\n13260\t6\n13266\t6\n13267\t6\n13271\t6\n13296\t6\n13308\t6\n13310\t6\n13312\t6\n13321\t6\n13325\t6\n13329\t6\n13341\t6\n13345\t6\n13351\t6\n13358\t6\n13372\t6\n13377\t6\n13398\t6\n13403\t6\n13404\t6\n13408\t6\n13417\t6\n13426\t6\n13455\t6\n13456\t6\n13466\t6\n13472\t6\n13479\t6\n13481\t6\n13492\t6\n13496\t6\n13507\t6\n13514\t6\n13518\t6\n13530\t6\n13535\t6\n13536\t6\n13537\t6\n13554\t6\n13556\t6\n13560\t6\n13566\t6\n13590\t6\n13595\t6\n13606\t6\n13609\t6\n13613\t6\n13616\t6\n13629\t6\n13630\t6\n13672\t6\n13673\t6\n13675\t6\n13683\t6\n13708\t6\n13713\t6\n13725\t6\n13726\t6\n13737\t6\n13740\t6\n13744\t6\n13745\t6\n13753\t6\n13754\t6\n13755\t6\n13760\t6\n13761\t6\n13764\t6\n13765\t6\n13770\t6\n13774\t6\n13780\t6\n13781\t6\n13793\t6\n13796\t6\n13799\t6\n13800\t6\n13803\t6\n13823\t6\n13830\t6\n13837\t6\n13838\t6\n13847\t6\n13856\t6\n13859\t6\n13873\t6\n13879\t6\n13880\t6\n13881\t6\n13882\t6\n13889\t6\n13891\t6\n13896\t6\n13897\t6\n13900\t6\n13906\t6\n13907\t6\n13918\t6\n13920\t6\n13924\t6\n13925\t6\n13926\t6\n13932\t6\n13934\t6\n13936\t6\n13937\t6\n13941\t6\n13943\t6\n13944\t6\n13948\t6\n13950\t6\n13956\t6\n13961\t6\n13963\t6\n13972\t6\n13976\t6\n13983\t6\n13992\t6\n13997\t6\n14000\t6\n14007\t6\n14016\t6\n14034\t6\n14052\t6\n14058\t6\n14067\t6\n14069\t6\n14070\t6\n14073\t6\n14080\t6\n14083\t6\n14092\t6\n14093\t6\n14115\t6\n14119\t6\n14120\t6\n14123\t6\n14164\t6\n14170\t6\n14179\t6\n14190\t6\n14192\t6\n14200\t6\n14206\t6\n14212\t6\n14213\t6\n14219\t6\n14221\t6\n14230\t6\n14236\t6\n14246\t6\n14251\t6\n14252\t6\n14267\t6\n14279\t6\n14282\t6\n14285\t6\n14286\t6\n14287\t6\n14290\t6\n14291\t6\n14294\t6\n14312\t6\n14316\t6\n14322\t6\n14326\t6\n14337\t6\n14347\t6\n14349\t6\n14357\t6\n14358\t6\n14362\t6\n14382\t6\n14393\t6\n14396\t6\n14403\t6\n14404\t6\n14409\t6\n14416\t6\n14421\t6\n14427\t6\n14428\t6\n14431\t6\n14432\t6\n14433\t6\n14435\t6\n14436\t6\n14440\t6\n14442\t6\n14454\t6\n14456\t6\n14463\t6\n14503\t6\n14504\t6\n14507\t6\n14529\t6\n14538\t6\n14543\t6\n14553\t6\n14558\t6\n14562\t6\n14566\t6\n14581\t6\n14582\t6\n14591\t6\n14593\t6\n14594\t6\n14599\t6\n14604\t6\n14609\t6\n14614\t6\n14615\t6\n14628\t6\n14636\t6\n14638\t6\n14639\t6\n14641\t6\n14644\t6\n14655\t6\n14658\t6\n14659\t6\n14663\t6\n14670\t6\n14678\t6\n14679\t6\n14687\t6\n14696\t6\n14701\t6\n14708\t6\n14714\t6\n14721\t6\n14728\t6\n14740\t6\n14749\t6\n14762\t6\n14763\t6\n14765\t6\n14776\t6\n14782\t6\n14793\t6\n14800\t6\n14811\t6\n14814\t6\n14816\t6\n14832\t6\n14836\t6\n14837\t6\n14838\t6\n14842\t6\n14845\t6\n14853\t6\n14859\t6\n14866\t6\n14870\t6\n14875\t6\n14883\t6\n14884\t6\n14900\t6\n14910\t6\n14925\t6\n14927\t6\n14928\t6\n14929\t6\n14934\t6\n14939\t6\n14940\t6\n14944\t6\n14963\t6\n14969\t6\n14982\t6\n14984\t6\n14990\t6\n14993\t6\n15005\t6\n15010\t6\n15026\t6\n15027\t6\n15029\t6\n15037\t6\n15073\t6\n15074\t6\n15081\t6\n15101\t6\n15107\t6\n15110\t6\n15113\t6\n15117\t6\n15118\t6\n15119\t6\n15121\t6\n15139\t6\n15145\t6\n15153\t6\n15155\t6\n15161\t6\n15171\t6\n15174\t6\n15175\t6\n15180\t6\n15191\t6\n15192\t6\n15193\t6\n15200\t6\n15202\t6\n15203\t6\n15205\t6\n15207\t6\n15210\t6\n15211\t6\n15213\t6\n15215\t6\n15217\t6\n15219\t6\n15220\t6\n15221\t6\n15234\t6\n15239\t6\n15241\t6\n15250\t6\n15253\t6\n15260\t6\n15261\t6\n15268\t6\n15269\t6\n15275\t6\n15281\t6\n15287\t6\n15304\t6\n15312\t6\n15314\t6\n15315\t6\n15324\t6\n15329\t6\n15330\t6\n15337\t6\n15340\t6\n15345\t6\n15350\t6\n15369\t6\n15374\t6\n15381\t6\n15383\t6\n15390\t6\n15392\t6\n15394\t6\n15395\t6\n15398\t6\n15399\t6\n15400\t6\n15401\t6\n15405\t6\n15413\t6\n15419\t6\n15427\t6\n15428\t6\n15440\t6\n15444\t6\n15447\t6\n15451\t6\n15452\t6\n15453\t6\n15454\t6\n15463\t6\n15469\t6\n15478\t6\n15479\t6\n15480\t6\n15481\t6\n15485\t6\n15491\t6\n15493\t6\n15496\t6\n15504\t6\n15515\t6\n15516\t6\n15521\t6\n15534\t6\n15535\t6\n15541\t6\n15547\t6\n15553\t6\n15554\t6\n15560\t6\n15561\t6\n15563\t6\n15573\t6\n15574\t6\n15580\t6\n15586\t6\n15594\t6\n15609\t6\n15625\t6\n15636\t6\n15642\t6\n15652\t6\n15656\t6\n15659\t6\n15662\t6\n15664\t6\n15672\t6\n15682\t6\n15691\t6\n15692\t6\n15700\t6\n15701\t6\n15707\t6\n15733\t6\n15737\t6\n15738\t6\n15743\t6\n15744\t6\n15758\t6\n15773\t6\n15782\t6\n15799\t6\n15805\t6\n15806\t6\n15824\t6\n15828\t6\n15831\t6\n15860\t6\n15864\t6\n15865\t6\n15868\t6\n15879\t6\n15880\t6\n15887\t6\n15890\t6\n15895\t6\n15899\t6\n15903\t6\n15908\t6\n15909\t6\n15917\t6\n15926\t6\n15931\t6\n15933\t6\n15934\t6\n15937\t6\n15945\t6\n15970\t6\n15975\t6\n15976\t6\n15977\t6\n15978\t6\n15995\t6\n15996\t6\n15998\t6\n16009\t6\n16024\t6\n16032\t6\n16035\t6\n16043\t6\n16052\t6\n16053\t6\n16059\t6\n16069\t6\n16078\t6\n16083\t6\n16085\t6\n16098\t6\n16106\t6\n16114\t6\n16115\t6\n16116\t6\n16128\t6\n16131\t6\n16139\t6\n16144\t6\n16145\t6\n16149\t6\n16160\t6\n16161\t6\n16180\t6\n16182\t6\n16189\t6\n16196\t6\n16199\t6\n16200\t6\n16229\t6\n16230\t6\n16233\t6\n16237\t6\n16239\t6\n16252\t6\n16269\t6\n16274\t6\n16280\t6\n16284\t6\n16286\t6\n16291\t6\n16296\t6\n16310\t6\n16318\t6\n16319\t6\n16320\t6\n16325\t6\n16333\t6\n16350\t6\n16351\t6\n16358\t6\n16362\t6\n16363\t6\n16364\t6\n16366\t6\n16370\t6\n16383\t6\n16385\t6\n16404\t6\n16408\t6\n16412\t6\n16416\t6\n16428\t6\n16429\t6\n16437\t6\n16443\t6\n16445\t6\n16450\t6\n16457\t6\n16458\t6\n16460\t6\n16461\t6\n16462\t6\n16466\t6\n16469\t6\n16471\t6\n16472\t6\n16475\t6\n16476\t6\n16479\t6\n16480\t6\n16484\t6\n16487\t6\n16493\t6\n16494\t6\n16502\t6\n16504\t6\n16507\t6\n16514\t6\n16516\t6\n16521\t6\n16524\t6\n16527\t6\n16531\t6\n16534\t6\n16552\t6\n16553\t6\n16555\t6\n16579\t6\n16595\t6\n16601\t6\n16611\t6\n16612\t6\n16618\t6\n16626\t6\n16640\t6\n16653\t6\n16655\t6\n16657\t6\n16658\t6\n16661\t6\n16666\t6\n16677\t6\n16685\t6\n16686\t6\n16698\t6\n16705\t6\n16706\t6\n16707\t6\n16709\t6\n16710\t6\n16727\t6\n16730\t6\n16739\t6\n16751\t6\n16755\t6\n16760\t6\n16764\t6\n16777\t6\n16793\t6\n16804\t6\n16817\t6\n16819\t6\n16823\t6\n16824\t6\n16826\t6\n16830\t6\n16832\t6\n16841\t6\n16843\t6\n16846\t6\n16851\t6\n16865\t6\n16866\t6\n16871\t6\n16874\t6\n16891\t6\n16893\t6\n16895\t6\n16901\t6\n16902\t6\n16912\t6\n16917\t6\n16926\t6\n16936\t6\n16940\t6\n16952\t6\n16953\t6\n16966\t6\n16970\t6\n16971\t6\n16973\t6\n16985\t6\n16987\t6\n16998\t6\n17001\t6\n17005\t6\n17008\t6\n17010\t6\n17017\t6\n17018\t6\n17028\t6\n17035\t6\n17041\t6\n17042\t6\n17046\t6\n17048\t6\n17051\t6\n17052\t6\n17054\t6\n17060\t6\n17063\t6\n17066\t6\n17074\t6\n17083\t6\n17086\t6\n17087\t6\n17095\t6\n17100\t6\n17101\t6\n17105\t6\n17112\t6\n17124\t6\n17134\t6\n17142\t6\n17143\t6\n17146\t6\n17163\t6\n17174\t6\n17179\t6\n17184\t6\n17185\t6\n17192\t6\n17198\t6\n17211\t6\n17212\t6\n17214\t6\n17216\t6\n17222\t6\n17230\t6\n17244\t6\n17245\t6\n17246\t6\n17250\t6\n17255\t6\n17262\t6\n17263\t6\n17269\t6\n17271\t6\n17273\t6\n17279\t6\n17280\t6\n17286\t6\n17294\t6\n17300\t6\n17301\t6\n17304\t6\n17313\t6\n17314\t6\n17315\t6\n17324\t6\n17325\t6\n17337\t6\n17340\t6\n17344\t6\n17352\t6\n17360\t6\n17367\t6\n17369\t6\n17370\t6\n17373\t6\n17394\t6\n17401\t6\n17409\t6\n17413\t6\n17422\t6\n17423\t6\n17430\t6\n17431\t6\n17433\t6\n17435\t6\n17440\t6\n17444\t6\n17446\t6\n17450\t6\n17451\t6\n17476\t6\n17484\t6\n17496\t6\n17498\t6\n17507\t6\n17508\t6\n17514\t6\n17517\t6\n17518\t6\n17520\t6\n17524\t6\n17527\t6\n17532\t6\n17539\t6\n17540\t6\n17551\t6\n17557\t6\n17571\t6\n17573\t6\n17585\t6\n17588\t6\n17591\t6\n17610\t6\n17614\t6\n17619\t6\n17631\t6\n17632\t6\n17639\t6\n17655\t6\n17664\t6\n17671\t6\n17672\t6\n17673\t6\n17678\t6\n17683\t6\n17691\t6\n17694\t6\n17701\t6\n17706\t6\n17710\t6\n17717\t6\n17722\t6\n17723\t6\n17725\t6\n17729\t6\n17731\t6\n17736\t6\n17741\t6\n17755\t6\n17756\t6\n17759\t6\n17769\t6\n17772\t6\n17774\t6\n17778\t6\n17784\t6\n17786\t6\n17793\t6\n17796\t6\n17802\t6\n17809\t6\n17814\t6\n17825\t6\n17833\t6\n17835\t6\n17838\t6\n17841\t6\n17844\t6\n17847\t6\n17852\t6\n17864\t6\n17869\t6\n17880\t6\n17882\t6\n17896\t6\n17897\t6\n17900\t6\n17901\t6\n17902\t6\n17912\t6\n17916\t6\n17937\t6\n17943\t6\n17948\t6\n17949\t6\n17952\t6\n17955\t6\n17956\t6\n17958\t6\n17963\t6\n17984\t6\n17987\t6\n17990\t6\n17994\t6\n18004\t6\n18006\t6\n18021\t6\n18033\t6\n18052\t6\n18054\t6\n18071\t6\n18076\t6\n18080\t6\n18084\t6\n18087\t6\n18089\t6\n18092\t6\n18100\t6\n18111\t6\n18115\t6\n18118\t6\n18127\t6\n18133\t6\n18142\t6\n18143\t6\n18147\t6\n18159\t6\n18162\t6\n18165\t6\n18176\t6\n18177\t6\n18180\t6\n18182\t6\n18184\t6\n18188\t6\n18202\t6\n18220\t6\n18221\t6\n18222\t6\n18224\t6\n18238\t6\n18241\t6\n18256\t6\n18259\t6\n18266\t6\n18276\t6\n18287\t6\n18291\t6\n18295\t6\n18306\t6\n18307\t6\n18315\t6\n18316\t6\n18322\t6\n18331\t6\n18333\t6\n18334\t6\n18337\t6\n18341\t6\n18342\t6\n18347\t6\n18357\t6\n18359\t6\n18363\t6\n18364\t6\n18372\t6\n18376\t6\n18379\t6\n18390\t6\n18394\t6\n18398\t6\n18401\t6\n18411\t6\n18415\t6\n18418\t6\n18424\t6\n18436\t6\n18439\t6\n18440\t6\n18441\t6\n18447\t6\n18449\t6\n18452\t6\n18453\t6\n18456\t6\n18463\t6\n18465\t6\n18482\t6\n18483\t6\n18484\t6\n18485\t6\n18486\t6\n18490\t6\n18492\t6\n18499\t6\n18500\t6\n18502\t6\n18514\t6\n18521\t6\n18536\t6\n18546\t6\n18549\t6\n18563\t6\n18566\t6\n18569\t6\n18575\t6\n18579\t6\n18590\t6\n18596\t6\n18601\t6\n18602\t6\n18605\t6\n18614\t6\n18618\t6\n18635\t6\n18642\t6\n18645\t6\n18647\t6\n18658\t6\n18663\t6\n18677\t6\n18681\t6\n18688\t6\n18689\t6\n18694\t6\n18713\t6\n18720\t6\n18723\t6\n18725\t6\n18735\t6\n18751\t6\n18754\t6\n18765\t6\n18772\t6\n18777\t6\n18782\t6\n18783\t6\n18784\t6\n18785\t6\n18790\t6\n18797\t6\n18800\t6\n18805\t6\n18813\t6\n18816\t6\n18822\t6\n18831\t6\n18835\t6\n18837\t6\n18838\t6\n18843\t6\n18855\t6\n18856\t6\n18861\t6\n18872\t6\n18876\t6\n18877\t6\n18879\t6\n18889\t6\n18891\t6\n18893\t6\n18894\t6\n18905\t6\n18906\t6\n18911\t6\n18919\t6\n18929\t6\n18940\t6\n18941\t6\n18942\t6\n18947\t6\n18963\t6\n18966\t6\n18971\t6\n18974\t6\n18981\t6\n18983\t6\n18994\t6\n18995\t6\n18996\t6\n18998\t6\n19001\t6\n19007\t6\n19008\t6\n19014\t6\n19015\t6\n19016\t6\n19017\t6\n19018\t6\n19020\t6\n19026\t6\n19032\t6\n19044\t6\n19049\t6\n19052\t6\n19054\t6\n19080\t6\n19081\t6\n19083\t6\n19085\t6\n19089\t6\n19091\t6\n19094\t6\n19097\t6\n19101\t6\n19106\t6\n19109\t6\n19112\t6\n19119\t6\n19128\t6\n19145\t6\n19156\t6\n19160\t6\n19164\t6\n19166\t6\n19168\t6\n19177\t6\n19184\t6\n19185\t6\n19190\t6\n19196\t6\n19197\t6\n19199\t6\n19216\t6\n19218\t6\n19221\t6\n19235\t6\n19236\t6\n19237\t6\n19245\t6\n19247\t6\n19253\t6\n19254\t6\n19257\t6\n19263\t6\n19264\t6\n19279\t6\n19282\t6\n19285\t6\n19293\t6\n19326\t6\n19333\t6\n19335\t6\n19344\t6\n19345\t6\n19353\t6\n19360\t6\n19369\t6\n19373\t6\n19374\t6\n19395\t6\n19398\t6\n19402\t6\n19408\t6\n19412\t6\n19413\t6\n19436\t6\n19439\t6\n19441\t6\n19442\t6\n19450\t6\n19452\t6\n19472\t6\n19473\t6\n19492\t6\n19499\t6\n19500\t6\n19516\t6\n19518\t6\n19525\t6\n19539\t6\n19542\t6\n19546\t6\n19550\t6\n19558\t6\n19562\t6\n19563\t6\n19588\t6\n19590\t6\n19597\t6\n19600\t6\n19610\t6\n19616\t6\n19625\t6\n19629\t6\n19638\t6\n19643\t6\n19645\t6\n19651\t6\n19666\t6\n19667\t6\n19673\t6\n19680\t6\n19684\t6\n19687\t6\n19688\t6\n19689\t6\n19692\t6\n19701\t6\n19703\t6\n19705\t6\n19708\t6\n19712\t6\n19718\t6\n19728\t6\n19742\t6\n19755\t6\n19758\t6\n19761\t6\n19768\t6\n19775\t6\n19779\t6\n19781\t6\n19787\t6\n19802\t6\n19810\t6\n19811\t6\n19815\t6\n19816\t6\n19819\t6\n19823\t6\n19828\t6\n19837\t6\n19844\t6\n19846\t6\n19864\t6\n19869\t6\n19894\t6\n19903\t6\n19910\t6\n19918\t6\n19920\t6\n19924\t6\n19927\t6\n19935\t6\n19943\t6\n19957\t6\n19972\t6\n19977\t6\n19979\t6\n19980\t6\n19984\t6\n19997\t6\n20000\t6\n20022\t6\n20024\t6\n20025\t6\n20027\t6\n20031\t6\n20038\t6\n20039\t6\n20046\t6\n20050\t6\n20064\t6\n20066\t6\n20067\t6\n20072\t6\n20084\t6\n20085\t6\n20086\t6\n20095\t6\n20096\t6\n20097\t6\n20100\t6\n20114\t6\n20115\t6\n20116\t6\n20118\t6\n20131\t6\n20132\t6\n20138\t6\n20139\t6\n20140\t6\n20141\t6\n20145\t6\n20146\t6\n20147\t6\n20149\t6\n20154\t6\n20156\t6\n20158\t6\n20179\t6\n20182\t6\n20189\t6\n20196\t6\n20200\t6\n20201\t6\n20203\t6\n20211\t6\n20214\t6\n20215\t6\n20223\t6\n20225\t6\n20233\t6\n20254\t6\n20256\t6\n20261\t6\n20264\t6\n20268\t6\n20269\t6\n20272\t6\n20281\t6\n20284\t6\n20285\t6\n20286\t6\n20289\t6\n20290\t6\n20294\t6\n20296\t6\n20309\t6\n20317\t6\n20318\t6\n20325\t6\n20326\t6\n20328\t6\n20332\t6\n20367\t6\n20376\t6\n20381\t6\n20394\t6\n20437\t6\n20441\t6\n20444\t6\n20445\t6\n20458\t6\n20464\t6\n20467\t6\n20468\t6\n20473\t6\n20475\t6\n20477\t6\n20483\t6\n20506\t6\n20516\t6\n20517\t6\n20524\t6\n20531\t6\n20533\t6\n20543\t6\n20545\t6\n20548\t6\n20550\t6\n20552\t6\n20560\t6\n20566\t6\n20568\t6\n20581\t6\n20593\t6\n20597\t6\n20601\t6\n20605\t6\n20608\t6\n20622\t6\n20623\t6\n20629\t6\n20633\t6\n20638\t6\n20640\t6\n20646\t6\n20648\t6\n20657\t6\n20663\t6\n20688\t6\n20694\t6\n20702\t6\n20703\t6\n20711\t6\n20721\t6\n20729\t6\n20735\t6\n20739\t6\n20741\t6\n20748\t6\n20769\t6\n20778\t6\n20788\t6\n20792\t6\n20799\t6\n20802\t6\n20805\t6\n20809\t6\n20810\t6\n20817\t6\n20823\t6\n20825\t6\n20834\t6\n20836\t6\n20843\t6\n20852\t6\n20870\t6\n20871\t6\n20884\t6\n20886\t6\n20889\t6\n20890\t6\n20892\t6\n20897\t6\n20898\t6\n20900\t6\n20903\t6\n20905\t6\n20907\t6\n20912\t6\n20916\t6\n20921\t6\n20922\t6\n20925\t6\n20928\t6\n20938\t6\n20948\t6\n20951\t6\n20956\t6\n20958\t6\n20965\t6\n20972\t6\n20973\t6\n20979\t6\n20984\t6\n20994\t6\n20997\t6\n20999\t6\n21002\t6\n21004\t6\n21010\t6\n21024\t6\n21028\t6\n21038\t6\n21045\t6\n21046\t6\n21052\t6\n21059\t6\n21061\t6\n21063\t6\n21067\t6\n21068\t6\n21072\t6\n21073\t6\n21080\t6\n21081\t6\n21090\t6\n21097\t6\n21104\t6\n21107\t6\n21110\t6\n21121\t6\n21123\t6\n21138\t6\n21150\t6\n21151\t6\n21160\t6\n21172\t6\n21185\t6\n21190\t6\n21192\t6\n21197\t6\n21198\t6\n21202\t6\n21224\t6\n21232\t6\n21233\t6\n21241\t6\n21248\t6\n21251\t6\n21253\t6\n21262\t6\n21269\t6\n21274\t6\n21276\t6\n21285\t6\n21300\t6\n21319\t6\n21321\t6\n21323\t6\n21324\t6\n21327\t6\n21329\t6\n21330\t6\n21349\t6\n21357\t6\n21368\t6\n21374\t6\n21375\t6\n21385\t6\n21386\t6\n21387\t6\n21389\t6\n21391\t6\n21416\t6\n21421\t6\n21439\t6\n21440\t6\n21442\t6\n21447\t6\n21453\t6\n21457\t6\n21465\t6\n21477\t6\n21480\t6\n21485\t6\n21490\t6\n21515\t6\n21521\t6\n21530\t6\n21553\t6\n21559\t6\n21560\t6\n21569\t6\n21575\t6\n21581\t6\n21597\t6\n21605\t6\n21607\t6\n21618\t6\n21619\t6\n21624\t6\n21629\t6\n21636\t6\n21642\t6\n21648\t6\n21656\t6\n21665\t6\n21678\t6\n21683\t6\n21688\t6\n21690\t6\n21692\t6\n21694\t6\n21701\t6\n21707\t6\n21709\t6\n21721\t6\n21732\t6\n21737\t6\n21744\t6\n21750\t6\n21753\t6\n21755\t6\n21763\t6\n21773\t6\n21781\t6\n21787\t6\n21792\t6\n21794\t6\n21796\t6\n21814\t6\n21820\t6\n21822\t6\n21832\t6\n21834\t6\n21839\t6\n21844\t6\n21855\t6\n21859\t6\n21867\t6\n21882\t6\n21886\t6\n21887\t6\n21888\t6\n21889\t6\n21890\t6\n21896\t6\n21904\t6\n21912\t6\n21919\t6\n21922\t6\n21940\t6\n21941\t6\n21943\t6\n21949\t6\n21952\t6\n21957\t6\n21961\t6\n21962\t6\n21963\t6\n21964\t6\n21970\t6\n21971\t6\n21972\t6\n21976\t6\n21978\t6\n21987\t6\n21997\t6\n22012\t6\n22015\t6\n22021\t6\n22031\t6\n22032\t6\n22038\t6\n22039\t6\n22040\t6\n22045\t6\n22059\t6\n22062\t6\n22063\t6\n22065\t6\n22067\t6\n22080\t6\n22085\t6\n22087\t6\n22094\t6\n22097\t6\n22100\t6\n22107\t6\n22111\t6\n22127\t6\n22129\t6\n22145\t6\n22150\t6\n22156\t6\n22157\t6\n22158\t6\n22159\t6\n22163\t6\n22167\t6\n22184\t6\n22187\t6\n22192\t6\n22223\t6\n22224\t6\n22236\t6\n22237\t6\n22239\t6\n22248\t6\n22251\t6\n22281\t6\n22290\t6\n22293\t6\n22300\t6\n22305\t6\n22310\t6\n22312\t6\n22325\t6\n22329\t6\n22333\t6\n22342\t6\n22345\t6\n22349\t6\n22352\t6\n22370\t6\n22373\t6\n22378\t6\n22380\t6\n22382\t6\n22394\t6\n22397\t6\n22399\t6\n22413\t6\n22415\t6\n22419\t6\n22426\t6\n22445\t6\n22451\t6\n22452\t6\n22455\t6\n22456\t6\n22464\t6\n22466\t6\n22468\t6\n22472\t6\n22474\t6\n22495\t6\n22498\t6\n22499\t6\n22501\t6\n22503\t6\n22504\t6\n22508\t6\n22513\t6\n22518\t6\n22525\t6\n22531\t6\n22540\t6\n22543\t6\n22551\t6\n22552\t6\n22554\t6\n22560\t6\n22563\t6\n22570\t6\n22579\t6\n22584\t6\n22589\t6\n22608\t6\n22611\t6\n22615\t6\n22626\t6\n22634\t6\n22639\t6\n22644\t6\n22646\t6\n22652\t6\n22653\t6\n22657\t6\n22678\t6\n22679\t6\n22680\t6\n22683\t6\n22689\t6\n22691\t6\n22693\t6\n22702\t6\n22705\t6\n22722\t6\n22726\t6\n22733\t6\n22741\t6\n22744\t6\n22749\t6\n22752\t6\n22755\t6\n22757\t6\n22759\t6\n22760\t6\n22763\t6\n22769\t6\n22771\t6\n22773\t6\n22782\t6\n22786\t6\n22787\t6\n22788\t6\n22791\t6\n22795\t6\n22801\t6\n22802\t6\n22803\t6\n22816\t6\n22821\t6\n22833\t6\n22837\t6\n22845\t6\n22846\t6\n22852\t6\n22871\t6\n22878\t6\n22888\t6\n22895\t6\n22901\t6\n22910\t6\n22912\t6\n22915\t6\n22924\t6\n22925\t6\n22932\t6\n22941\t6\n22948\t6\n22952\t6\n22976\t6\n22978\t6\n22983\t6\n22992\t6\n23006\t6\n23008\t6\n23011\t6\n23016\t6\n23024\t6\n23030\t6\n23035\t6\n23037\t6\n23040\t6\n23044\t6\n23048\t6\n23052\t6\n23054\t6\n23056\t6\n23070\t6\n23088\t6\n23095\t6\n23101\t6\n23105\t6\n23110\t6\n23112\t6\n23113\t6\n23116\t6\n23120\t6\n23127\t6\n23140\t6\n23144\t6\n23146\t6\n23151\t6\n23157\t6\n23158\t6\n23170\t6\n23192\t6\n23193\t6\n23195\t6\n23199\t6\n23204\t6\n23215\t6\n23219\t6\n23220\t6\n23227\t6\n23237\t6\n23244\t6\n23246\t6\n23248\t6\n23265\t6\n23284\t6\n23286\t6\n23300\t6\n23302\t6\n23307\t6\n23324\t6\n23326\t6\n23333\t6\n23341\t6\n23342\t6\n23347\t6\n23370\t6\n23376\t6\n23377\t6\n23383\t6\n23396\t6\n23399\t6\n23402\t6\n23409\t6\n23416\t6\n23420\t6\n23433\t6\n23442\t6\n23445\t6\n23447\t6\n23460\t6\n23468\t6\n23469\t6\n23472\t6\n23478\t6\n23479\t6\n23485\t6\n23489\t6\n23500\t6\n23501\t6\n23506\t6\n23508\t6\n23518\t6\n23531\t6\n23535\t6\n23547\t6\n23552\t6\n23554\t6\n23560\t6\n23563\t6\n23574\t6\n23577\t6\n23579\t6\n23593\t6\n23596\t6\n23597\t6\n23622\t6\n23624\t6\n23633\t6\n23640\t6\n23642\t6\n23657\t6\n23668\t6\n23671\t6\n23675\t6\n23681\t6\n23684\t6\n23694\t6\n23709\t6\n23710\t6\n23712\t6\n23713\t6\n23722\t6\n23733\t6\n23735\t6\n23739\t6\n23741\t6\n23755\t6\n23756\t6\n23761\t6\n23768\t6\n23781\t6\n23783\t6\n23794\t6\n23800\t6\n23801\t6\n23805\t6\n23813\t6\n23814\t6\n23815\t6\n23831\t6\n23836\t6\n23837\t6\n23841\t6\n23853\t6\n23858\t6\n23873\t6\n23877\t6\n23879\t6\n23881\t6\n23884\t6\n23894\t6\n23895\t6\n23906\t6\n23910\t6\n23927\t6\n23939\t6\n23947\t6\n23949\t6\n23953\t6\n23957\t6\n23973\t6\n23977\t6\n23981\t6\n23987\t6\n23991\t6\n23992\t6\n23995\t6\n24011\t6\n24015\t6\n24028\t6\n24030\t6\n24035\t6\n24037\t6\n24041\t6\n24053\t6\n24056\t6\n24062\t6\n24063\t6\n24069\t6\n24072\t6\n24086\t6\n24099\t6\n24112\t6\n24115\t6\n24120\t6\n24133\t6\n24135\t6\n24147\t6\n24149\t6\n24150\t6\n24157\t6\n24164\t6\n24166\t6\n24179\t6\n24186\t6\n24195\t6\n24210\t6\n24215\t6\n24222\t6\n24229\t6\n24230\t6\n24233\t6\n24248\t6\n24258\t6\n24264\t6\n24275\t6\n24280\t6\n24281\t6\n24283\t6\n24288\t6\n24289\t6\n24291\t6\n24306\t6\n24313\t6\n24324\t6\n24338\t6\n24342\t6\n24348\t6\n24353\t6\n24363\t6\n24368\t6\n24378\t6\n24391\t6\n24401\t6\n24404\t6\n24432\t6\n24446\t6\n24451\t6\n24452\t6\n24455\t6\n24460\t6\n24461\t6\n24462\t6\n24482\t6\n24498\t6\n24503\t6\n24506\t6\n24519\t6\n24524\t6\n24545\t6\n24553\t6\n24562\t6\n24569\t6\n24586\t6\n24597\t6\n24606\t6\n24611\t6\n24613\t6\n24623\t6\n24627\t6\n24633\t6\n24638\t6\n24640\t6\n24643\t6\n24649\t6\n24657\t6\n24664\t6\n24668\t6\n24672\t6\n24679\t6\n24681\t6\n24686\t6\n24688\t6\n24693\t6\n24704\t6\n24708\t6\n24709\t6\n24711\t6\n24714\t6\n24724\t6\n24726\t6\n24731\t6\n24743\t6\n24745\t6\n24746\t6\n24749\t6\n24750\t6\n24769\t6\n24772\t6\n24776\t6\n24781\t6\n24782\t6\n24789\t6\n24798\t6\n24805\t6\n24808\t6\n24810\t6\n24814\t6\n24815\t6\n24817\t6\n24822\t6\n24825\t6\n24826\t6\n24830\t6\n24832\t6\n24833\t6\n24837\t6\n24840\t6\n24846\t6\n24854\t6\n24857\t6\n24858\t6\n24861\t6\n24862\t6\n24868\t6\n24869\t6\n24870\t6\n24873\t6\n24881\t6\n24895\t6\n24904\t6\n24906\t6\n24911\t6\n24914\t6\n24916\t6\n24917\t6\n24919\t6\n24924\t6\n24926\t6\n24945\t6\n24953\t6\n24959\t6\n24964\t6\n24971\t6\n24974\t6\n24975\t6\n24989\t6\n24994\t6\n24997\t6\n25010\t6\n25031\t6\n25033\t6\n25037\t6\n25041\t6\n25049\t6\n25058\t6\n25064\t6\n25066\t6\n25074\t6\n25082\t6\n25085\t6\n25089\t6\n25100\t6\n25101\t6\n25106\t6\n25107\t6\n25108\t6\n25114\t6\n25126\t6\n25127\t6\n25131\t6\n25136\t6\n25141\t6\n25154\t6\n25162\t6\n25174\t6\n25179\t6\n25182\t6\n25188\t6\n25207\t6\n25213\t6\n25214\t6\n25218\t6\n25223\t6\n25224\t6\n25228\t6\n25236\t6\n25243\t6\n25244\t6\n25249\t6\n25251\t6\n25253\t6\n25262\t6\n25267\t6\n25268\t6\n25273\t6\n25274\t6\n25275\t6\n25280\t6\n25284\t6\n25288\t6\n25293\t6\n25301\t6\n25302\t6\n25319\t6\n25320\t6\n25329\t6\n25338\t6\n25341\t6\n25343\t6\n25344\t6\n25346\t6\n25359\t6\n25364\t6\n25378\t6\n25380\t6\n25388\t6\n25394\t6\n25410\t6\n25413\t6\n25416\t6\n25420\t6\n25422\t6\n25426\t6\n25427\t6\n25430\t6\n25437\t6\n25441\t6\n25450\t6\n25451\t6\n25454\t6\n25463\t6\n25464\t6\n25472\t6\n25476\t6\n25479\t6\n25482\t6\n25489\t6\n25497\t6\n25505\t6\n25527\t6\n25530\t6\n25533\t6\n25534\t6\n25535\t6\n25546\t6\n25547\t6\n25556\t6\n25558\t6\n25566\t6\n25572\t6\n25578\t6\n25589\t6\n25593\t6\n25595\t6\n25614\t6\n25619\t6\n25621\t6\n25630\t6\n25633\t6\n25637\t6\n25640\t6\n25650\t6\n25659\t6\n25671\t6\n25675\t6\n25680\t6\n25681\t6\n25699\t6\n25701\t6\n25703\t6\n25704\t6\n25706\t6\n25708\t6\n25717\t6\n25728\t6\n25743\t6\n25748\t6\n25769\t6\n25778\t6\n25780\t6\n25781\t6\n25784\t6\n25785\t6\n25789\t6\n25792\t6\n25793\t6\n25795\t6\n25796\t6\n25797\t6\n25799\t6\n25802\t6\n25805\t6\n25812\t6\n25815\t6\n25816\t6\n25819\t6\n25823\t6\n25827\t6\n25830\t6\n25837\t6\n25838\t6\n25843\t6\n25844\t6\n25849\t6\n25856\t6\n25857\t6\n25870\t6\n25875\t6\n25882\t6\n25889\t6\n25892\t6\n25900\t6\n25903\t6\n25904\t6\n25908\t6\n25912\t6\n25917\t6\n25919\t6\n25921\t6\n25924\t6\n25926\t6\n25929\t6\n25934\t6\n25940\t6\n25943\t6\n25960\t6\n25967\t6\n25968\t6\n25970\t6\n25979\t6\n25980\t6\n25981\t6\n25982\t6\n25989\t6\n25994\t6\n26005\t6\n26007\t6\n26009\t6\n26023\t6\n26028\t6\n26030\t6\n26038\t6\n26048\t6\n26055\t6\n26067\t6\n26103\t6\n26114\t6\n26124\t6\n26131\t6\n26135\t6\n26139\t6\n26145\t6\n26154\t6\n26175\t6\n26176\t6\n26181\t6\n26184\t6\n26186\t6\n26193\t6\n26197\t6\n26205\t6\n26210\t6\n26215\t6\n26218\t6\n26222\t6\n26235\t6\n26237\t6\n26271\t6\n26286\t6\n26295\t6\n26296\t6\n26307\t6\n26316\t6\n26319\t6\n26323\t6\n26332\t6\n26333\t6\n26334\t6\n26341\t6\n26346\t6\n26350\t6\n26359\t6\n26365\t6\n26367\t6\n26376\t6\n26385\t6\n26388\t6\n26410\t6\n26415\t6\n26423\t6\n26424\t6\n26427\t6\n26433\t6\n26435\t6\n26438\t6\n26442\t6\n26460\t6\n26475\t6\n26482\t6\n26483\t6\n26485\t6\n26488\t6\n26501\t6\n26507\t6\n26509\t6\n26517\t6\n26525\t6\n26527\t6\n26536\t6\n26537\t6\n26542\t6\n26547\t6\n26550\t6\n26551\t6\n26553\t6\n26560\t6\n26563\t6\n26572\t6\n26575\t6\n26579\t6\n26602\t6\n26609\t6\n26610\t6\n26611\t6\n26622\t6\n26623\t6\n26624\t6\n26626\t6\n26634\t6\n26638\t6\n26641\t6\n26646\t6\n26655\t6\n26661\t6\n26664\t6\n26672\t6\n26673\t6\n26681\t6\n26685\t6\n26692\t6\n26703\t6\n26711\t6\n26712\t6\n26714\t6\n26717\t6\n26723\t6\n26724\t6\n26736\t6\n26752\t6\n26754\t6\n26757\t6\n26765\t6\n26769\t6\n26780\t6\n26784\t6\n26787\t6\n26792\t6\n26796\t6\n26798\t6\n26802\t6\n26815\t6\n26823\t6\n26825\t6\n26826\t6\n26831\t6\n26832\t6\n26837\t6\n26838\t6\n26844\t6\n26847\t6\n26850\t6\n26851\t6\n26855\t6\n26870\t6\n26871\t6\n26878\t6\n26879\t6\n26884\t6\n26893\t6\n26901\t6\n26904\t6\n26911\t6\n26927\t6\n26929\t6\n26933\t6\n26936\t6\n26939\t6\n26953\t6\n26961\t6\n26967\t6\n26968\t6\n26976\t6\n26992\t6\n26993\t6\n27006\t6\n27011\t6\n27012\t6\n27017\t6\n27018\t6\n27023\t6\n27024\t6\n27029\t6\n27031\t6\n27032\t6\n27036\t6\n27039\t6\n27044\t6\n27055\t6\n27067\t6\n27069\t6\n27080\t6\n27083\t6\n27085\t6\n27086\t6\n27087\t6\n27100\t6\n27102\t6\n27103\t6\n27107\t6\n27117\t6\n27118\t6\n27120\t6\n27121\t6\n27122\t6\n27125\t6\n27130\t6\n27137\t6\n27138\t6\n27140\t6\n27142\t6\n27146\t6\n27148\t6\n27155\t6\n27162\t6\n27166\t6\n27170\t6\n27184\t6\n27185\t6\n27188\t6\n27195\t6\n27199\t6\n27201\t6\n27203\t6\n27204\t6\n27205\t6\n27210\t6\n27216\t6\n27217\t6\n27218\t6\n27226\t6\n27229\t6\n27230\t6\n27237\t6\n27241\t6\n27267\t6\n27278\t6\n27295\t6\n27298\t6\n27300\t6\n27303\t6\n27306\t6\n27312\t6\n27317\t6\n27324\t6\n27327\t6\n27330\t6\n27344\t6\n27349\t6\n27354\t6\n27359\t6\n27362\t6\n27366\t6\n27375\t6\n27382\t6\n27391\t6\n27396\t6\n27402\t6\n27404\t6\n27405\t6\n27407\t6\n27412\t6\n27414\t6\n27417\t6\n27429\t6\n27434\t6\n27457\t6\n27459\t6\n27461\t6\n27466\t6\n27469\t6\n27472\t6\n27477\t6\n27478\t6\n27490\t6\n27495\t6\n27500\t6\n27502\t6\n27507\t6\n27508\t6\n27516\t6\n27522\t6\n27526\t6\n27527\t6\n27542\t6\n27546\t6\n27559\t6\n27561\t6\n27571\t6\n27573\t6\n27577\t6\n27579\t6\n27585\t6\n27588\t6\n27596\t6\n27612\t6\n27620\t6\n27624\t6\n27632\t6\n27633\t6\n27636\t6\n27638\t6\n27650\t6\n27662\t6\n27665\t6\n27666\t6\n27675\t6\n27677\t6\n27684\t6\n27697\t6\n27698\t6\n27701\t6\n27705\t6\n27710\t6\n27720\t6\n27722\t6\n27724\t6\n27734\t6\n27736\t6\n27747\t6\n27749\t6\n27755\t6\n27760\t6\n27763\t6\n27774\t6\n27783\t6\n27784\t6\n27790\t6\n27793\t6\n27803\t6\n27804\t6\n27810\t6\n27830\t6\n27836\t6\n27842\t6\n27843\t6\n27855\t6\n27861\t6\n27866\t6\n27868\t6\n27869\t6\n27883\t6\n27892\t6\n27896\t6\n27898\t6\n27919\t6\n27920\t6\n27924\t6\n27933\t6\n27944\t6\n27955\t6\n27957\t6\n27966\t6\n27974\t6\n27978\t6\n27981\t6\n27992\t6\n28008\t6\n28013\t6\n28015\t6\n28017\t6\n28024\t6\n28040\t6\n28050\t6\n28052\t6\n28056\t6\n28057\t6\n28071\t6\n28072\t6\n28076\t6\n28087\t6\n28094\t6\n28096\t6\n28105\t6\n28119\t6\n28123\t6\n28125\t6\n28126\t6\n28130\t6\n28138\t6\n28144\t6\n28153\t6\n28156\t6\n28166\t6\n28183\t6\n28186\t6\n28209\t6\n28220\t6\n28228\t6\n28233\t6\n28234\t6\n28245\t6\n28248\t6\n28265\t6\n28275\t6\n28276\t6\n28277\t6\n28291\t6\n28301\t6\n28310\t6\n28316\t6\n28328\t6\n28332\t6\n28333\t6\n28345\t6\n28347\t6\n28350\t6\n28362\t6\n28367\t6\n28370\t6\n28373\t6\n28378\t6\n28396\t6\n28400\t6\n28401\t6\n28404\t6\n28409\t6\n28410\t6\n28413\t6\n28421\t6\n28429\t6\n28435\t6\n28436\t6\n28439\t6\n28440\t6\n28448\t6\n28449\t6\n28457\t6\n28479\t6\n28489\t6\n28511\t6\n28534\t6\n28540\t6\n28557\t6\n28559\t6\n28566\t6\n28576\t6\n28584\t6\n28585\t6\n28587\t6\n28590\t6\n28595\t6\n28596\t6\n28597\t6\n28607\t6\n28610\t6\n28620\t6\n28627\t6\n28628\t6\n28629\t6\n28643\t6\n28649\t6\n28653\t6\n28665\t6\n28672\t6\n28674\t6\n28676\t6\n28679\t6\n28693\t6\n28712\t6\n28719\t6\n28722\t6\n28744\t6\n28746\t6\n28749\t6\n28752\t6\n28753\t6\n28758\t6\n28762\t6\n28777\t6\n28799\t6\n28800\t6\n28801\t6\n28805\t6\n28809\t6\n28817\t6\n28818\t6\n28828\t6\n28831\t6\n28834\t6\n28836\t6\n28839\t6\n28841\t6\n28843\t6\n28854\t6\n28856\t6\n28864\t6\n28866\t6\n28878\t6\n28884\t6\n28886\t6\n28891\t6\n28897\t6\n28898\t6\n28902\t6\n28910\t6\n28915\t6\n28919\t6\n28924\t6\n28933\t6\n28939\t6\n28942\t6\n28949\t6\n28957\t6\n28959\t6\n28961\t6\n28976\t6\n28978\t6\n28984\t6\n28993\t6\n28998\t6\n29004\t6\n29006\t6\n29021\t6\n29022\t6\n29031\t6\n29043\t6\n29045\t6\n29048\t6\n29049\t6\n29050\t6\n29058\t6\n29066\t6\n29074\t6\n29075\t6\n29077\t6\n29078\t6\n29108\t6\n29109\t6\n29112\t6\n29122\t6\n29124\t6\n29132\t6\n29134\t6\n29139\t6\n29140\t6\n29144\t6\n29154\t6\n29160\t6\n29166\t6\n29171\t6\n29173\t6\n29179\t6\n29180\t6\n29184\t6\n29190\t6\n29202\t6\n29203\t6\n29210\t6\n29212\t6\n29215\t6\n29217\t6\n29234\t6\n29241\t6\n29243\t6\n29251\t6\n29256\t6\n29259\t6\n29260\t6\n29265\t6\n29275\t6\n29279\t6\n29288\t6\n29295\t6\n29296\t6\n29303\t6\n29306\t6\n29308\t6\n29311\t6\n29322\t6\n29332\t6\n29339\t6\n29345\t6\n29352\t6\n29354\t6\n29360\t6\n29362\t6\n29366\t6\n29367\t6\n29373\t6\n29374\t6\n29377\t6\n29386\t6\n29387\t6\n29395\t6\n29397\t6\n29412\t6\n29424\t6\n29427\t6\n29430\t6\n29449\t6\n29450\t6\n29453\t6\n29455\t6\n29458\t6\n29459\t6\n29465\t6\n29468\t6\n29471\t6\n29477\t6\n29486\t6\n29490\t6\n29497\t6\n29511\t6\n29520\t6\n29521\t6\n29524\t6\n29531\t6\n29532\t6\n29551\t6\n29559\t6\n29565\t6\n29567\t6\n29586\t6\n29590\t6\n29591\t6\n29613\t6\n29620\t6\n29624\t6\n29632\t6\n29636\t6\n29640\t6\n29645\t6\n29667\t6\n29673\t6\n29674\t6\n29685\t6\n29696\t6\n29700\t6\n29701\t6\n29707\t6\n29714\t6\n29719\t6\n29729\t6\n29731\t6\n29733\t6\n29743\t6\n29745\t6\n29746\t6\n29747\t6\n29755\t6\n29762\t6\n29773\t6\n29774\t6\n29778\t6\n29779\t6\n29797\t6\n29800\t6\n29807\t6\n29809\t6\n29813\t6\n29816\t6\n29821\t6\n29831\t6\n29832\t6\n29833\t6\n29836\t6\n29840\t6\n29845\t6\n29846\t6\n29851\t6\n29857\t6\n29858\t6\n29860\t6\n29865\t6\n29866\t6\n29874\t6\n29893\t6\n29894\t6\n29895\t6\n29899\t6\n29903\t6\n29907\t6\n29909\t6\n29916\t6\n29922\t6\n29929\t6\n29933\t6\n29936\t6\n29942\t6\n29943\t6\n29946\t6\n29951\t6\n29964\t6\n29966\t6\n29972\t6\n29980\t6\n29981\t6\n29985\t6\n29989\t6\n29993\t6\n29994\t6\n29995\t6\n29996\t6\n30005\t6\n30008\t6\n30015\t6\n30017\t6\n30018\t6\n30020\t6\n30025\t6\n30027\t6\n30030\t6\n30031\t6\n30032\t6\n30056\t6\n30059\t6\n30073\t6\n30081\t6\n30089\t6\n30095\t6\n30096\t6\n30099\t6\n30103\t6\n30104\t6\n30107\t6\n30110\t6\n30118\t6\n30125\t6\n30130\t6\n30140\t6\n30166\t6\n30177\t6\n30184\t6\n30193\t6\n30195\t6\n30202\t6\n30210\t6\n30213\t6\n30222\t6\n30224\t6\n30226\t6\n30235\t6\n30239\t6\n30244\t6\n30251\t6\n30258\t6\n30265\t6\n30273\t6\n30287\t6\n30289\t6\n30297\t6\n30302\t6\n30310\t6\n30320\t6\n30332\t6\n30334\t6\n30345\t6\n30346\t6\n30352\t6\n30353\t6\n30363\t6\n30365\t6\n30369\t6\n30386\t6\n30399\t6\n30400\t6\n30406\t6\n30416\t6\n30423\t6\n30430\t6\n30439\t6\n30452\t6\n30455\t6\n30458\t6\n30465\t6\n30479\t6\n30491\t6\n30493\t6\n30494\t6\n30496\t6\n30497\t6\n30498\t6\n30499\t6\n30507\t6\n30509\t6\n30511\t6\n30515\t6\n30532\t6\n30548\t6\n30553\t6\n30555\t6\n30561\t6\n30578\t6\n30579\t6\n30580\t6\n30584\t6\n30604\t6\n30628\t6\n30633\t6\n30642\t6\n30647\t6\n30653\t6\n30661\t6\n30663\t6\n30665\t6\n30670\t6\n30673\t6\n30684\t6\n30685\t6\n30696\t6\n30698\t6\n30730\t6\n30733\t6\n30741\t6\n30745\t6\n30754\t6\n30760\t6\n30764\t6\n30766\t6\n30768\t6\n30772\t6\n30778\t6\n30783\t6\n30785\t6\n30809\t6\n30810\t6\n30818\t6\n30820\t6\n30824\t6\n30828\t6\n30832\t6\n30844\t6\n30853\t6\n30860\t6\n30863\t6\n30864\t6\n30865\t6\n30866\t6\n30876\t6\n30882\t6\n30888\t6\n30899\t6\n30917\t6\n30919\t6\n30920\t6\n30929\t6\n30940\t6\n30943\t6\n30948\t6\n30953\t6\n30963\t6\n30974\t6\n30984\t6\n30986\t6\n30994\t6\n30998\t6\n30999\t6\n31001\t6\n31004\t6\n31010\t6\n31011\t6\n31016\t6\n31021\t6\n31024\t6\n31030\t6\n31031\t6\n31033\t6\n31035\t6\n31039\t6\n31043\t6\n31053\t6\n31057\t6\n31060\t6\n31063\t6\n31076\t6\n31082\t6\n31098\t6\n31099\t6\n31105\t6\n31109\t6\n31113\t6\n31117\t6\n31119\t6\n31121\t6\n31126\t6\n31139\t6\n31144\t6\n31148\t6\n31166\t6\n31176\t6\n31178\t6\n31194\t6\n31196\t6\n31199\t6\n31202\t6\n31221\t6\n31229\t6\n31237\t6\n31241\t6\n31253\t6\n31256\t6\n31261\t6\n31262\t6\n31263\t6\n31264\t6\n31270\t6\n31271\t6\n31278\t6\n31281\t6\n31286\t6\n31287\t6\n31288\t6\n31293\t6\n31295\t6\n31298\t6\n31313\t6\n31315\t6\n31322\t6\n31323\t6\n31324\t6\n31330\t6\n31335\t6\n31338\t6\n31339\t6\n31342\t6\n31354\t6\n31362\t6\n31363\t6\n31368\t6\n31373\t6\n31376\t6\n31381\t6\n31390\t6\n31391\t6\n31398\t6\n31405\t6\n31407\t6\n31408\t6\n31410\t6\n31420\t6\n31421\t6\n31423\t6\n31428\t6\n31434\t6\n31442\t6\n31444\t6\n31454\t6\n31457\t6\n31461\t6\n31466\t6\n31469\t6\n31485\t6\n31488\t6\n31494\t6\n31499\t6\n31503\t6\n31509\t6\n31513\t6\n31518\t6\n31527\t6\n31529\t6\n31532\t6\n31539\t6\n31541\t6\n31542\t6\n31543\t6\n31546\t6\n31547\t6\n31558\t6\n31561\t6\n31588\t6\n31589\t6\n31598\t6\n31613\t6\n31614\t6\n31615\t6\n31622\t6\n31649\t6\n31650\t6\n31661\t6\n31674\t6\n31691\t6\n31696\t6\n31703\t6\n31706\t6\n31707\t6\n31727\t6\n31728\t6\n31738\t6\n31741\t6\n31750\t6\n31751\t6\n31757\t6\n31759\t6\n31768\t6\n31785\t6\n31789\t6\n31797\t6\n31801\t6\n31807\t6\n31811\t6\n31814\t6\n31824\t6\n31830\t6\n31831\t6\n31839\t6\n31844\t6\n31846\t6\n31848\t6\n31864\t6\n31868\t6\n31873\t6\n31879\t6\n31885\t6\n31893\t6\n31895\t6\n31903\t6\n31921\t6\n31928\t6\n31940\t6\n31949\t6\n31957\t6\n31963\t6\n31965\t6\n31970\t6\n31974\t6\n31975\t6\n31977\t6\n31978\t6\n31984\t6\n31988\t6\n31991\t6\n32001\t6\n32007\t6\n32009\t6\n32014\t6\n32033\t6\n32036\t6\n32040\t6\n32048\t6\n32050\t6\n32051\t6\n32053\t6\n32055\t6\n32080\t6\n32086\t6\n32087\t6\n32088\t6\n32089\t6\n32092\t6\n32098\t6\n32100\t6\n32114\t6\n32128\t6\n32139\t6\n32144\t6\n32145\t6\n32146\t6\n32160\t6\n32175\t6\n32180\t6\n32185\t6\n32189\t6\n32193\t6\n32194\t6\n32207\t6\n32208\t6\n32213\t6\n32218\t6\n32228\t6\n32230\t6\n32232\t6\n32251\t6\n32261\t6\n32268\t6\n32271\t6\n32282\t6\n32293\t6\n32302\t6\n32312\t6\n32332\t6\n32335\t6\n32337\t6\n32342\t6\n32350\t6\n32357\t6\n32360\t6\n32363\t6\n32380\t6\n32381\t6\n32384\t6\n32385\t6\n32389\t6\n32395\t6\n32401\t6\n32431\t6\n32436\t6\n32438\t6\n32443\t6\n32444\t6\n32447\t6\n32451\t6\n32454\t6\n32470\t6\n32473\t6\n32480\t6\n32482\t6\n32484\t6\n32486\t6\n32487\t6\n32492\t6\n32494\t6\n32495\t6\n32496\t6\n32500\t6\n32503\t6\n32526\t6\n32530\t6\n32534\t6\n32548\t6\n32549\t6\n32553\t6\n32556\t6\n32558\t6\n32559\t6\n32567\t6\n32577\t6\n32582\t6\n32591\t6\n32595\t6\n32596\t6\n32597\t6\n32607\t6\n32611\t6\n32614\t6\n32616\t6\n32618\t6\n32622\t6\n32631\t6\n32637\t6\n32640\t6\n32642\t6\n32650\t6\n32652\t6\n32658\t6\n32664\t6\n32677\t6\n32681\t6\n32689\t6\n32693\t6\n32704\t6\n32707\t6\n32711\t6\n32714\t6\n32717\t6\n32719\t6\n32732\t6\n32735\t6\n32737\t6\n32759\t6\n32760\t6\n32761\t6\n32766\t6\n32768\t6\n32769\t6\n32771\t6\n32778\t6\n32785\t6\n32791\t6\n32794\t6\n32798\t6\n32816\t6\n32819\t6\n32822\t6\n32824\t6\n32828\t6\n32834\t6\n32835\t6\n32837\t6\n32841\t6\n32846\t6\n32852\t6\n32857\t6\n32858\t6\n32861\t6\n32890\t6\n32899\t6\n32907\t6\n32921\t6\n32922\t6\n32927\t6\n32929\t6\n32936\t6\n32937\t6\n32943\t6\n32948\t6\n32949\t6\n32953\t6\n32956\t6\n32960\t6\n32964\t6\n32967\t6\n32980\t6\n32982\t6\n32985\t6\n32987\t6\n32996\t6\n33001\t6\n33004\t6\n33007\t6\n33013\t6\n33016\t6\n33018\t6\n33022\t6\n33025\t6\n33027\t6\n33033\t6\n33038\t6\n33039\t6\n33043\t6\n33046\t6\n33052\t6\n33055\t6\n33060\t6\n33068\t6\n33074\t6\n33078\t6\n33081\t6\n33090\t6\n33094\t6\n33115\t6\n33122\t6\n33126\t6\n33128\t6\n33138\t6\n33142\t6\n33150\t6\n33152\t6\n33153\t6\n33160\t6\n33169\t6\n33172\t6\n33175\t6\n33176\t6\n33185\t6\n33188\t6\n33191\t6\n33193\t6\n33208\t6\n33210\t6\n33213\t6\n33214\t6\n33230\t6\n33234\t6\n33239\t6\n33240\t6\n33270\t6\n33286\t6\n33293\t6\n33300\t6\n33316\t6\n33332\t6\n33333\t6\n33334\t6\n33336\t6\n33337\t6\n33351\t6\n33353\t6\n33357\t6\n33365\t6\n33387\t6\n33391\t6\n33402\t6\n33408\t6\n33411\t6\n33416\t6\n33421\t6\n33422\t6\n33441\t6\n33447\t6\n33451\t6\n33456\t6\n33464\t6\n33480\t6\n33481\t6\n33482\t6\n33489\t6\n33490\t6\n33493\t6\n33494\t6\n33499\t6\n33519\t6\n33525\t6\n33530\t6\n33531\t6\n33536\t6\n33546\t6\n33551\t6\n33556\t6\n33558\t6\n33559\t6\n33564\t6\n33579\t6\n33582\t6\n33592\t6\n33593\t6\n33599\t6\n33609\t6\n33611\t6\n33630\t6\n33631\t6\n33638\t6\n33648\t6\n33649\t6\n33662\t6\n33664\t6\n33679\t6\n33681\t6\n33684\t6\n33703\t6\n33714\t6\n33731\t6\n33744\t6\n33749\t6\n33765\t6\n33771\t6\n33773\t6\n33776\t6\n33780\t6\n33798\t6\n33800\t6\n33812\t6\n33815\t6\n33818\t6\n33829\t6\n33836\t6\n33839\t6\n33852\t6\n33853\t6\n33854\t6\n33855\t6\n33864\t6\n33890\t6\n33894\t6\n33896\t6\n33901\t6\n33909\t6\n33916\t6\n33926\t6\n33927\t6\n33931\t6\n33932\t6\n33935\t6\n33952\t6\n33953\t6\n33967\t6\n33972\t6\n33979\t6\n33987\t6\n33988\t6\n34002\t6\n34011\t6\n34035\t6\n34037\t6\n34051\t6\n34056\t6\n34057\t6\n34058\t6\n34059\t6\n34065\t6\n34068\t6\n34072\t6\n34076\t6\n34078\t6\n34079\t6\n34084\t6\n34091\t6\n34101\t6\n34102\t6\n34114\t6\n34121\t6\n34133\t6\n34140\t6\n34143\t6\n34148\t6\n34155\t6\n34157\t6\n34160\t6\n34167\t6\n34168\t6\n34170\t6\n34179\t6\n34193\t6\n34199\t6\n34202\t6\n34209\t6\n34211\t6\n34215\t6\n34227\t6\n34229\t6\n34232\t6\n34233\t6\n34240\t6\n34241\t6\n34243\t6\n34245\t6\n34260\t6\n34265\t6\n34270\t6\n34276\t6\n34280\t6\n34282\t6\n34285\t6\n34303\t6\n34307\t6\n34308\t6\n34309\t6\n34317\t6\n34320\t6\n34322\t6\n34329\t6\n34349\t6\n34382\t6\n34384\t6\n34397\t6\n34398\t6\n34405\t6\n34411\t6\n34425\t6\n34426\t6\n34427\t6\n34434\t6\n34435\t6\n34436\t6\n34451\t6\n34455\t6\n34456\t6\n34459\t6\n34461\t6\n34462\t6\n34469\t6\n34471\t6\n34472\t6\n34481\t6\n34484\t6\n34497\t6\n34503\t6\n34506\t6\n34516\t6\n34522\t6\n34523\t6\n34527\t6\n34528\t6\n34530\t6\n34533\t6\n34540\t6\n34543\t6\n34547\t6\n34549\t6\n34553\t6\n34555\t6\n34556\t6\n34557\t6\n34569\t6\n34579\t6\n34581\t6\n34584\t6\n34591\t6\n34604\t6\n34605\t6\n34608\t6\n34616\t6\n34622\t6\n34625\t6\n34633\t6\n34636\t6\n34639\t6\n34650\t6\n34657\t6\n34660\t6\n34667\t6\n34671\t6\n34672\t6\n34685\t6\n34687\t6\n34692\t6\n34699\t6\n34706\t6\n34714\t6\n34717\t6\n34722\t6\n34723\t6\n34724\t6\n34733\t6\n34734\t6\n34738\t6\n34746\t6\n34747\t6\n34756\t6\n34761\t6\n34768\t6\n34770\t6\n34788\t6\n34799\t6\n34815\t6\n34818\t6\n34819\t6\n34821\t6\n34830\t6\n34845\t6\n34849\t6\n34855\t6\n34856\t6\n34859\t6\n34868\t6\n34877\t6\n34878\t6\n34880\t6\n34886\t6\n34894\t6\n34901\t6\n34910\t6\n34913\t6\n34915\t6\n34918\t6\n34919\t6\n34922\t6\n34925\t6\n34928\t6\n34932\t6\n34933\t6\n34937\t6\n34949\t6\n34952\t6\n34956\t6\n34961\t6\n34967\t6\n34976\t6\n34979\t6\n34985\t6\n34998\t6\n35002\t6\n35006\t6\n35010\t6\n35013\t6\n35017\t6\n35025\t6\n35027\t6\n35030\t6\n35034\t6\n35049\t6\n35057\t6\n35068\t6\n35071\t6\n35075\t6\n35077\t6\n35089\t6\n35097\t6\n35098\t6\n35106\t6\n35110\t6\n35116\t6\n35119\t6\n35127\t6\n35139\t6\n35144\t6\n35145\t6\n35146\t6\n35154\t6\n35159\t6\n35164\t6\n35166\t6\n35168\t6\n35176\t6\n35180\t6\n35189\t6\n35190\t6\n35193\t6\n35195\t6\n35201\t6\n35202\t6\n35222\t6\n35227\t6\n35234\t6\n35236\t6\n35253\t6\n35258\t6\n35265\t6\n35267\t6\n35277\t6\n35279\t6\n35280\t6\n35281\t6\n35286\t6\n35288\t6\n35289\t6\n35296\t6\n35300\t6\n35306\t6\n35309\t6\n35317\t6\n35318\t6\n35319\t6\n35322\t6\n35323\t6\n35325\t6\n35329\t6\n35330\t6\n35334\t6\n35338\t6\n35349\t6\n35351\t6\n35353\t6\n35358\t6\n35359\t6\n35362\t6\n35384\t6\n35389\t6\n35398\t6\n35414\t6\n35430\t6\n35446\t6\n35460\t6\n35461\t6\n35467\t6\n35471\t6\n35498\t6\n35503\t6\n35513\t6\n35516\t6\n35520\t6\n35529\t6\n35537\t6\n35540\t6\n35550\t6\n35553\t6\n35554\t6\n35556\t6\n35558\t6\n35564\t6\n35565\t6\n35571\t6\n35587\t6\n35590\t6\n35592\t6\n35607\t6\n35608\t6\n35610\t6\n35625\t6\n35634\t6\n35636\t6\n35637\t6\n35639\t6\n35640\t6\n35643\t6\n35644\t6\n35654\t6\n35655\t6\n35657\t6\n35658\t6\n35667\t6\n35669\t6\n35683\t6\n35693\t6\n35702\t6\n35706\t6\n35742\t6\n35747\t6\n35748\t6\n35760\t6\n35774\t6\n35776\t6\n35785\t6\n35790\t6\n35793\t6\n35801\t6\n35802\t6\n35809\t6\n35815\t6\n35820\t6\n35822\t6\n35823\t6\n35824\t6\n35825\t6\n35828\t6\n35830\t6\n35838\t6\n35842\t6\n35843\t6\n35852\t6\n35864\t6\n35881\t6\n35886\t6\n35888\t6\n35891\t6\n35893\t6\n35897\t6\n35907\t6\n35913\t6\n35918\t6\n35929\t6\n35931\t6\n35934\t6\n35939\t6\n35960\t6\n35966\t6\n35970\t6\n35981\t6\n35989\t6\n35998\t6\n36005\t6\n36014\t6\n36019\t6\n36021\t6\n36029\t6\n36031\t6\n36032\t6\n36042\t6\n36045\t6\n36053\t6\n36074\t6\n36078\t6\n36081\t6\n36082\t6\n36090\t6\n36096\t6\n36108\t6\n36112\t6\n36117\t6\n36118\t6\n36120\t6\n36134\t6\n36139\t6\n36145\t6\n36157\t6\n36166\t6\n36173\t6\n36188\t6\n36210\t6\n36224\t6\n36227\t6\n36231\t6\n36233\t6\n36236\t6\n36237\t6\n36240\t6\n36245\t6\n36247\t6\n36257\t6\n36258\t6\n36284\t6\n36288\t6\n36292\t6\n36296\t6\n36304\t6\n36308\t6\n36309\t6\n36312\t6\n36327\t6\n36330\t6\n36333\t6\n36340\t6\n36348\t6\n36352\t6\n36354\t6\n36355\t6\n36358\t6\n36364\t6\n36366\t6\n36368\t6\n36377\t6\n36378\t6\n36381\t6\n36383\t6\n36388\t6\n36392\t6\n36398\t6\n36400\t6\n36404\t6\n36412\t6\n36416\t6\n36419\t6\n36429\t6\n36441\t6\n36442\t6\n36445\t6\n36449\t6\n36474\t6\n36487\t6\n36491\t6\n36492\t6\n36493\t6\n36500\t6\n36512\t6\n36522\t6\n36530\t6\n36531\t6\n36532\t6\n36537\t6\n36554\t6\n36558\t6\n36566\t6\n36572\t6\n36574\t6\n36575\t6\n36577\t6\n36579\t6\n36581\t6\n36586\t6\n36587\t6\n36588\t6\n36591\t6\n36596\t6\n36609\t6\n36613\t6\n36619\t6\n36624\t6\n36629\t6\n36630\t6\n36635\t6\n36649\t6\n36654\t6\n36655\t6\n36665\t6\n36666\t6\n36667\t6\n36677\t6\n36679\t6\n36681\t6\n36684\t6\n36695\t6\n36696\t6\n36700\t6\n36702\t6\n36707\t6\n36710\t6\n36717\t6\n36730\t6\n36747\t6\n36759\t6\n36771\t6\n36779\t6\n36780\t6\n36785\t6\n36789\t6\n36790\t6\n36795\t6\n36800\t6\n36801\t6\n36820\t6\n36823\t6\n36825\t6\n36830\t6\n36832\t6\n36835\t6\n36840\t6\n36845\t6\n36848\t6\n36849\t6\n36856\t6\n36862\t6\n36863\t6\n36867\t6\n36870\t6\n36874\t6\n36877\t6\n36881\t6\n36883\t6\n36890\t6\n36892\t6\n36909\t6\n36915\t6\n36931\t6\n36934\t6\n36943\t6\n36944\t6\n36951\t6\n36961\t6\n36977\t6\n36984\t6\n36987\t6\n36997\t6\n37000\t6\n37005\t6\n37010\t6\n37017\t6\n37018\t6\n37019\t6\n37023\t6\n37028\t6\n37031\t6\n37049\t6\n37056\t6\n37059\t6\n37067\t6\n37070\t6\n37071\t6\n37073\t6\n37078\t6\n37080\t6\n37090\t6\n37094\t6\n37100\t6\n37110\t6\n37139\t6\n37165\t6\n37168\t6\n37170\t6\n37182\t6\n37186\t6\n37188\t6\n37191\t6\n37192\t6\n37200\t6\n37204\t6\n37206\t6\n37210\t6\n37218\t6\n37222\t6\n37226\t6\n37239\t6\n37249\t6\n37254\t6\n37264\t6\n37266\t6\n37271\t6\n37272\t6\n37280\t6\n37283\t6\n37284\t6\n37288\t6\n37289\t6\n37302\t6\n37314\t6\n37323\t6\n37329\t6\n37332\t6\n37335\t6\n37337\t6\n37339\t6\n37341\t6\n37349\t6\n37350\t6\n37354\t6\n37355\t6\n37358\t6\n37360\t6\n37363\t6\n37369\t6\n37371\t6\n37377\t6\n37392\t6\n37400\t6\n37402\t6\n37408\t6\n37411\t6\n37420\t6\n37426\t6\n37430\t6\n37431\t6\n37437\t6\n37440\t6\n37445\t6\n37450\t6\n37461\t6\n37474\t6\n37491\t6\n37506\t6\n37508\t6\n37510\t6\n37513\t6\n37521\t6\n37523\t6\n37528\t6\n37530\t6\n37536\t6\n37541\t6\n37545\t6\n37552\t6\n37555\t6\n37562\t6\n37566\t6\n37571\t6\n37577\t6\n37579\t6\n37580\t6\n37583\t6\n37584\t6\n37588\t6\n37601\t6\n37609\t6\n37615\t6\n37623\t6\n37637\t6\n37642\t6\n37643\t6\n37648\t6\n37653\t6\n37659\t6\n37662\t6\n37670\t6\n37675\t6\n37684\t6\n37693\t6\n37696\t6\n37707\t6\n37713\t6\n37715\t6\n37716\t6\n37724\t6\n37727\t6\n37731\t6\n37743\t6\n37744\t6\n37746\t6\n37755\t6\n37756\t6\n37759\t6\n37761\t6\n37770\t6\n37795\t6\n37803\t6\n37817\t6\n37821\t6\n37824\t6\n37826\t6\n37829\t6\n37830\t6\n37831\t6\n37833\t6\n37837\t6\n37842\t6\n37845\t6\n37854\t6\n37856\t6\n37857\t6\n37867\t6\n37869\t6\n37902\t6\n37905\t6\n37915\t6\n37922\t6\n37938\t6\n37943\t6\n37944\t6\n37946\t6\n37957\t6\n37965\t6\n37968\t6\n37969\t6\n37993\t6\n38000\t6\n38003\t6\n38011\t6\n38036\t6\n38051\t6\n38053\t6\n38063\t6\n38066\t6\n38067\t6\n38071\t6\n38084\t6\n38087\t6\n38088\t6\n38089\t6\n38097\t6\n38102\t6\n38106\t6\n38107\t6\n38117\t6\n38122\t6\n38129\t6\n38132\t6\n38156\t6\n38163\t6\n38170\t6\n38177\t6\n38178\t6\n38181\t6\n38185\t6\n38191\t6\n38197\t6\n38227\t6\n38229\t6\n38248\t6\n38253\t6\n38261\t6\n38266\t6\n38285\t6\n38290\t6\n38303\t6\n38308\t6\n38328\t6\n38337\t6\n38340\t6\n38342\t6\n38352\t6\n38362\t6\n38364\t6\n38365\t6\n38366\t6\n38367\t6\n38368\t6\n38374\t6\n38380\t6\n38382\t6\n38385\t6\n38387\t6\n38394\t6\n38395\t6\n38396\t6\n38404\t6\n38406\t6\n38421\t6\n38426\t6\n38428\t6\n38431\t6\n38435\t6\n38441\t6\n38444\t6\n38449\t6\n38450\t6\n38453\t6\n38455\t6\n38473\t6\n38480\t6\n38490\t6\n38515\t6\n38520\t6\n38522\t6\n38528\t6\n38531\t6\n38532\t6\n38539\t6\n38543\t6\n38544\t6\n38547\t6\n38551\t6\n38558\t6\n38595\t6\n38602\t6\n38606\t6\n38608\t6\n38617\t6\n38623\t6\n38624\t6\n38638\t6\n38639\t6\n38648\t6\n38649\t6\n38655\t6\n38661\t6\n38665\t6\n38667\t6\n38668\t6\n38676\t6\n38678\t6\n38683\t6\n38685\t6\n38690\t6\n38697\t6\n38706\t6\n38708\t6\n38714\t6\n38717\t6\n38720\t6\n38726\t6\n38740\t6\n38742\t6\n38746\t6\n38753\t6\n38764\t6\n38765\t6\n38780\t6\n38785\t6\n38788\t6\n38789\t6\n38792\t6\n38797\t6\n38799\t6\n38814\t6\n38820\t6\n38824\t6\n38827\t6\n38835\t6\n38848\t6\n38853\t6\n38858\t6\n38864\t6\n38868\t6\n38869\t6\n38887\t6\n38889\t6\n38894\t6\n38898\t6\n38909\t6\n38921\t6\n38926\t6\n38927\t6\n38936\t6\n38937\t6\n38939\t6\n38940\t6\n38946\t6\n38957\t6\n38958\t6\n38971\t6\n38977\t6\n38978\t6\n38979\t6\n38980\t6\n38981\t6\n38982\t6\n38998\t6\n39008\t6\n39010\t6\n39023\t6\n39025\t6\n39029\t6\n39031\t6\n39032\t6\n39035\t6\n39038\t6\n39040\t6\n39042\t6\n39050\t6\n39052\t6\n39057\t6\n39068\t6\n39075\t6\n39076\t6\n39077\t6\n39078\t6\n39082\t6\n39087\t6\n39088\t6\n39090\t6\n39092\t6\n39106\t6\n39108\t6\n39112\t6\n39116\t6\n39123\t6\n39124\t6\n39125\t6\n39129\t6\n39151\t6\n39152\t6\n39153\t6\n39160\t6\n39166\t6\n39178\t6\n39182\t6\n39198\t6\n39201\t6\n39208\t6\n39212\t6\n39222\t6\n39223\t6\n39224\t6\n39237\t6\n39243\t6\n39279\t6\n39292\t6\n39293\t6\n39296\t6\n39306\t6\n39318\t6\n39319\t6\n39331\t6\n39332\t6\n39341\t6\n39343\t6\n39358\t6\n39362\t6\n39363\t6\n39368\t6\n39369\t6\n39372\t6\n39379\t6\n39382\t6\n39392\t6\n39395\t6\n39402\t6\n39411\t6\n39412\t6\n39413\t6\n39435\t6\n39444\t6\n39460\t6\n39461\t6\n39463\t6\n39477\t6\n39479\t6\n39484\t6\n39490\t6\n39494\t6\n39500\t6\n39507\t6\n39520\t6\n39521\t6\n39527\t6\n39540\t6\n39558\t6\n39583\t6\n39586\t6\n39589\t6\n39598\t6\n39599\t6\n39601\t6\n39616\t6\n39626\t6\n39638\t6\n39641\t6\n39654\t6\n39663\t6\n39674\t6\n39679\t6\n39681\t6\n39683\t6\n39687\t6\n39707\t6\n39711\t6\n39714\t6\n39735\t6\n39746\t6\n39747\t6\n39773\t6\n39775\t6\n39779\t6\n39786\t6\n39790\t6\n39792\t6\n39796\t6\n39809\t6\n39820\t6\n39826\t6\n39827\t6\n39836\t6\n39850\t6\n39851\t6\n39864\t6\n39883\t6\n39891\t6\n39901\t6\n39904\t6\n39910\t6\n39911\t6\n39926\t6\n39938\t6\n39947\t6\n39953\t6\n39954\t6\n39960\t6\n39962\t6\n39969\t6\n39970\t6\n39978\t6\n39991\t6\n39994\t6\n40009\t6\n40028\t6\n40037\t6\n40082\t6\n40085\t6\n40095\t6\n40103\t6\n40108\t6\n40120\t6\n40121\t6\n40136\t6\n40143\t6\n40150\t6\n40162\t6\n40165\t6\n40170\t6\n40182\t6\n40191\t6\n40196\t6\n40200\t6\n40208\t6\n40209\t6\n40210\t6\n40211\t6\n40213\t6\n40228\t6\n40232\t6\n40243\t6\n40258\t6\n40265\t6\n40274\t6\n40277\t6\n40288\t6\n40292\t6\n40316\t6\n40318\t6\n40328\t6\n40338\t6\n40346\t6\n40347\t6\n40351\t6\n40353\t6\n40357\t6\n40360\t6\n40361\t6\n40378\t6\n40388\t6\n40397\t6\n40407\t6\n40409\t6\n40410\t6\n40415\t6\n40421\t6\n40430\t6\n40434\t6\n40437\t6\n40440\t6\n40443\t6\n40449\t6\n40456\t6\n40459\t6\n40462\t6\n40465\t6\n40469\t6\n40473\t6\n40474\t6\n40475\t6\n40479\t6\n40495\t6\n40501\t6\n40509\t6\n40512\t6\n40514\t6\n40527\t6\n40537\t6\n40539\t6\n40550\t6\n40551\t6\n40553\t6\n40554\t6\n40557\t6\n40575\t6\n40576\t6\n40586\t6\n40587\t6\n40589\t6\n40591\t6\n40594\t6\n40602\t6\n40605\t6\n40635\t6\n40636\t6\n40639\t6\n40655\t6\n40666\t6\n40667\t6\n40694\t6\n40703\t6\n40715\t6\n40733\t6\n40738\t6\n40758\t6\n40769\t6\n40774\t6\n40778\t6\n40787\t6\n40792\t6\n40794\t6\n40798\t6\n40806\t6\n40810\t6\n40811\t6\n40813\t6\n40824\t6\n40830\t6\n40831\t6\n40834\t6\n40848\t6\n40850\t6\n40851\t6\n40861\t6\n40870\t6\n40877\t6\n40883\t6\n40885\t6\n40886\t6\n40888\t6\n40904\t6\n40906\t6\n40919\t6\n40922\t6\n40925\t6\n40935\t6\n40940\t6\n40946\t6\n40948\t6\n40950\t6\n40954\t6\n40956\t6\n40957\t6\n40958\t6\n40962\t6\n40964\t6\n40969\t6\n40977\t6\n40985\t6\n41003\t6\n41006\t6\n41007\t6\n41026\t6\n41031\t6\n41033\t6\n41034\t6\n41035\t6\n41038\t6\n41040\t6\n41042\t6\n41044\t6\n41045\t6\n41048\t6\n41049\t6\n41051\t6\n41052\t6\n41060\t6\n41062\t6\n41067\t6\n41070\t6\n41073\t6\n41075\t6\n41082\t6\n41092\t6\n41098\t6\n41105\t6\n41107\t6\n41115\t6\n41118\t6\n41124\t6\n41127\t6\n41129\t6\n41131\t6\n41139\t6\n41143\t6\n41152\t6\n41153\t6\n41157\t6\n41159\t6\n41160\t6\n41164\t6\n41168\t6\n41171\t6\n41172\t6\n41174\t6\n41201\t6\n41205\t6\n41207\t6\n41210\t6\n41211\t6\n41216\t6\n41220\t6\n41221\t6\n41230\t6\n41239\t6\n41240\t6\n41244\t6\n41248\t6\n41251\t6\n41252\t6\n41253\t6\n41280\t6\n41285\t6\n41302\t6\n41306\t6\n41316\t6\n41317\t6\n41318\t6\n41323\t6\n41328\t6\n41349\t6\n41361\t6\n41363\t6\n41365\t6\n41371\t6\n41374\t6\n41377\t6\n41380\t6\n41387\t6\n41395\t6\n41397\t6\n41402\t6\n41403\t6\n41412\t6\n41416\t6\n41418\t6\n41421\t6\n41423\t6\n41424\t6\n41425\t6\n41428\t6\n41429\t6\n41431\t6\n41438\t6\n41442\t6\n41444\t6\n41450\t6\n41482\t6\n41487\t6\n41497\t6\n41498\t6\n41501\t6\n41510\t6\n41514\t6\n41522\t6\n41532\t6\n41543\t6\n41546\t6\n41548\t6\n41554\t6\n41560\t6\n41565\t6\n41567\t6\n41569\t6\n41574\t6\n41575\t6\n41582\t6\n41586\t6\n41591\t6\n41596\t6\n41600\t6\n41603\t6\n41604\t6\n41611\t6\n41614\t6\n41629\t6\n41630\t6\n41632\t6\n41638\t6\n41645\t6\n41657\t6\n41681\t6\n41684\t6\n41695\t6\n41698\t6\n41703\t6\n41705\t6\n41714\t6\n41715\t6\n41720\t6\n41722\t6\n41723\t6\n41727\t6\n41735\t6\n41739\t6\n41743\t6\n41749\t6\n41758\t6\n41777\t6\n41778\t6\n41783\t6\n41787\t6\n41788\t6\n41791\t6\n41792\t6\n41793\t6\n41821\t6\n41822\t6\n41826\t6\n41835\t6\n41840\t6\n41841\t6\n41846\t6\n41851\t6\n41852\t6\n41856\t6\n41857\t6\n41890\t6\n41891\t6\n41903\t6\n41917\t6\n41918\t6\n41920\t6\n41923\t6\n41927\t6\n41932\t6\n41933\t6\n41935\t6\n41943\t6\n41944\t6\n41950\t6\n41952\t6\n41960\t6\n41964\t6\n41965\t6\n41968\t6\n41970\t6\n41975\t6\n41979\t6\n41981\t6\n41982\t6\n41984\t6\n41987\t6\n41992\t6\n41994\t6\n41995\t6\n42000\t6\n42014\t6\n42021\t6\n42028\t6\n42030\t6\n42031\t6\n42032\t6\n42046\t6\n42047\t6\n42048\t6\n42061\t6\n42063\t6\n42066\t6\n42068\t6\n42087\t6\n42099\t6\n42100\t6\n42104\t6\n42107\t6\n42119\t6\n42132\t6\n42133\t6\n42141\t6\n42144\t6\n42147\t6\n42174\t6\n42176\t6\n42188\t6\n42212\t6\n42214\t6\n42235\t6\n42239\t6\n42244\t6\n42252\t6\n42255\t6\n42256\t6\n42284\t6\n42286\t6\n42288\t6\n42292\t6\n42298\t6\n42300\t6\n42302\t6\n42319\t6\n42328\t6\n42330\t6\n42333\t6\n42335\t6\n42351\t6\n42357\t6\n42361\t6\n42382\t6\n42386\t6\n42394\t6\n42395\t6\n42403\t6\n42404\t6\n42410\t6\n42420\t6\n42424\t6\n42425\t6\n42427\t6\n42430\t6\n42434\t6\n42439\t6\n42443\t6\n42445\t6\n42447\t6\n42456\t6\n42458\t6\n42472\t6\n42481\t6\n42484\t6\n42494\t6\n42496\t6\n42500\t6\n42501\t6\n42503\t6\n42510\t6\n42516\t6\n42522\t6\n42525\t6\n42527\t6\n42530\t6\n42542\t6\n42556\t6\n42558\t6\n42564\t6\n42570\t6\n42577\t6\n42594\t6\n42602\t6\n42609\t6\n42620\t6\n42627\t6\n42638\t6\n42645\t6\n42646\t6\n42659\t6\n42666\t6\n42678\t6\n42681\t6\n42685\t6\n42686\t6\n42705\t6\n42715\t6\n42733\t6\n42741\t6\n42743\t6\n42745\t6\n42747\t6\n42749\t6\n42752\t6\n42756\t6\n42765\t6\n42772\t6\n42778\t6\n42798\t6\n42811\t6\n42813\t6\n42816\t6\n42818\t6\n42830\t6\n42842\t6\n42843\t6\n42844\t6\n42848\t6\n42855\t6\n42858\t6\n42865\t6\n42881\t6\n42886\t6\n42895\t6\n42899\t6\n42901\t6\n42912\t6\n42913\t6\n42926\t6\n42928\t6\n42943\t6\n42952\t6\n42953\t6\n42976\t6\n42982\t6\n43001\t6\n43003\t6\n43006\t6\n43011\t6\n43015\t6\n43039\t6\n43046\t6\n43049\t6\n43056\t6\n43063\t6\n43066\t6\n43070\t6\n43072\t6\n43077\t6\n43090\t6\n43098\t6\n43102\t6\n43106\t6\n43120\t6\n43133\t6\n43134\t6\n43135\t6\n43136\t6\n43141\t6\n43162\t6\n43163\t6\n43170\t6\n43172\t6\n43175\t6\n43176\t6\n43184\t6\n43187\t6\n43193\t6\n43202\t6\n43206\t6\n43207\t6\n43208\t6\n43210\t6\n43231\t6\n43251\t6\n43252\t6\n43253\t6\n43260\t6\n43262\t6\n43264\t6\n43269\t6\n43290\t6\n43300\t6\n43301\t6\n43304\t6\n43324\t6\n43326\t6\n43337\t6\n43346\t6\n43347\t6\n43348\t6\n43349\t6\n43357\t6\n43369\t6\n43382\t6\n43384\t6\n43387\t6\n43391\t6\n43395\t6\n43400\t6\n43416\t6\n43418\t6\n43424\t6\n43436\t6\n43442\t6\n43443\t6\n43449\t6\n43458\t6\n43461\t6\n43464\t6\n43469\t6\n43477\t6\n43478\t6\n43495\t6\n43498\t6\n43499\t6\n43500\t6\n43503\t6\n43514\t6\n43518\t6\n43521\t6\n43522\t6\n43526\t6\n43527\t6\n43536\t6\n43539\t6\n43541\t6\n43543\t6\n43549\t6\n43551\t6\n43553\t6\n43565\t6\n43567\t6\n43573\t6\n43576\t6\n43582\t6\n43596\t6\n43600\t6\n43611\t6\n43618\t6\n43629\t6\n43633\t6\n43637\t6\n43650\t6\n43652\t6\n43656\t6\n43664\t6\n43666\t6\n43670\t6\n43673\t6\n43676\t6\n43683\t6\n43693\t6\n43698\t6\n43706\t6\n43708\t6\n43716\t6\n43717\t6\n43718\t6\n43721\t6\n43722\t6\n43732\t6\n43736\t6\n43740\t6\n43744\t6\n43745\t6\n43749\t6\n43751\t6\n43765\t6\n43766\t6\n43778\t6\n43785\t6\n43789\t6\n43797\t6\n43798\t6\n43810\t6\n43813\t6\n43818\t6\n43823\t6\n43827\t6\n43835\t6\n43836\t6\n43840\t6\n43850\t6\n43877\t6\n43883\t6\n43884\t6\n43887\t6\n43891\t6\n43894\t6\n43896\t6\n43905\t6\n43909\t6\n43919\t6\n43921\t6\n43929\t6\n43931\t6\n43933\t6\n43934\t6\n43935\t6\n43937\t6\n43939\t6\n43944\t6\n43948\t6\n43956\t6\n43968\t6\n43969\t6\n43973\t6\n43977\t6\n43984\t6\n43991\t6\n43993\t6\n43994\t6\n43998\t6\n44000\t6\n44002\t6\n44004\t6\n44020\t6\n44021\t6\n44025\t6\n44031\t6\n44034\t6\n44035\t6\n44048\t6\n44050\t6\n44062\t6\n44064\t6\n44076\t6\n44091\t6\n44093\t6\n44095\t6\n44097\t6\n44102\t6\n44112\t6\n44114\t6\n44154\t6\n44160\t6\n44166\t6\n44167\t6\n44175\t6\n44182\t6\n44188\t6\n44203\t6\n44205\t6\n44206\t6\n44217\t6\n44218\t6\n44221\t6\n44222\t6\n44232\t6\n44241\t6\n44242\t6\n44244\t6\n44245\t6\n44248\t6\n44256\t6\n44275\t6\n44288\t6\n44293\t6\n44295\t6\n44300\t6\n44303\t6\n44310\t6\n44316\t6\n44318\t6\n44319\t6\n44322\t6\n44328\t6\n44345\t6\n44357\t6\n44362\t6\n44364\t6\n44370\t6\n44379\t6\n44383\t6\n44387\t6\n44391\t6\n44394\t6\n44403\t6\n44404\t6\n44407\t6\n44415\t6\n44419\t6\n44420\t6\n44422\t6\n44423\t6\n44429\t6\n44431\t6\n44432\t6\n44436\t6\n44438\t6\n44441\t6\n44443\t6\n44451\t6\n44456\t6\n44465\t6\n44479\t6\n44490\t6\n44492\t6\n44495\t6\n44501\t6\n44504\t6\n44505\t6\n44506\t6\n44523\t6\n44524\t6\n44536\t6\n44542\t6\n44544\t6\n44551\t6\n44554\t6\n44556\t6\n44569\t6\n44572\t6\n44573\t6\n44575\t6\n44582\t6\n44588\t6\n44590\t6\n44595\t6\n44597\t6\n44611\t6\n44613\t6\n44615\t6\n44622\t6\n44625\t6\n44628\t6\n44640\t6\n44646\t6\n44648\t6\n44652\t6\n44655\t6\n44661\t6\n44668\t6\n44669\t6\n44672\t6\n44675\t6\n44676\t6\n44677\t6\n44686\t6\n44688\t6\n44694\t6\n44697\t6\n44702\t6\n44721\t6\n44728\t6\n44752\t6\n44753\t6\n44758\t6\n44761\t6\n44784\t6\n44788\t6\n44792\t6\n44794\t6\n44803\t6\n44818\t6\n44819\t6\n44825\t6\n44831\t6\n44832\t6\n44835\t6\n44839\t6\n44848\t6\n44849\t6\n44887\t6\n44892\t6\n44896\t6\n44905\t6\n44906\t6\n44911\t6\n44912\t6\n44916\t6\n44922\t6\n44925\t6\n44926\t6\n44927\t6\n44928\t6\n44934\t6\n44939\t6\n44943\t6\n44946\t6\n44949\t6\n44950\t6\n44960\t6\n44964\t6\n44973\t6\n44976\t6\n44988\t6\n44994\t6\n44996\t6\n44998\t6\n44999\t6\n45001\t6\n45002\t6\n45011\t6\n45023\t6\n45025\t6\n45031\t6\n45033\t6\n45047\t6\n45052\t6\n45053\t6\n45054\t6\n45055\t6\n45070\t6\n45074\t6\n45076\t6\n45081\t6\n45102\t6\n45107\t6\n45108\t6\n45113\t6\n45117\t6\n45118\t6\n45123\t6\n45128\t6\n45131\t6\n45135\t6\n45138\t6\n45140\t6\n45145\t6\n45152\t6\n45159\t6\n45160\t6\n45163\t6\n45170\t6\n45187\t6\n45188\t6\n45189\t6\n45193\t6\n45196\t6\n45199\t6\n45207\t6\n45209\t6\n45224\t6\n45226\t6\n45243\t6\n45248\t6\n45252\t6\n45253\t6\n45262\t6\n45283\t6\n45288\t6\n45291\t6\n45293\t6\n45294\t6\n45298\t6\n45299\t6\n45312\t6\n45327\t6\n45336\t6\n45338\t6\n45339\t6\n45340\t6\n45351\t6\n45356\t6\n45358\t6\n45368\t6\n45370\t6\n45371\t6\n45390\t6\n45391\t6\n45403\t6\n45409\t6\n45430\t6\n45438\t6\n45439\t6\n45443\t6\n45445\t6\n45460\t6\n45461\t6\n45469\t6\n45474\t6\n45477\t6\n45483\t6\n45488\t6\n45498\t6\n45502\t6\n45504\t6\n45507\t6\n45511\t6\n45516\t6\n45519\t6\n45530\t6\n45531\t6\n45537\t6\n45546\t6\n45555\t6\n45560\t6\n45561\t6\n45564\t6\n45573\t6\n45587\t6\n45596\t6\n45597\t6\n45599\t6\n45615\t6\n45617\t6\n45628\t6\n45630\t6\n45636\t6\n45648\t6\n45651\t6\n45656\t6\n45658\t6\n45676\t6\n45678\t6\n45699\t6\n45715\t6\n45720\t6\n45721\t6\n45722\t6\n45725\t6\n45726\t6\n45727\t6\n45732\t6\n45736\t6\n45738\t6\n45744\t6\n45745\t6\n45755\t6\n45762\t6\n45771\t6\n45776\t6\n45785\t6\n45793\t6\n45796\t6\n45810\t6\n45820\t6\n45821\t6\n45836\t6\n45842\t6\n45843\t6\n45845\t6\n45846\t6\n45856\t6\n45865\t6\n45872\t6\n45875\t6\n45882\t6\n45900\t6\n45908\t6\n45910\t6\n45922\t6\n45930\t6\n45932\t6\n45937\t6\n45945\t6\n45947\t6\n45951\t6\n45954\t6\n45955\t6\n45956\t6\n45972\t6\n45976\t6\n45989\t6\n45995\t6\n46000\t6\n46002\t6\n46008\t6\n46025\t6\n46028\t6\n46030\t6\n46034\t6\n46044\t6\n46048\t6\n46049\t6\n46050\t6\n46051\t6\n46052\t6\n46058\t6\n46060\t6\n46066\t6\n46068\t6\n46074\t6\n46080\t6\n46081\t6\n46082\t6\n46085\t6\n46110\t6\n46112\t6\n46116\t6\n46119\t6\n46120\t6\n46123\t6\n46125\t6\n46141\t6\n46148\t6\n46158\t6\n46185\t6\n46186\t6\n46188\t6\n46193\t6\n46196\t6\n46201\t6\n46212\t6\n46214\t6\n46217\t6\n46220\t6\n46249\t6\n46253\t6\n46260\t6\n46261\t6\n46268\t6\n46269\t6\n46270\t6\n46271\t6\n46275\t6\n46279\t6\n46280\t6\n46281\t6\n46298\t6\n46323\t6\n46329\t6\n46355\t6\n46356\t6\n46361\t6\n46362\t6\n46370\t6\n46375\t6\n46378\t6\n46383\t6\n46397\t6\n46400\t6\n46407\t6\n46411\t6\n46418\t6\n46422\t6\n46427\t6\n46429\t6\n46436\t6\n46440\t6\n46443\t6\n46446\t6\n46450\t6\n46454\t6\n46455\t6\n46476\t6\n46483\t6\n46486\t6\n46520\t6\n46543\t6\n46549\t6\n46565\t6\n46568\t6\n46573\t6\n46578\t6\n46604\t6\n46610\t6\n46612\t6\n46615\t6\n46625\t6\n46632\t6\n46637\t6\n46639\t6\n46645\t6\n46653\t6\n46664\t6\n46677\t6\n46684\t6\n46688\t6\n46702\t6\n46714\t6\n46716\t6\n46729\t6\n46735\t6\n46744\t6\n46746\t6\n46747\t6\n46748\t6\n46750\t6\n46758\t6\n46760\t6\n46761\t6\n46769\t6\n46776\t6\n46778\t6\n46795\t6\n46808\t6\n46827\t6\n46832\t6\n46833\t6\n46842\t6\n46843\t6\n46848\t6\n46855\t6\n46857\t6\n46861\t6\n46866\t6\n46874\t6\n46879\t6\n46883\t6\n46891\t6\n46899\t6\n46909\t6\n46912\t6\n46913\t6\n46914\t6\n46915\t6\n46916\t6\n46917\t6\n46927\t6\n46933\t6\n46936\t6\n46942\t6\n46948\t6\n46949\t6\n46952\t6\n46956\t6\n46962\t6\n46977\t6\n46987\t6\n46990\t6\n46992\t6\n46994\t6\n46998\t6\n47023\t6\n47024\t6\n47026\t6\n47031\t6\n47034\t6\n47035\t6\n47038\t6\n47039\t6\n47045\t6\n47054\t6\n47056\t6\n47058\t6\n47073\t6\n47074\t6\n47075\t6\n47086\t6\n47088\t6\n47090\t6\n47091\t6\n47096\t6\n47113\t6\n47114\t6\n47120\t6\n47126\t6\n47136\t6\n47137\t6\n47141\t6\n47142\t6\n47143\t6\n47147\t6\n47156\t6\n47162\t6\n47166\t6\n47170\t6\n47173\t6\n47176\t6\n47180\t6\n47183\t6\n47189\t6\n47211\t6\n47216\t6\n47222\t6\n47229\t6\n47231\t6\n47234\t6\n47237\t6\n47247\t6\n47259\t6\n47260\t6\n47264\t6\n47281\t6\n47283\t6\n47289\t6\n47291\t6\n47297\t6\n47303\t6\n47304\t6\n47305\t6\n47307\t6\n47319\t6\n47320\t6\n47322\t6\n47323\t6\n47335\t6\n47337\t6\n47342\t6\n47343\t6\n47344\t6\n47347\t6\n47352\t6\n47356\t6\n47358\t6\n47366\t6\n47376\t6\n47383\t6\n47388\t6\n47389\t6\n47391\t6\n47393\t6\n47407\t6\n47419\t6\n47424\t6\n47428\t6\n47431\t6\n47434\t6\n47451\t6\n47465\t6\n47475\t6\n47485\t6\n47486\t6\n47496\t6\n47499\t6\n47501\t6\n47504\t6\n47506\t6\n47521\t6\n47525\t6\n47531\t6\n47536\t6\n47544\t6\n47547\t6\n47551\t6\n47555\t6\n47558\t6\n47562\t6\n47582\t6\n47590\t6\n47591\t6\n47593\t6\n47598\t6\n47600\t6\n47605\t6\n47606\t6\n47619\t6\n47635\t6\n47638\t6\n47654\t6\n47663\t6\n47665\t6\n47674\t6\n47676\t6\n47688\t6\n47690\t6\n47694\t6\n47696\t6\n47697\t6\n47711\t6\n47713\t6\n47724\t6\n47729\t6\n47744\t6\n47746\t6\n47752\t6\n47756\t6\n47761\t6\n47762\t6\n47764\t6\n47770\t6\n47776\t6\n47782\t6\n47787\t6\n47790\t6\n47791\t6\n47792\t6\n47795\t6\n47796\t6\n47798\t6\n47807\t6\n47815\t6\n47844\t6\n47847\t6\n47866\t6\n47870\t6\n47881\t6\n47893\t6\n47894\t6\n47895\t6\n47902\t6\n47904\t6\n47909\t6\n47916\t6\n47924\t6\n47926\t6\n47944\t6\n47945\t6\n47951\t6\n47976\t6\n47977\t6\n47978\t6\n47994\t6\n48000\t6\n48002\t6\n48016\t6\n48020\t6\n48021\t6\n48034\t6\n48035\t6\n48038\t6\n48041\t6\n48043\t6\n48078\t6\n48092\t6\n48097\t6\n48100\t6\n48111\t6\n48125\t6\n48128\t6\n48147\t6\n48148\t6\n48170\t6\n48172\t6\n48175\t6\n48176\t6\n48177\t6\n48178\t6\n48182\t6\n48185\t6\n48186\t6\n48189\t6\n48192\t6\n48196\t6\n48220\t6\n48223\t6\n48231\t6\n48232\t6\n48235\t6\n48240\t6\n48247\t6\n48257\t6\n48274\t6\n48294\t6\n48296\t6\n48298\t6\n48304\t6\n48314\t6\n48319\t6\n48322\t6\n48326\t6\n48328\t6\n48332\t6\n48338\t6\n48375\t6\n48382\t6\n48397\t6\n48399\t6\n48400\t6\n48407\t6\n48416\t6\n48427\t6\n48431\t6\n48432\t6\n48435\t6\n48445\t6\n48460\t6\n48461\t6\n48465\t6\n48469\t6\n48486\t6\n48495\t6\n48498\t6\n48499\t6\n48500\t6\n48505\t6\n48506\t6\n48516\t6\n48517\t6\n48520\t6\n48526\t6\n48529\t6\n48531\t6\n48536\t6\n48548\t6\n48550\t6\n48551\t6\n48561\t6\n48573\t6\n48574\t6\n48576\t6\n48580\t6\n48584\t6\n48596\t6\n48604\t6\n48607\t6\n48618\t6\n48621\t6\n48625\t6\n48630\t6\n48643\t6\n48649\t6\n48665\t6\n48683\t6\n48697\t6\n48703\t6\n48713\t6\n48719\t6\n48732\t6\n48733\t6\n48747\t6\n48756\t6\n48759\t6\n48790\t6\n48811\t6\n48812\t6\n48823\t6\n48827\t6\n48828\t6\n48867\t6\n48871\t6\n48876\t6\n48886\t6\n48889\t6\n48903\t6\n48907\t6\n48910\t6\n48912\t6\n48914\t6\n48953\t6\n48961\t6\n48963\t6\n48971\t6\n48978\t6\n48981\t6\n48986\t6\n48992\t6\n48994\t6\n49004\t6\n49017\t6\n49032\t6\n49033\t6\n49037\t6\n49038\t6\n49042\t6\n49044\t6\n49055\t6\n49061\t6\n49068\t6\n49072\t6\n49074\t6\n49078\t6\n49084\t6\n49085\t6\n49100\t6\n49104\t6\n49108\t6\n49114\t6\n49116\t6\n49126\t6\n49138\t6\n49140\t6\n49142\t6\n49143\t6\n49151\t6\n49155\t6\n49166\t6\n49170\t6\n49173\t6\n49176\t6\n49202\t6\n49215\t6\n49220\t6\n49224\t6\n49225\t6\n49226\t6\n49229\t6\n49237\t6\n49268\t6\n49273\t6\n49282\t6\n49284\t6\n49285\t6\n49287\t6\n49293\t6\n49295\t6\n49307\t6\n49312\t6\n49313\t6\n49314\t6\n49317\t6\n49328\t6\n49330\t6\n49331\t6\n49334\t6\n49336\t6\n49346\t6\n49348\t6\n49352\t6\n49358\t6\n49360\t6\n49375\t6\n49383\t6\n49385\t6\n49390\t6\n49395\t6\n49401\t6\n49403\t6\n49415\t6\n49416\t6\n49420\t6\n49421\t6\n49431\t6\n49443\t6\n49445\t6\n49459\t6\n49460\t6\n49462\t6\n49472\t6\n49473\t6\n49477\t6\n49482\t6\n49485\t6\n49488\t6\n49491\t6\n49499\t6\n49501\t6\n49502\t6\n49522\t6\n49528\t6\n49533\t6\n49535\t6\n49542\t6\n49546\t6\n49550\t6\n49556\t6\n49564\t6\n49569\t6\n49571\t6\n49579\t6\n49582\t6\n49589\t6\n49595\t6\n49603\t6\n49608\t6\n49614\t6\n49625\t6\n49626\t6\n49637\t6\n49640\t6\n49648\t6\n49656\t6\n49657\t6\n49658\t6\n49664\t6\n49666\t6\n49668\t6\n49682\t6\n49683\t6\n49693\t6\n49694\t6\n49695\t6\n49696\t6\n49697\t6\n49701\t6\n49714\t6\n49721\t6\n49724\t6\n49727\t6\n49735\t6\n49740\t6\n49745\t6\n49751\t6\n49752\t6\n49755\t6\n49757\t6\n49763\t6\n49769\t6\n49770\t6\n49776\t6\n49788\t6\n49797\t6\n49801\t6\n49825\t6\n49830\t6\n49832\t6\n49842\t6\n49845\t6\n49848\t6\n49865\t6\n49870\t6\n49873\t6\n49882\t6\n49886\t6\n49892\t6\n49903\t6\n49905\t6\n49906\t6\n49907\t6\n49908\t6\n49913\t6\n49914\t6\n49915\t6\n49920\t6\n49921\t6\n49923\t6\n49931\t6\n49937\t6\n49948\t6\n49964\t6\n49985\t6\n49986\t6\n49987\t6\n49996\t6\n49999\t6\n50004\t6\n50008\t6\n50012\t6\n50022\t6\n50031\t6\n50034\t6\n50038\t6\n50040\t6\n50042\t6\n50047\t6\n50054\t6\n50062\t6\n50064\t6\n50069\t6\n50076\t6\n50079\t6\n50080\t6\n50083\t6\n50089\t6\n50090\t6\n50093\t6\n50100\t6\n50107\t6\n50111\t6\n50112\t6\n50128\t6\n50142\t6\n50157\t6\n50168\t6\n50176\t6\n50186\t6\n50188\t6\n50195\t6\n50196\t6\n50198\t6\n50208\t6\n50209\t6\n50212\t6\n50220\t6\n50223\t6\n50229\t6\n50237\t6\n50243\t6\n50254\t6\n50255\t6\n50257\t6\n50258\t6\n50264\t6\n50267\t6\n50273\t6\n50278\t6\n50279\t6\n50282\t6\n50285\t6\n50287\t6\n50295\t6\n50297\t6\n50302\t6\n50303\t6\n50310\t6\n50316\t6\n50321\t6\n50322\t6\n50329\t6\n50332\t6\n50335\t6\n50336\t6\n50337\t6\n50342\t6\n50346\t6\n50348\t6\n50354\t6\n50364\t6\n50372\t6\n50375\t6\n50382\t6\n50389\t6\n50391\t6\n50393\t6\n50394\t6\n50410\t6\n50415\t6\n50424\t6\n50426\t6\n50430\t6\n50434\t6\n50438\t6\n50447\t6\n50450\t6\n50454\t6\n50455\t6\n50457\t6\n50458\t6\n50466\t6\n50470\t6\n50475\t6\n50480\t6\n50486\t6\n50492\t6\n50496\t6\n50498\t6\n50512\t6\n50530\t6\n50535\t6\n50536\t6\n50537\t6\n50548\t6\n50557\t6\n50564\t6\n50566\t6\n50568\t6\n50575\t6\n50581\t6\n50586\t6\n50606\t6\n50614\t6\n50617\t6\n50620\t6\n50625\t6\n50629\t6\n50631\t6\n50641\t6\n50651\t6\n50653\t6\n50659\t6\n50662\t6\n50709\t6\n50722\t6\n50731\t6\n50735\t6\n50737\t6\n50748\t6\n50763\t6\n50770\t6\n50771\t6\n50775\t6\n50776\t6\n50786\t6\n50788\t6\n50791\t6\n50795\t6\n50799\t6\n50802\t6\n50803\t6\n50816\t6\n50825\t6\n50826\t6\n50828\t6\n50830\t6\n50838\t6\n50848\t6\n50853\t6\n50858\t6\n50868\t6\n50872\t6\n50873\t6\n50878\t6\n50879\t6\n50884\t6\n50886\t6\n50892\t6\n50905\t6\n50918\t6\n50922\t6\n50924\t6\n50941\t6\n50958\t6\n50961\t6\n50963\t6\n50968\t6\n50974\t6\n50975\t6\n50989\t6\n50991\t6\n51001\t6\n51009\t6\n51010\t6\n51014\t6\n51017\t6\n51020\t6\n51021\t6\n51023\t6\n51025\t6\n51030\t6\n51032\t6\n51033\t6\n51047\t6\n51057\t6\n51058\t6\n51060\t6\n51063\t6\n51066\t6\n51070\t6\n51074\t6\n51075\t6\n51079\t6\n51082\t6\n51096\t6\n51099\t6\n51105\t6\n51107\t6\n51110\t6\n51120\t6\n51122\t6\n51149\t6\n51150\t6\n51164\t6\n51184\t6\n51200\t6\n51216\t6\n51219\t6\n51222\t6\n51223\t6\n51234\t6\n51235\t6\n51252\t6\n51261\t6\n51274\t6\n51275\t6\n51281\t6\n51290\t6\n51296\t6\n51302\t6\n51303\t6\n51309\t6\n51317\t6\n51327\t6\n51330\t6\n51335\t6\n51349\t6\n51353\t6\n51356\t6\n51357\t6\n51376\t6\n51379\t6\n51387\t6\n51388\t6\n51389\t6\n51391\t6\n51406\t6\n51421\t6\n51423\t6\n51426\t6\n51437\t6\n51438\t6\n51440\t6\n51446\t6\n51452\t6\n51455\t6\n51462\t6\n51465\t6\n51466\t6\n51472\t6\n51487\t6\n51488\t6\n51494\t6\n51495\t6\n51504\t6\n51507\t6\n51510\t6\n51530\t6\n51536\t6\n51540\t6\n51555\t6\n51556\t6\n51558\t6\n51561\t6\n51592\t6\n51597\t6\n51598\t6\n51601\t6\n51616\t6\n51622\t6\n51631\t6\n51635\t6\n51638\t6\n51653\t6\n51670\t6\n51671\t6\n51674\t6\n51678\t6\n51682\t6\n51683\t6\n51685\t6\n51689\t6\n51691\t6\n51696\t6\n51700\t6\n51715\t6\n51726\t6\n51732\t6\n51736\t6\n51738\t6\n51740\t6\n51744\t6\n51745\t6\n51753\t6\n51754\t6\n51760\t6\n51762\t6\n51763\t6\n51768\t6\n51778\t6\n51781\t6\n51796\t6\n51801\t6\n51802\t6\n51805\t6\n51814\t6\n51819\t6\n51823\t6\n51835\t6\n51846\t6\n51852\t6\n51864\t6\n51873\t6\n51875\t6\n51877\t6\n51879\t6\n51881\t6\n51883\t6\n51885\t6\n51890\t6\n51903\t6\n51910\t6\n51911\t6\n51919\t6\n51920\t6\n51924\t6\n51925\t6\n51927\t6\n51929\t6\n51934\t6\n51942\t6\n51943\t6\n51952\t6\n51960\t6\n51965\t6\n51973\t6\n51976\t6\n51978\t6\n51985\t6\n51988\t6\n52006\t6\n52008\t6\n52021\t6\n52029\t6\n52036\t6\n52037\t6\n52042\t6\n52044\t6\n52045\t6\n52047\t6\n52053\t6\n52057\t6\n52059\t6\n52062\t6\n52074\t6\n52077\t6\n52084\t6\n52091\t6\n52092\t6\n52094\t6\n52100\t6\n52102\t6\n52107\t6\n52113\t6\n52119\t6\n52124\t6\n52127\t6\n52129\t6\n52132\t6\n52136\t6\n52144\t6\n52151\t6\n52156\t6\n52163\t6\n52164\t6\n52169\t6\n52180\t6\n52182\t6\n52183\t6\n52192\t6\n52203\t6\n52204\t6\n52208\t6\n52218\t6\n52226\t6\n52228\t6\n52230\t6\n52236\t6\n52237\t6\n52259\t6\n52279\t6\n52287\t6\n52295\t6\n52297\t6\n52299\t6\n52300\t6\n52307\t6\n52310\t6\n52313\t6\n52316\t6\n52322\t6\n52324\t6\n52326\t6\n52327\t6\n52333\t6\n52336\t6\n52341\t6\n52349\t6\n52350\t6\n52353\t6\n52355\t6\n52364\t6\n52376\t6\n52381\t6\n52385\t6\n52389\t6\n52398\t6\n52399\t6\n52400\t6\n52412\t6\n52417\t6\n52423\t6\n52424\t6\n52425\t6\n52445\t6\n52451\t6\n52457\t6\n52466\t6\n52479\t6\n52481\t6\n52487\t6\n52489\t6\n52497\t6\n52501\t6\n52505\t6\n52517\t6\n52520\t6\n52534\t6\n52537\t6\n52539\t6\n52550\t6\n52569\t6\n52570\t6\n52573\t6\n52576\t6\n52588\t6\n52598\t6\n52608\t6\n52609\t6\n52611\t6\n52628\t6\n52629\t6\n52636\t6\n52652\t6\n52656\t6\n52658\t6\n52670\t6\n52674\t6\n52681\t6\n52683\t6\n52698\t6\n52706\t6\n52714\t6\n52716\t6\n52721\t6\n52728\t6\n52736\t6\n52737\t6\n52738\t6\n52744\t6\n52745\t6\n52753\t6\n52755\t6\n52757\t6\n52760\t6\n52769\t6\n52788\t6\n52789\t6\n52790\t6\n52798\t6\n52800\t6\n52803\t6\n52808\t6\n52818\t6\n52825\t6\n52833\t6\n52837\t6\n52840\t6\n52850\t6\n52852\t6\n52856\t6\n52869\t6\n52877\t6\n52878\t6\n52886\t6\n52890\t6\n52892\t6\n52904\t6\n52910\t6\n52913\t6\n52914\t6\n52929\t6\n52937\t6\n52943\t6\n52949\t6\n52953\t6\n52963\t6\n52965\t6\n52971\t6\n52988\t6\n53004\t6\n53026\t6\n53037\t6\n53044\t6\n53045\t6\n53047\t6\n53052\t6\n53054\t6\n53055\t6\n53061\t6\n53066\t6\n53068\t6\n53069\t6\n53070\t6\n53073\t6\n53085\t6\n53090\t6\n53092\t6\n53096\t6\n53119\t6\n53123\t6\n53126\t6\n53131\t6\n53133\t6\n53135\t6\n53137\t6\n53158\t6\n53163\t6\n53167\t6\n53168\t6\n53170\t6\n53184\t6\n53188\t6\n53189\t6\n53195\t6\n53198\t6\n53201\t6\n53206\t6\n53208\t6\n53211\t6\n53213\t6\n53214\t6\n53217\t6\n53220\t6\n53246\t6\n53260\t6\n53265\t6\n53275\t6\n53278\t6\n53281\t6\n53288\t6\n53301\t6\n53315\t6\n53322\t6\n53327\t6\n53332\t6\n53343\t6\n53344\t6\n53346\t6\n53353\t6\n53357\t6\n53358\t6\n53363\t6\n53372\t6\n53374\t6\n53377\t6\n53389\t6\n53390\t6\n53397\t6\n53401\t6\n53428\t6\n53436\t6\n53439\t6\n53443\t6\n53451\t6\n53476\t6\n53486\t6\n53492\t6\n53500\t6\n53508\t6\n53511\t6\n53515\t6\n53518\t6\n53523\t6\n53526\t6\n53531\t6\n53535\t6\n53536\t6\n53540\t6\n53546\t6\n53551\t6\n53556\t6\n53559\t6\n53565\t6\n53567\t6\n53589\t6\n53601\t6\n53602\t6\n53605\t6\n53606\t6\n53613\t6\n53626\t6\n53640\t6\n53642\t6\n53648\t6\n53649\t6\n53656\t6\n53657\t6\n53659\t6\n53660\t6\n53661\t6\n53662\t6\n53665\t6\n53677\t6\n53681\t6\n53682\t6\n53689\t6\n53693\t6\n53694\t6\n53697\t6\n53704\t6\n53711\t6\n53714\t6\n53716\t6\n53721\t6\n53722\t6\n53725\t6\n53750\t6\n53753\t6\n53761\t6\n53763\t6\n53765\t6\n53770\t6\n53782\t6\n53787\t6\n53791\t6\n53805\t6\n53811\t6\n53820\t6\n53829\t6\n53839\t6\n53840\t6\n53844\t6\n53855\t6\n53859\t6\n53862\t6\n53864\t6\n53867\t6\n53875\t6\n53880\t6\n53881\t6\n53897\t6\n53901\t6\n53921\t6\n53929\t6\n53932\t6\n53937\t6\n53957\t6\n53958\t6\n53962\t6\n53965\t6\n53966\t6\n53967\t6\n53977\t6\n53980\t6\n53991\t6\n53992\t6\n53995\t6\n54000\t6\n54006\t6\n54008\t6\n54013\t6\n54030\t6\n54034\t6\n54039\t6\n54050\t6\n54052\t6\n54054\t6\n54064\t6\n54084\t6\n54085\t6\n54090\t6\n54093\t6\n54096\t6\n54102\t6\n54114\t6\n54115\t6\n54117\t6\n54136\t6\n54142\t6\n54143\t6\n54161\t6\n54164\t6\n54167\t6\n54169\t6\n54182\t6\n54183\t6\n54185\t6\n54186\t6\n54189\t6\n54197\t6\n54198\t6\n54209\t6\n54219\t6\n54224\t6\n54227\t6\n54236\t6\n54240\t6\n54260\t6\n54271\t6\n54277\t6\n54283\t6\n54310\t6\n54311\t6\n54318\t6\n54319\t6\n54326\t6\n54332\t6\n54333\t6\n54336\t6\n54351\t6\n54354\t6\n54362\t6\n54369\t6\n54371\t6\n54372\t6\n54375\t6\n54377\t6\n54383\t6\n54385\t6\n54386\t6\n54399\t6\n54417\t6\n54423\t6\n54428\t6\n54431\t6\n54433\t6\n54434\t6\n54450\t6\n54458\t6\n54463\t6\n54470\t6\n54475\t6\n54476\t6\n54477\t6\n54478\t6\n54479\t6\n54488\t6\n54492\t6\n54497\t6\n54498\t6\n54500\t6\n54507\t6\n54508\t6\n54521\t6\n54525\t6\n54530\t6\n54545\t6\n54549\t6\n54560\t6\n54566\t6\n54570\t6\n54571\t6\n54576\t6\n54590\t6\n54591\t6\n54602\t6\n54603\t6\n54605\t6\n54607\t6\n54612\t6\n54614\t6\n54617\t6\n54618\t6\n54619\t6\n54622\t6\n54628\t6\n54635\t6\n54641\t6\n54644\t6\n54653\t6\n54656\t6\n54667\t6\n54670\t6\n54682\t6\n54683\t6\n54688\t6\n54690\t6\n54691\t6\n54694\t6\n54711\t6\n54713\t6\n54734\t6\n54755\t6\n54756\t6\n54766\t6\n54782\t6\n54801\t6\n54804\t6\n54818\t6\n54838\t6\n54843\t6\n54846\t6\n54852\t6\n54864\t6\n54871\t6\n54874\t6\n54876\t6\n54884\t6\n54896\t6\n54899\t6\n54905\t6\n54907\t6\n54913\t6\n54916\t6\n54924\t6\n54928\t6\n54929\t6\n54930\t6\n54937\t6\n54938\t6\n54951\t6\n54954\t6\n54964\t6\n54966\t6\n54972\t6\n54986\t6\n54988\t6\n54991\t6\n54995\t6\n54999\t6\n55007\t6\n55016\t6\n55032\t6\n55037\t6\n55051\t6\n55053\t6\n55057\t6\n55076\t6\n55078\t6\n55079\t6\n55085\t6\n55101\t6\n55106\t6\n55107\t6\n55127\t6\n55131\t6\n55135\t6\n55136\t6\n55137\t6\n55141\t6\n55150\t6\n55154\t6\n55156\t6\n55161\t6\n55168\t6\n55169\t6\n55183\t6\n55187\t6\n55197\t6\n55201\t6\n55210\t6\n55212\t6\n55220\t6\n55221\t6\n55235\t6\n55236\t6\n55254\t6\n55261\t6\n55265\t6\n55268\t6\n55269\t6\n55270\t6\n55271\t6\n55272\t6\n55279\t6\n55288\t6\n55313\t6\n55318\t6\n55327\t6\n55328\t6\n55341\t6\n55347\t6\n55351\t6\n55353\t6\n55364\t6\n55367\t6\n55374\t6\n55376\t6\n55384\t6\n55391\t6\n55392\t6\n55398\t6\n55404\t6\n55406\t6\n55412\t6\n55415\t6\n55422\t6\n55426\t6\n55430\t6\n55439\t6\n55440\t6\n55447\t6\n55448\t6\n55480\t6\n55481\t6\n55482\t6\n55490\t6\n55492\t6\n55510\t6\n55512\t6\n55517\t6\n55521\t6\n55531\t6\n55535\t6\n55562\t6\n55571\t6\n55576\t6\n55597\t6\n55606\t6\n55608\t6\n55618\t6\n55624\t6\n55627\t6\n55637\t6\n55647\t6\n55652\t6\n55661\t6\n55665\t6\n55681\t6\n55691\t6\n55701\t6\n55706\t6\n55713\t6\n55723\t6\n55725\t6\n55731\t6\n55734\t6\n55737\t6\n55741\t6\n55745\t6\n55750\t6\n55751\t6\n55756\t6\n55760\t6\n55761\t6\n55762\t6\n55763\t6\n55769\t6\n55783\t6\n55787\t6\n55796\t6\n55799\t6\n55801\t6\n55807\t6\n55810\t6\n55839\t6\n55866\t6\n55867\t6\n55868\t6\n55872\t6\n55873\t6\n55874\t6\n55877\t6\n55880\t6\n55884\t6\n55885\t6\n55888\t6\n55893\t6\n55897\t6\n55902\t6\n55904\t6\n55913\t6\n55923\t6\n55929\t6\n55938\t6\n55942\t6\n55944\t6\n55947\t6\n55952\t6\n55963\t6\n55976\t6\n55982\t6\n55983\t6\n55985\t6\n55987\t6\n55994\t6\n55996\t6\n56006\t6\n56010\t6\n56015\t6\n56016\t6\n56023\t6\n56032\t6\n56037\t6\n56046\t6\n56050\t6\n56054\t6\n56056\t6\n56063\t6\n56065\t6\n56077\t6\n56078\t6\n56079\t6\n56092\t6\n56097\t6\n56108\t6\n56113\t6\n56115\t6\n56117\t6\n56121\t6\n56123\t6\n56134\t6\n56148\t6\n56151\t6\n56158\t6\n56163\t6\n56174\t6\n56177\t6\n56186\t6\n56187\t6\n56194\t6\n56199\t6\n56202\t6\n56204\t6\n56205\t6\n56213\t6\n56219\t6\n56228\t6\n56229\t6\n56241\t6\n56244\t6\n56251\t6\n56261\t6\n56265\t6\n56268\t6\n56272\t6\n56282\t6\n56290\t6\n56298\t6\n56306\t6\n56311\t6\n56316\t6\n56320\t6\n56323\t6\n56327\t6\n56328\t6\n56357\t6\n56358\t6\n56365\t6\n56370\t6\n56383\t6\n56386\t6\n56399\t6\n56407\t6\n56412\t6\n56413\t6\n56416\t6\n56425\t6\n56429\t6\n56430\t6\n56432\t6\n56436\t6\n56446\t6\n56452\t6\n56455\t6\n56460\t6\n56466\t6\n56470\t6\n56474\t6\n56488\t6\n56494\t6\n56499\t6\n56523\t6\n56524\t6\n56528\t6\n56541\t6\n56545\t6\n56549\t6\n56555\t6\n56561\t6\n56562\t6\n56565\t6\n56575\t6\n56578\t6\n56580\t6\n56582\t6\n56585\t6\n56589\t6\n56592\t6\n56595\t6\n56602\t6\n56616\t6\n56617\t6\n56619\t6\n56626\t6\n56638\t6\n56640\t6\n56647\t6\n56654\t6\n56658\t6\n56677\t6\n56683\t6\n56687\t6\n56688\t6\n56695\t6\n56699\t6\n56702\t6\n56705\t6\n56722\t6\n56725\t6\n56730\t6\n56733\t6\n56734\t6\n56735\t6\n56759\t6\n56764\t6\n56766\t6\n56771\t6\n56788\t6\n56790\t6\n56795\t6\n56806\t6\n56822\t6\n56824\t6\n56829\t6\n56843\t6\n56846\t6\n56847\t6\n56874\t6\n56875\t6\n56878\t6\n56880\t6\n56882\t6\n56885\t6\n56896\t6\n56897\t6\n56899\t6\n56907\t6\n56910\t6\n56912\t6\n56920\t6\n56921\t6\n56926\t6\n56927\t6\n56930\t6\n56931\t6\n56934\t6\n56938\t6\n56950\t6\n56951\t6\n56955\t6\n56958\t6\n56963\t6\n56975\t6\n56976\t6\n56979\t6\n56986\t6\n57001\t6\n57004\t6\n57012\t6\n57030\t6\n57032\t6\n57036\t6\n57041\t6\n57052\t6\n57053\t6\n57055\t6\n57060\t6\n57069\t6\n57080\t6\n57087\t6\n57089\t6\n57096\t6\n57100\t6\n57105\t6\n57106\t6\n57117\t6\n57120\t6\n57122\t6\n57127\t6\n57133\t6\n57136\t6\n57141\t6\n57142\t6\n57144\t6\n57146\t6\n57163\t6\n57167\t6\n57170\t6\n57183\t6\n57184\t6\n57185\t6\n57186\t6\n57189\t6\n57191\t6\n57192\t6\n57210\t6\n57214\t6\n57229\t6\n57235\t6\n57246\t6\n57256\t6\n57262\t6\n57267\t6\n57271\t6\n57275\t6\n57289\t6\n57298\t6\n57313\t6\n57315\t6\n57321\t6\n57324\t6\n57326\t6\n57329\t6\n57354\t6\n57355\t6\n57356\t6\n57362\t6\n57369\t6\n57372\t6\n57374\t6\n57379\t6\n57397\t6\n57399\t6\n57401\t6\n57406\t6\n57416\t6\n57417\t6\n57418\t6\n57423\t6\n57437\t6\n57445\t6\n57458\t6\n57461\t6\n57463\t6\n57480\t6\n57481\t6\n57487\t6\n57491\t6\n57496\t6\n57516\t6\n57518\t6\n57524\t6\n57529\t6\n57534\t6\n57538\t6\n57544\t6\n57553\t6\n57557\t6\n57560\t6\n57561\t6\n57570\t6\n57576\t6\n57588\t6\n57593\t6\n57594\t6\n57595\t6\n57606\t6\n57611\t6\n57614\t6\n57625\t6\n57628\t6\n57631\t6\n57633\t6\n57644\t6\n57648\t6\n57651\t6\n57656\t6\n57660\t6\n57676\t6\n57678\t6\n57681\t6\n57683\t6\n57692\t6\n57699\t6\n57704\t6\n57725\t6\n57727\t6\n57736\t6\n57742\t6\n57759\t6\n57762\t6\n57766\t6\n57769\t6\n57770\t6\n57773\t6\n57776\t6\n57781\t6\n57785\t6\n57789\t6\n57794\t6\n57803\t6\n57806\t6\n57808\t6\n57809\t6\n57810\t6\n57811\t6\n57815\t6\n57817\t6\n57831\t6\n57836\t6\n57838\t6\n57845\t6\n57852\t6\n57854\t6\n57867\t6\n57874\t6\n57889\t6\n57896\t6\n57901\t6\n57908\t6\n57913\t6\n57914\t6\n57917\t6\n57920\t6\n57922\t6\n57924\t6\n57925\t6\n57937\t6\n57938\t6\n57942\t6\n57948\t6\n57961\t6\n57964\t6\n57976\t6\n57982\t6\n57983\t6\n57992\t6\n57998\t6\n58003\t6\n58007\t6\n58013\t6\n58020\t6\n58023\t6\n58024\t6\n58025\t6\n58030\t6\n58033\t6\n58039\t6\n58041\t6\n58043\t6\n58051\t6\n58052\t6\n58053\t6\n58055\t6\n58056\t6\n58068\t6\n58069\t6\n58071\t6\n58077\t6\n58089\t6\n58097\t6\n58100\t6\n58106\t6\n58108\t6\n58109\t6\n58116\t6\n58124\t6\n58126\t6\n58136\t6\n58144\t6\n58145\t6\n58146\t6\n58150\t6\n58153\t6\n58157\t6\n58174\t6\n58178\t6\n58182\t6\n58188\t6\n58192\t6\n58201\t6\n58204\t6\n58207\t6\n58208\t6\n58214\t6\n58217\t6\n58229\t6\n58237\t6\n58241\t6\n58242\t6\n58243\t6\n58246\t6\n58252\t6\n58276\t6\n58280\t6\n58284\t6\n58297\t6\n58306\t6\n58308\t6\n58314\t6\n58322\t6\n58324\t6\n58333\t6\n58338\t6\n58354\t6\n58356\t6\n58359\t6\n58361\t6\n58366\t6\n58367\t6\n58374\t6\n58378\t6\n58379\t6\n58389\t6\n58395\t6\n58402\t6\n58403\t6\n58413\t6\n58423\t6\n58426\t6\n58434\t6\n58443\t6\n58444\t6\n58445\t6\n58448\t6\n58451\t6\n58456\t6\n58473\t6\n58479\t6\n58483\t6\n58492\t6\n58505\t6\n58519\t6\n58523\t6\n58531\t6\n58534\t6\n58535\t6\n58544\t6\n58552\t6\n58558\t6\n58559\t6\n58585\t6\n58586\t6\n58589\t6\n58592\t6\n58601\t6\n58604\t6\n58606\t6\n58608\t6\n58609\t6\n58611\t6\n58621\t6\n58625\t6\n58627\t6\n58628\t6\n58630\t6\n58635\t6\n58641\t6\n58642\t6\n58646\t6\n58647\t6\n58674\t6\n58682\t6\n58687\t6\n58688\t6\n58691\t6\n58702\t6\n58706\t6\n58728\t6\n58729\t6\n58736\t6\n58740\t6\n58754\t6\n58758\t6\n58761\t6\n58775\t6\n58780\t6\n58789\t6\n58793\t6\n58794\t6\n58798\t6\n58799\t6\n58803\t6\n58813\t6\n58816\t6\n58817\t6\n58824\t6\n58830\t6\n58836\t6\n58847\t6\n58851\t6\n58856\t6\n58857\t6\n58865\t6\n58879\t6\n58880\t6\n58882\t6\n58887\t6\n58892\t6\n58909\t6\n58923\t6\n58930\t6\n58931\t6\n58943\t6\n58955\t6\n58957\t6\n58959\t6\n58961\t6\n58965\t6\n58968\t6\n58969\t6\n58979\t6\n58983\t6\n58987\t6\n58999\t6\n59002\t6\n59008\t6\n59010\t6\n59013\t6\n59015\t6\n59016\t6\n59018\t6\n59023\t6\n59033\t6\n59053\t6\n59065\t6\n59066\t6\n59071\t6\n59075\t6\n59093\t6\n59102\t6\n59111\t6\n59127\t6\n59133\t6\n59138\t6\n59151\t6\n59156\t6\n59157\t6\n59160\t6\n59161\t6\n59166\t6\n59174\t6\n59183\t6\n59191\t6\n59201\t6\n59206\t6\n59207\t6\n59208\t6\n59220\t6\n59232\t6\n59240\t6\n59243\t6\n59245\t6\n59267\t6\n59275\t6\n59276\t6\n59279\t6\n59283\t6\n59292\t6\n59294\t6\n59295\t6\n59296\t6\n59305\t6\n59307\t6\n59320\t6\n59327\t6\n59333\t6\n59334\t6\n59335\t6\n59337\t6\n59338\t6\n59342\t6\n59347\t6\n59351\t6\n59356\t6\n59358\t6\n59364\t6\n59376\t6\n59377\t6\n59380\t6\n59395\t6\n59414\t6\n59417\t6\n59418\t6\n59421\t6\n59425\t6\n59428\t6\n59429\t6\n59435\t6\n59440\t6\n59444\t6\n59451\t6\n59463\t6\n59469\t6\n59472\t6\n59476\t6\n59486\t6\n59487\t6\n59490\t6\n59493\t6\n59495\t6\n59501\t6\n59509\t6\n59512\t6\n59515\t6\n59517\t6\n59531\t6\n59536\t6\n59537\t6\n59539\t6\n59551\t6\n59554\t6\n59555\t6\n59560\t6\n59583\t6\n59586\t6\n59594\t6\n59599\t6\n59608\t6\n59611\t6\n59618\t6\n59623\t6\n59628\t6\n59630\t6\n59652\t6\n59658\t6\n59661\t6\n59667\t6\n59669\t6\n59671\t6\n59678\t6\n59681\t6\n59696\t6\n59698\t6\n59708\t6\n59709\t6\n59711\t6\n59722\t6\n59728\t6\n59744\t6\n59751\t6\n59752\t6\n59758\t6\n59767\t6\n59774\t6\n59786\t6\n59795\t6\n59812\t6\n59820\t6\n59841\t6\n59847\t6\n59849\t6\n59854\t6\n59866\t6\n59873\t6\n59877\t6\n59884\t6\n59885\t6\n59895\t6\n59898\t6\n59901\t6\n59907\t6\n59908\t6\n59914\t6\n59917\t6\n59919\t6\n59921\t6\n59922\t6\n59923\t6\n59935\t6\n59940\t6\n59941\t6\n59944\t6\n59957\t6\n59961\t6\n59968\t6\n59973\t6\n59985\t6\n59995\t6\n59999\t6\n60008\t6\n60009\t6\n60010\t6\n60013\t6\n60022\t6\n60023\t6\n60024\t6\n60025\t6\n60035\t6\n60036\t6\n60049\t6\n60051\t6\n60052\t6\n60065\t6\n60066\t6\n60089\t6\n60102\t6\n60105\t6\n60107\t6\n60120\t6\n60125\t6\n60130\t6\n60134\t6\n60135\t6\n60138\t6\n60143\t6\n60144\t6\n60146\t6\n60151\t6\n60155\t6\n60160\t6\n60163\t6\n60164\t6\n60165\t6\n60166\t6\n60167\t6\n60170\t6\n60175\t6\n60186\t6\n60190\t6\n60194\t6\n60200\t6\n60201\t6\n60210\t6\n60215\t6\n60227\t6\n60248\t6\n60263\t6\n60268\t6\n60273\t6\n60280\t6\n60281\t6\n60306\t6\n60310\t6\n60311\t6\n60312\t6\n60315\t6\n60316\t6\n60337\t6\n60339\t6\n60342\t6\n60359\t6\n60367\t6\n60375\t6\n60376\t6\n60379\t6\n60380\t6\n60385\t6\n60393\t6\n60394\t6\n60399\t6\n60400\t6\n60406\t6\n60412\t6\n60415\t6\n60421\t6\n60429\t6\n60431\t6\n60432\t6\n60433\t6\n60438\t6\n60441\t6\n60446\t6\n60450\t6\n60453\t6\n60458\t6\n60462\t6\n60470\t6\n60498\t6\n60502\t6\n60513\t6\n60528\t6\n60530\t6\n60532\t6\n60533\t6\n60534\t6\n60548\t6\n60549\t6\n60561\t6\n60566\t6\n60573\t6\n60576\t6\n60579\t6\n60586\t6\n60602\t6\n60603\t6\n60607\t6\n60610\t6\n60633\t6\n60637\t6\n60639\t6\n60642\t6\n60643\t6\n60644\t6\n60646\t6\n60655\t6\n60657\t6\n60671\t6\n60673\t6\n60677\t6\n60680\t6\n60684\t6\n60687\t6\n60688\t6\n60691\t6\n60692\t6\n60695\t6\n60705\t6\n60707\t6\n60709\t6\n60713\t6\n60718\t6\n60721\t6\n60733\t6\n60734\t6\n60742\t6\n60748\t6\n60754\t6\n60762\t6\n60773\t6\n60789\t6\n60793\t6\n60797\t6\n60802\t6\n60817\t6\n60820\t6\n60839\t6\n60842\t6\n60846\t6\n60853\t6\n60860\t6\n60861\t6\n60876\t6\n60880\t6\n60882\t6\n60889\t6\n60900\t6\n60907\t6\n60908\t6\n60916\t6\n60918\t6\n60923\t6\n60928\t6\n60936\t6\n60945\t6\n60950\t6\n60956\t6\n60963\t6\n60983\t6\n60993\t6\n60995\t6\n60998\t6\n61016\t6\n61018\t6\n61021\t6\n61022\t6\n61038\t6\n61042\t6\n61060\t6\n61074\t6\n61081\t6\n61084\t6\n61085\t6\n61092\t6\n61100\t6\n61106\t6\n61111\t6\n61117\t6\n61121\t6\n61137\t6\n61140\t6\n61154\t6\n61173\t6\n61189\t6\n61193\t6\n61197\t6\n61198\t6\n61202\t6\n61207\t6\n61219\t6\n61220\t6\n61229\t6\n61247\t6\n61251\t6\n61252\t6\n61254\t6\n61263\t6\n61265\t6\n61266\t6\n61267\t6\n61271\t6\n61277\t6\n61278\t6\n61282\t6\n61287\t6\n61290\t6\n61291\t6\n61293\t6\n61295\t6\n61302\t6\n61306\t6\n61316\t6\n61321\t6\n61325\t6\n61327\t6\n61329\t6\n61330\t6\n61335\t6\n61342\t6\n61346\t6\n61348\t6\n61357\t6\n61365\t6\n61371\t6\n61380\t6\n61384\t6\n61389\t6\n61391\t6\n61404\t6\n61405\t6\n61408\t6\n61415\t6\n61416\t6\n61420\t6\n61422\t6\n61432\t6\n61433\t6\n61434\t6\n61435\t6\n61444\t6\n61447\t6\n61452\t6\n61453\t6\n61454\t6\n61455\t6\n61465\t6\n61470\t6\n61477\t6\n61481\t6\n61483\t6\n61494\t6\n61497\t6\n61502\t6\n61514\t6\n61519\t6\n61520\t6\n61528\t6\n61529\t6\n61537\t6\n61553\t6\n61559\t6\n61562\t6\n61573\t6\n61576\t6\n61577\t6\n61588\t6\n61589\t6\n61592\t6\n61595\t6\n61605\t6\n61608\t6\n61613\t6\n61617\t6\n61620\t6\n61623\t6\n61628\t6\n61631\t6\n61638\t6\n61643\t6\n61645\t6\n61646\t6\n61650\t6\n61651\t6\n61656\t6\n61659\t6\n61667\t6\n61687\t6\n61691\t6\n61693\t6\n61701\t6\n61703\t6\n61723\t6\n61728\t6\n61730\t6\n61733\t6\n61739\t6\n61750\t6\n61752\t6\n61757\t6\n61759\t6\n61760\t6\n61767\t6\n61774\t6\n61778\t6\n61785\t6\n61789\t6\n61791\t6\n61810\t6\n61824\t6\n61825\t6\n61834\t6\n61838\t6\n61839\t6\n61840\t6\n61852\t6\n61867\t6\n61882\t6\n61894\t6\n61897\t6\n61898\t6\n61902\t6\n61904\t6\n61907\t6\n61908\t6\n61911\t6\n61916\t6\n61917\t6\n61930\t6\n61939\t6\n61946\t6\n61947\t6\n61953\t6\n61958\t6\n61972\t6\n61974\t6\n61975\t6\n61978\t6\n61979\t6\n61981\t6\n62012\t6\n62016\t6\n62018\t6\n62020\t6\n62026\t6\n62037\t6\n62041\t6\n62043\t6\n62051\t6\n62053\t6\n62054\t6\n62076\t6\n62079\t6\n62080\t6\n62089\t6\n62093\t6\n62097\t6\n62098\t6\n62111\t6\n62117\t6\n62124\t6\n62163\t6\n62168\t6\n62172\t6\n62178\t6\n62196\t6\n62207\t6\n62209\t6\n62212\t6\n62227\t6\n62229\t6\n62239\t6\n62243\t6\n62244\t6\n62246\t6\n62248\t6\n62252\t6\n62271\t6\n62274\t6\n62277\t6\n62280\t6\n62290\t6\n62294\t6\n62323\t6\n62329\t6\n62330\t6\n62332\t6\n62361\t6\n62364\t6\n62365\t6\n62369\t6\n62384\t6\n62386\t6\n62389\t6\n62419\t6\n62425\t6\n62429\t6\n62445\t6\n62446\t6\n62453\t6\n62461\t6\n62463\t6\n62476\t6\n62482\t6\n62486\t6\n62493\t6\n62503\t6\n62531\t6\n62533\t6\n62537\t6\n62547\t6\n62554\t6\n62555\t6\n62561\t6\n62564\t6\n62567\t6\n62569\t6\n62570\t6\n62577\t6\n62578\t6\n62581\t6\n62582\t6\n62588\t6\n62597\t6\n62604\t6\n62605\t6\n62610\t6\n62619\t6\n62620\t6\n62626\t6\n62633\t6\n62641\t6\n62643\t6\n62663\t6\n62664\t6\n62666\t6\n62673\t6\n62679\t6\n62682\t6\n62685\t6\n62696\t6\n62706\t6\n62721\t6\n62733\t6\n62744\t6\n62746\t6\n62755\t6\n62756\t6\n62768\t6\n62771\t6\n62773\t6\n62781\t6\n62790\t6\n62791\t6\n62793\t6\n62801\t6\n62803\t6\n62833\t6\n62834\t6\n62840\t6\n62844\t6\n62847\t6\n62859\t6\n62862\t6\n62868\t6\n62870\t6\n62872\t6\n62878\t6\n62890\t6\n62891\t6\n62899\t6\n62905\t6\n62924\t6\n62928\t6\n62940\t6\n62941\t6\n62944\t6\n62945\t6\n62955\t6\n62958\t6\n62960\t6\n62961\t6\n62978\t6\n62987\t6\n62989\t6\n62991\t6\n62993\t6\n62997\t6\n63012\t6\n63014\t6\n63020\t6\n63027\t6\n63028\t6\n63030\t6\n63035\t6\n63042\t6\n63059\t6\n63063\t6\n63067\t6\n63071\t6\n63075\t6\n63079\t6\n63082\t6\n63087\t6\n63090\t6\n63096\t6\n63104\t6\n63108\t6\n63114\t6\n63127\t6\n63128\t6\n63135\t6\n63140\t6\n63144\t6\n63173\t6\n63174\t6\n63180\t6\n63181\t6\n63184\t6\n63189\t6\n63192\t6\n63202\t6\n63207\t6\n63211\t6\n63224\t6\n63226\t6\n63232\t6\n63235\t6\n63237\t6\n63242\t6\n63253\t6\n63256\t6\n63265\t6\n63267\t6\n63278\t6\n63294\t6\n63295\t6\n63301\t6\n63306\t6\n63310\t6\n63324\t6\n63329\t6\n63332\t6\n63336\t6\n63341\t6\n63345\t6\n63348\t6\n63350\t6\n63359\t6\n63384\t6\n63391\t6\n63395\t6\n63405\t6\n63433\t6\n63445\t6\n63446\t6\n63456\t6\n63457\t6\n63460\t6\n63467\t6\n63469\t6\n63475\t6\n63493\t6\n63494\t6\n63499\t6\n63501\t6\n63503\t6\n63506\t6\n63512\t6\n63515\t6\n63516\t6\n63517\t6\n63519\t6\n63524\t6\n63534\t6\n63545\t6\n63554\t6\n63559\t6\n63561\t6\n63563\t6\n63569\t6\n63573\t6\n63574\t6\n63582\t6\n63587\t6\n63598\t6\n63609\t6\n63611\t6\n63612\t6\n63622\t6\n63623\t6\n63626\t6\n63628\t6\n63632\t6\n63635\t6\n63647\t6\n63665\t6\n63668\t6\n63674\t6\n63676\t6\n63679\t6\n63685\t6\n63699\t6\n63701\t6\n63703\t6\n63706\t6\n63714\t6\n63720\t6\n63725\t6\n63729\t6\n63738\t6\n63766\t6\n63768\t6\n63772\t6\n63781\t6\n63792\t6\n63794\t6\n63799\t6\n63801\t6\n63812\t6\n63815\t6\n63817\t6\n63818\t6\n63829\t6\n63833\t6\n63838\t6\n63847\t6\n63848\t6\n63854\t6\n63855\t6\n63860\t6\n63875\t6\n63889\t6\n63890\t6\n63891\t6\n63897\t6\n63904\t6\n63909\t6\n63911\t6\n63912\t6\n63913\t6\n63914\t6\n63916\t6\n63920\t6\n63929\t6\n63930\t6\n63938\t6\n63944\t6\n63947\t6\n63951\t6\n63954\t6\n63956\t6\n63958\t6\n63969\t6\n63972\t6\n63974\t6\n63975\t6\n63978\t6\n63983\t6\n64000\t6\n64004\t6\n64007\t6\n64012\t6\n64015\t6\n64018\t6\n64025\t6\n64028\t6\n64031\t6\n64038\t6\n64039\t6\n64040\t6\n64043\t6\n64045\t6\n64055\t6\n64072\t6\n64082\t6\n64083\t6\n64090\t6\n64093\t6\n64097\t6\n64104\t6\n64123\t6\n64127\t6\n64134\t6\n64140\t6\n64150\t6\n64152\t6\n64153\t6\n64160\t6\n64174\t6\n64178\t6\n64184\t6\n64193\t6\n64196\t6\n64199\t6\n64200\t6\n64226\t6\n64230\t6\n64234\t6\n64246\t6\n64255\t6\n64260\t6\n64262\t6\n64265\t6\n64267\t6\n64272\t6\n64274\t6\n64281\t6\n64286\t6\n64292\t6\n64293\t6\n64313\t6\n64327\t6\n64336\t6\n64337\t6\n64339\t6\n64340\t6\n64341\t6\n64344\t6\n64349\t6\n64369\t6\n64370\t6\n64372\t6\n64374\t6\n64379\t6\n64381\t6\n64382\t6\n64385\t6\n64386\t6\n64387\t6\n64389\t6\n64399\t6\n64404\t6\n64411\t6\n64417\t6\n64421\t6\n64422\t6\n64427\t6\n64436\t6\n64438\t6\n64439\t6\n64444\t6\n64455\t6\n64465\t6\n64474\t6\n64475\t6\n64482\t6\n64485\t6\n64496\t6\n64502\t6\n64508\t6\n64511\t6\n64525\t6\n64528\t6\n64539\t6\n64556\t6\n64569\t6\n64572\t6\n64574\t6\n64587\t6\n64591\t6\n64597\t6\n64599\t6\n64600\t6\n64602\t6\n64607\t6\n64616\t6\n64617\t6\n64622\t6\n64625\t6\n64631\t6\n64638\t6\n64640\t6\n64645\t6\n64656\t6\n64664\t6\n64672\t6\n64675\t6\n64687\t6\n64692\t6\n64697\t6\n64701\t6\n64709\t6\n64710\t6\n64711\t6\n64715\t6\n64721\t6\n64722\t6\n64731\t6\n64732\t6\n64766\t6\n64767\t6\n64768\t6\n64772\t6\n64774\t6\n64784\t6\n64801\t6\n64808\t6\n64814\t6\n64827\t6\n64847\t6\n64850\t6\n64854\t6\n64856\t6\n64860\t6\n64865\t6\n64866\t6\n64870\t6\n64872\t6\n64879\t6\n64887\t6\n64894\t6\n64902\t6\n64905\t6\n64920\t6\n64921\t6\n64924\t6\n64925\t6\n64928\t6\n64930\t6\n64936\t6\n64939\t6\n64970\t6\n64974\t6\n64987\t6\n64989\t6\n65008\t6\n65017\t6\n65024\t6\n65034\t6\n65038\t6\n65052\t6\n65059\t6\n65065\t6\n65082\t6\n65087\t6\n65095\t6\n65102\t6\n65133\t6\n65137\t6\n65142\t6\n65143\t6\n65145\t6\n65154\t6\n65156\t6\n65161\t6\n65168\t6\n65172\t6\n65176\t6\n65181\t6\n65185\t6\n65188\t6\n65189\t6\n65191\t6\n65194\t6\n65195\t6\n65198\t6\n65199\t6\n65201\t6\n65219\t6\n65223\t6\n65226\t6\n65227\t6\n65229\t6\n65231\t6\n65236\t6\n65237\t6\n65238\t6\n65242\t6\n65248\t6\n65277\t6\n65279\t6\n65280\t6\n65281\t6\n65284\t6\n65289\t6\n65295\t6\n65304\t6\n65307\t6\n65310\t6\n65311\t6\n65315\t6\n65317\t6\n65318\t6\n65321\t6\n65331\t6\n65340\t6\n65342\t6\n65345\t6\n65350\t6\n65374\t6\n65381\t6\n65388\t6\n65389\t6\n65394\t6\n65395\t6\n65399\t6\n65400\t6\n65401\t6\n65403\t6\n65409\t6\n65414\t6\n65417\t6\n65422\t6\n65429\t6\n65433\t6\n65439\t6\n65453\t6\n65463\t6\n65466\t6\n65478\t6\n65484\t6\n65488\t6\n65515\t6\n65530\t6\n65533\t6\n65540\t6\n65543\t6\n65555\t6\n65560\t6\n65562\t6\n65570\t6\n65571\t6\n65591\t6\n65595\t6\n65598\t6\n65599\t6\n65610\t6\n65614\t6\n65622\t6\n65626\t6\n65637\t6\n65655\t6\n65671\t6\n65678\t6\n65685\t6\n65686\t6\n65689\t6\n65694\t6\n65704\t6\n65705\t6\n65712\t6\n65713\t6\n65714\t6\n65719\t6\n65722\t6\n65726\t6\n65733\t6\n65742\t6\n65750\t6\n65751\t6\n65755\t6\n65760\t6\n65762\t6\n65766\t6\n65769\t6\n65774\t6\n65776\t6\n65789\t6\n65793\t6\n65800\t6\n65804\t6\n65817\t6\n65818\t6\n65822\t6\n65831\t6\n65844\t6\n65850\t6\n65853\t6\n65854\t6\n65873\t6\n65875\t6\n65876\t6\n65908\t6\n65910\t6\n65915\t6\n65922\t6\n65926\t6\n65940\t6\n65946\t6\n65956\t6\n65958\t6\n65959\t6\n65973\t6\n65977\t6\n65982\t6\n65989\t6\n65996\t6\n65999\t6\n66007\t6\n66011\t6\n66028\t6\n66030\t6\n66033\t6\n66034\t6\n66042\t6\n66050\t6\n66052\t6\n66055\t6\n66072\t6\n66074\t6\n66080\t6\n66087\t6\n66098\t6\n66100\t6\n66101\t6\n66102\t6\n66108\t6\n66114\t6\n66115\t6\n66116\t6\n66131\t6\n66132\t6\n66135\t6\n66136\t6\n66140\t6\n66144\t6\n66145\t6\n66147\t6\n66149\t6\n66151\t6\n66156\t6\n66162\t6\n66164\t6\n66167\t6\n66171\t6\n66174\t6\n66182\t6\n66184\t6\n66185\t6\n66186\t6\n66195\t6\n66201\t6\n66208\t6\n66210\t6\n66214\t6\n66227\t6\n66229\t6\n66230\t6\n66244\t6\n66249\t6\n66251\t6\n66254\t6\n66257\t6\n66262\t6\n66266\t6\n66283\t6\n66290\t6\n66292\t6\n66293\t6\n66305\t6\n66310\t6\n66312\t6\n66325\t6\n66329\t6\n66341\t6\n66344\t6\n66345\t6\n66352\t6\n66359\t6\n66363\t6\n66369\t6\n66383\t6\n66384\t6\n66385\t6\n66391\t6\n66399\t6\n66412\t6\n66427\t6\n66431\t6\n66437\t6\n66442\t6\n66443\t6\n66444\t6\n66445\t6\n66452\t6\n66455\t6\n66472\t6\n66477\t6\n66500\t6\n66511\t6\n66520\t6\n66523\t6\n66525\t6\n66527\t6\n66534\t6\n66541\t6\n66545\t6\n66560\t6\n66564\t6\n66566\t6\n66574\t6\n66579\t6\n66598\t6\n66637\t6\n66640\t6\n66654\t6\n66656\t6\n66658\t6\n66672\t6\n66678\t6\n66685\t6\n66690\t6\n66692\t6\n66698\t6\n66699\t6\n66700\t6\n66704\t6\n66711\t6\n66721\t6\n66726\t6\n66729\t6\n66730\t6\n66735\t6\n66736\t6\n66738\t6\n66743\t6\n66748\t6\n66753\t6\n66756\t6\n66760\t6\n66761\t6\n66762\t6\n66763\t6\n66764\t6\n66770\t6\n66772\t6\n66805\t6\n66806\t6\n66807\t6\n66815\t6\n66821\t6\n66823\t6\n66835\t6\n66836\t6\n66837\t6\n66845\t6\n66848\t6\n66850\t6\n66854\t6\n66857\t6\n66866\t6\n66875\t6\n66877\t6\n66880\t6\n66883\t6\n66885\t6\n66893\t6\n66904\t6\n66906\t6\n66910\t6\n66919\t6\n66932\t6\n66933\t6\n66939\t6\n66945\t6\n66949\t6\n66967\t6\n66991\t6\n66997\t6\n67001\t6\n67009\t6\n67013\t6\n67015\t6\n67019\t6\n67023\t6\n67025\t6\n67029\t6\n67037\t6\n67049\t6\n67058\t6\n67072\t6\n67075\t6\n67083\t6\n67084\t6\n67086\t6\n67087\t6\n67103\t6\n67106\t6\n67108\t6\n67112\t6\n67117\t6\n67118\t6\n67121\t6\n67169\t6\n67172\t6\n67173\t6\n67174\t6\n67175\t6\n67177\t6\n67182\t6\n67190\t6\n67206\t6\n67209\t6\n67213\t6\n67218\t6\n67225\t6\n67236\t6\n67239\t6\n67251\t6\n67255\t6\n67258\t6\n67261\t6\n67262\t6\n67264\t6\n67265\t6\n67266\t6\n67267\t6\n67268\t6\n67270\t6\n67275\t6\n67277\t6\n67284\t6\n67287\t6\n67290\t6\n67293\t6\n67307\t6\n67314\t6\n67315\t6\n67324\t6\n67327\t6\n67337\t6\n67345\t6\n67352\t6\n67360\t6\n67362\t6\n67366\t6\n67372\t6\n67383\t6\n67390\t6\n67408\t6\n67409\t6\n67422\t6\n67425\t6\n67455\t6\n67459\t6\n67468\t6\n67469\t6\n67486\t6\n67494\t6\n67497\t6\n67540\t6\n67546\t6\n67575\t6\n67576\t6\n67589\t6\n67603\t6\n67606\t6\n67622\t6\n67627\t6\n67643\t6\n67645\t6\n67651\t6\n67653\t6\n67657\t6\n67663\t6\n67694\t6\n67700\t6\n67703\t6\n67704\t6\n67709\t6\n67710\t6\n67722\t6\n67732\t6\n67742\t6\n67748\t6\n67751\t6\n67753\t6\n67754\t6\n67756\t6\n67761\t6\n67764\t6\n67770\t6\n67776\t6\n67794\t6\n67795\t6\n67796\t6\n67801\t6\n67805\t6\n67814\t6\n67837\t6\n67842\t6\n67852\t6\n67853\t6\n67857\t6\n67858\t6\n67862\t6\n67863\t6\n67870\t6\n67873\t6\n67876\t6\n67878\t6\n67883\t6\n67884\t6\n67892\t6\n67898\t6\n67899\t6\n67900\t6\n67910\t6\n67913\t6\n67919\t6\n67920\t6\n67924\t6\n67928\t6\n67931\t6\n67939\t6\n67945\t6\n67952\t6\n67957\t6\n67960\t6\n67962\t6\n67982\t6\n67986\t6\n68001\t6\n68004\t6\n68015\t6\n68030\t6\n68032\t6\n68035\t6\n68038\t6\n68041\t6\n68042\t6\n68046\t6\n68050\t6\n68051\t6\n68059\t6\n68063\t6\n68069\t6\n68072\t6\n68073\t6\n68078\t6\n68087\t6\n68092\t6\n68096\t6\n68108\t6\n68119\t6\n68120\t6\n68128\t6\n68134\t6\n68145\t6\n68150\t6\n68152\t6\n68170\t6\n68173\t6\n68176\t6\n68186\t6\n68189\t6\n68203\t6\n68213\t6\n68218\t6\n68222\t6\n68225\t6\n68227\t6\n68231\t6\n68236\t6\n68248\t6\n68251\t6\n68256\t6\n68266\t6\n68281\t6\n68282\t6\n68288\t6\n68294\t6\n68296\t6\n68297\t6\n68298\t6\n68301\t6\n68307\t6\n68318\t6\n68323\t6\n68326\t6\n68336\t6\n68338\t6\n68340\t6\n68344\t6\n68349\t6\n68350\t6\n68351\t6\n68352\t6\n68356\t6\n68368\t6\n68376\t6\n68378\t6\n68383\t6\n68396\t6\n68398\t6\n68401\t6\n68404\t6\n68410\t6\n68411\t6\n68413\t6\n68419\t6\n68428\t6\n68436\t6\n68452\t6\n68453\t6\n68458\t6\n68464\t6\n68477\t6\n68482\t6\n68483\t6\n68490\t6\n68491\t6\n68503\t6\n68505\t6\n68510\t6\n68512\t6\n68513\t6\n68514\t6\n68515\t6\n68532\t6\n68535\t6\n68541\t6\n68543\t6\n68554\t6\n68555\t6\n68560\t6\n68562\t6\n68563\t6\n68566\t6\n68577\t6\n68581\t6\n68593\t6\n68599\t6\n68607\t6\n68625\t6\n68628\t6\n68634\t6\n68638\t6\n68641\t6\n68644\t6\n68654\t6\n68657\t6\n68660\t6\n68666\t6\n68668\t6\n68669\t6\n68673\t6\n68683\t6\n68686\t6\n68688\t6\n68691\t6\n68694\t6\n68697\t6\n68700\t6\n68704\t6\n68705\t6\n68706\t6\n68707\t6\n68711\t6\n68713\t6\n68725\t6\n68726\t6\n68754\t6\n68760\t6\n68775\t6\n68784\t6\n68786\t6\n68787\t6\n68793\t6\n68802\t6\n68803\t6\n68806\t6\n68812\t6\n68813\t6\n68816\t6\n68829\t6\n68831\t6\n68833\t6\n68834\t6\n68839\t6\n68845\t6\n68847\t6\n68848\t6\n68851\t6\n68854\t6\n68857\t6\n68861\t6\n68862\t6\n68864\t6\n68865\t6\n68868\t6\n68874\t6\n68880\t6\n68887\t6\n68892\t6\n68899\t6\n68904\t6\n68906\t6\n68917\t6\n68919\t6\n68951\t6\n68954\t6\n68956\t6\n68963\t6\n68972\t6\n68978\t6\n68982\t6\n68984\t6\n68993\t6\n68997\t6\n69000\t6\n69008\t6\n69010\t6\n69015\t6\n69017\t6\n69021\t6\n69028\t6\n69029\t6\n69038\t6\n69039\t6\n69040\t6\n69046\t6\n69048\t6\n69050\t6\n69051\t6\n69056\t6\n69057\t6\n69059\t6\n69062\t6\n69065\t6\n69075\t6\n69082\t6\n69090\t6\n69099\t6\n69101\t6\n69111\t6\n69113\t6\n69114\t6\n69121\t6\n69127\t6\n69139\t6\n69146\t6\n69153\t6\n69157\t6\n69163\t6\n69192\t6\n69193\t6\n69194\t6\n69195\t6\n69197\t6\n69202\t6\n69205\t6\n69215\t6\n69223\t6\n69228\t6\n69230\t6\n69233\t6\n69235\t6\n69244\t6\n69253\t6\n69255\t6\n69257\t6\n69265\t6\n69267\t6\n69273\t6\n69279\t6\n69285\t6\n69286\t6\n69287\t6\n69290\t6\n69307\t6\n69331\t6\n69334\t6\n69335\t6\n69336\t6\n69339\t6\n69342\t6\n69350\t6\n69352\t6\n69361\t6\n69364\t6\n69383\t6\n69386\t6\n69388\t6\n69389\t6\n69393\t6\n69401\t6\n69406\t6\n69410\t6\n69435\t6\n69438\t6\n69445\t6\n69447\t6\n69460\t6\n69483\t6\n69485\t6\n69497\t6\n69499\t6\n69500\t6\n69503\t6\n69507\t6\n69508\t6\n69519\t6\n69522\t6\n69524\t6\n69528\t6\n69530\t6\n69537\t6\n69538\t6\n69542\t6\n69544\t6\n69556\t6\n69558\t6\n69588\t6\n69590\t6\n69612\t6\n69614\t6\n69622\t6\n69635\t6\n69636\t6\n69643\t6\n69648\t6\n69650\t6\n69681\t6\n69698\t6\n69699\t6\n69700\t6\n69702\t6\n69713\t6\n69721\t6\n69724\t6\n69728\t6\n69740\t6\n69749\t6\n69753\t6\n69754\t6\n69762\t6\n69766\t6\n69769\t6\n69774\t6\n69782\t6\n69789\t6\n69794\t6\n69799\t6\n69806\t6\n69813\t6\n69825\t6\n69830\t6\n69845\t6\n69850\t6\n69853\t6\n69857\t6\n69858\t6\n69859\t6\n69860\t6\n69861\t6\n69874\t6\n69879\t6\n69894\t6\n69900\t6\n69902\t6\n69903\t6\n69915\t6\n69925\t6\n69934\t6\n69941\t6\n69943\t6\n69948\t6\n69954\t6\n69960\t6\n69967\t6\n69974\t6\n69980\t6\n69986\t6\n69994\t6\n70007\t6\n70016\t6\n70021\t6\n70022\t6\n70023\t6\n70025\t6\n70032\t6\n70051\t6\n70060\t6\n70062\t6\n70068\t6\n70073\t6\n70076\t6\n70077\t6\n70084\t6\n70096\t6\n70098\t6\n70105\t6\n70111\t6\n70128\t6\n70140\t6\n70153\t6\n70181\t6\n70186\t6\n70189\t6\n70190\t6\n70193\t6\n70194\t6\n70200\t6\n70202\t6\n70207\t6\n70208\t6\n70210\t6\n70213\t6\n70230\t6\n70244\t6\n70246\t6\n70247\t6\n70256\t6\n70258\t6\n70287\t6\n70294\t6\n70299\t6\n70305\t6\n70310\t6\n70313\t6\n70315\t6\n70332\t6\n70340\t6\n70341\t6\n70351\t6\n70352\t6\n70355\t6\n70356\t6\n70363\t6\n70377\t6\n70387\t6\n70396\t6\n70402\t6\n70403\t6\n70404\t6\n70406\t6\n70416\t6\n70423\t6\n70429\t6\n70430\t6\n70433\t6\n70442\t6\n70451\t6\n70463\t6\n70467\t6\n70468\t6\n70481\t6\n70484\t6\n70487\t6\n70496\t6\n70499\t6\n70504\t6\n70508\t6\n70523\t6\n70529\t6\n70530\t6\n70531\t6\n70534\t6\n70546\t6\n70550\t6\n70553\t6\n70554\t6\n70556\t6\n70568\t6\n70572\t6\n70573\t6\n70575\t6\n70576\t6\n70580\t6\n70584\t6\n70594\t6\n70595\t6\n70596\t6\n70601\t6\n70602\t6\n70607\t6\n70610\t6\n70622\t6\n70625\t6\n70628\t6\n70637\t6\n70647\t6\n70648\t6\n70652\t6\n70664\t6\n70675\t6\n70684\t6\n70688\t6\n70691\t6\n70699\t6\n70702\t6\n70705\t6\n70709\t6\n70710\t6\n70718\t6\n70722\t6\n70726\t6\n70729\t6\n70733\t6\n70744\t6\n70751\t6\n70755\t6\n70756\t6\n70780\t6\n70781\t6\n70791\t6\n70801\t6\n70802\t6\n70818\t6\n70822\t6\n70825\t6\n70834\t6\n70842\t6\n70843\t6\n70847\t6\n70848\t6\n70865\t6\n70873\t6\n70885\t6\n70892\t6\n70902\t6\n70904\t6\n70905\t6\n70909\t6\n70912\t6\n70916\t6\n70920\t6\n70924\t6\n70928\t6\n70929\t6\n70941\t6\n70949\t6\n70956\t6\n70957\t6\n70960\t6\n70967\t6\n70979\t6\n70981\t6\n70986\t6\n70988\t6\n70990\t6\n70997\t6\n71000\t6\n71005\t6\n71013\t6\n71028\t6\n71036\t6\n71039\t6\n71040\t6\n71052\t6\n71058\t6\n71061\t6\n71063\t6\n71064\t6\n71071\t6\n71081\t6\n71091\t6\n71104\t6\n71109\t6\n71112\t6\n71113\t6\n71117\t6\n71122\t6\n71130\t6\n71133\t6\n71143\t6\n71170\t6\n71174\t6\n71178\t6\n71179\t6\n71180\t6\n71192\t6\n71193\t6\n71194\t6\n71196\t6\n71197\t6\n71198\t6\n71202\t6\n71203\t6\n71210\t6\n71213\t6\n71215\t6\n71226\t6\n71238\t6\n71241\t6\n71260\t6\n71263\t6\n71271\t6\n71273\t6\n71281\t6\n71285\t6\n71302\t6\n71303\t6\n71310\t6\n71322\t6\n71328\t6\n71330\t6\n71341\t6\n71345\t6\n71359\t6\n71382\t6\n71383\t6\n71385\t6\n71391\t6\n71405\t6\n71409\t6\n71421\t6\n71422\t6\n71424\t6\n71426\t6\n71436\t6\n71441\t6\n71445\t6\n71446\t6\n71448\t6\n71461\t6\n71467\t6\n71473\t6\n71480\t6\n71484\t6\n71486\t6\n71488\t6\n71497\t6\n71502\t6\n71507\t6\n71516\t6\n71522\t6\n71523\t6\n71527\t6\n71532\t6\n71553\t6\n71568\t6\n71577\t6\n71578\t6\n71605\t6\n71606\t6\n71607\t6\n71612\t6\n71645\t6\n71649\t6\n71652\t6\n71657\t6\n71658\t6\n71659\t6\n71667\t6\n71688\t6\n71692\t6\n71695\t6\n71696\t6\n71697\t6\n71710\t6\n71711\t6\n71712\t6\n71725\t6\n71726\t6\n71733\t6\n71735\t6\n71744\t6\n71752\t6\n71754\t6\n71758\t6\n71759\t6\n71760\t6\n71762\t6\n71766\t6\n71777\t6\n71800\t6\n71803\t6\n71805\t6\n71807\t6\n71811\t6\n71825\t6\n71827\t6\n71829\t6\n71832\t6\n71835\t6\n71846\t6\n71850\t6\n71851\t6\n71852\t6\n71853\t6\n71862\t6\n71866\t6\n71873\t6\n71874\t6\n71897\t6\n71900\t6\n71904\t6\n71921\t6\n71937\t6\n71942\t6\n71943\t6\n71953\t6\n71966\t6\n71976\t6\n71981\t6\n71985\t6\n71992\t6\n71995\t6\n71996\t6\n72006\t6\n72007\t6\n72008\t6\n72010\t6\n72012\t6\n72016\t6\n72021\t6\n72024\t6\n72031\t6\n72034\t6\n72054\t6\n72055\t6\n72059\t6\n72064\t6\n72067\t6\n72077\t6\n72078\t6\n72082\t6\n72085\t6\n72092\t6\n72096\t6\n72099\t6\n72100\t6\n72101\t6\n72110\t6\n72114\t6\n72119\t6\n72129\t6\n72130\t6\n72136\t6\n72144\t6\n72146\t6\n72148\t6\n72149\t6\n72163\t6\n72164\t6\n72172\t6\n72177\t6\n72181\t6\n72185\t6\n72186\t6\n72187\t6\n72194\t6\n72196\t6\n72204\t6\n72213\t6\n72216\t6\n72219\t6\n72221\t6\n72236\t6\n72240\t6\n72256\t6\n72257\t6\n72266\t6\n72267\t6\n72268\t6\n72291\t6\n72303\t6\n72305\t6\n72312\t6\n72320\t6\n72322\t6\n72325\t6\n72327\t6\n72337\t6\n72346\t6\n72355\t6\n72356\t6\n72361\t6\n72364\t6\n72365\t6\n72372\t6\n72373\t6\n72380\t6\n72382\t6\n72383\t6\n72385\t6\n72393\t6\n72421\t6\n72426\t6\n72438\t6\n72441\t6\n72447\t6\n72452\t6\n72456\t6\n72460\t6\n72465\t6\n72468\t6\n72481\t6\n72484\t6\n72492\t6\n72517\t6\n72518\t6\n72519\t6\n72523\t6\n72524\t6\n72527\t6\n72540\t6\n72552\t6\n72555\t6\n72570\t6\n72571\t6\n72588\t6\n72592\t6\n72598\t6\n72599\t6\n72607\t6\n72609\t6\n72624\t6\n72625\t6\n72633\t6\n72639\t6\n72657\t6\n72663\t6\n72664\t6\n72672\t6\n72676\t6\n72685\t6\n72690\t6\n72694\t6\n72695\t6\n72700\t6\n72703\t6\n72707\t6\n72710\t6\n72713\t6\n72716\t6\n72720\t6\n72721\t6\n72723\t6\n72735\t6\n72745\t6\n72754\t6\n72777\t6\n72783\t6\n72786\t6\n72791\t6\n72800\t6\n72802\t6\n72829\t6\n72830\t6\n72833\t6\n72844\t6\n72850\t6\n72858\t6\n72861\t6\n72868\t6\n72875\t6\n72880\t6\n72883\t6\n72897\t6\n72903\t6\n72912\t6\n72924\t6\n72934\t6\n72935\t6\n72950\t6\n72959\t6\n72968\t6\n72972\t6\n73002\t6\n73015\t6\n73030\t6\n73037\t6\n73048\t6\n73051\t6\n73054\t6\n73061\t6\n73068\t6\n73076\t6\n73078\t6\n73088\t6\n73094\t6\n73098\t6\n73108\t6\n73119\t6\n73120\t6\n73132\t6\n73138\t6\n73149\t6\n73154\t6\n73165\t6\n73166\t6\n73170\t6\n73176\t6\n73177\t6\n73179\t6\n73186\t6\n73187\t6\n73191\t6\n73199\t6\n73201\t6\n73205\t6\n73207\t6\n73209\t6\n73213\t6\n73217\t6\n73222\t6\n73225\t6\n73227\t6\n73237\t6\n73246\t6\n73248\t6\n73256\t6\n73273\t6\n73279\t6\n73323\t6\n73332\t6\n73337\t6\n73352\t6\n73369\t6\n73381\t6\n73384\t6\n73385\t6\n73389\t6\n73391\t6\n73394\t6\n73403\t6\n73407\t6\n73410\t6\n73413\t6\n73417\t6\n73423\t6\n73434\t6\n73444\t6\n73459\t6\n73465\t6\n73492\t6\n73503\t6\n73517\t6\n73519\t6\n73523\t6\n73531\t6\n73532\t6\n73534\t6\n73552\t6\n73554\t6\n73562\t6\n73564\t6\n73568\t6\n73580\t6\n73582\t6\n73585\t6\n73589\t6\n73592\t6\n73595\t6\n73600\t6\n73604\t6\n73615\t6\n73618\t6\n73626\t6\n73636\t6\n73640\t6\n73641\t6\n73645\t6\n73654\t6\n73657\t6\n73664\t6\n73668\t6\n73674\t6\n73675\t6\n73676\t6\n73680\t6\n73682\t6\n73695\t6\n73699\t6\n73704\t6\n73706\t6\n73713\t6\n73714\t6\n73716\t6\n73722\t6\n73723\t6\n73729\t6\n73732\t6\n73735\t6\n73741\t6\n73753\t6\n73767\t6\n73774\t6\n73776\t6\n73786\t6\n73794\t6\n73800\t6\n73812\t6\n73815\t6\n73822\t6\n73823\t6\n73828\t6\n73831\t6\n73836\t6\n73841\t6\n73844\t6\n73845\t6\n73853\t6\n73862\t6\n73869\t6\n73870\t6\n73872\t6\n73875\t6\n73879\t6\n73884\t6\n73885\t6\n73887\t6\n73891\t6\n73896\t6\n73897\t6\n73898\t6\n73903\t6\n73911\t6\n73918\t6\n73920\t6\n73924\t6\n73927\t6\n73933\t6\n73943\t6\n73957\t6\n73958\t6\n73959\t6\n73961\t6\n73966\t6\n73968\t6\n73970\t6\n73973\t6\n73976\t6\n73980\t6\n73982\t6\n73983\t6\n73987\t6\n73988\t6\n73990\t6\n73997\t6\n74002\t6\n74014\t6\n74021\t6\n74038\t6\n74039\t6\n74044\t6\n74051\t6\n74058\t6\n74062\t6\n74071\t6\n74076\t6\n74086\t6\n74087\t6\n74100\t6\n74103\t6\n74106\t6\n74118\t6\n74119\t6\n74127\t6\n74136\t6\n74144\t6\n74148\t6\n74149\t6\n74159\t6\n74180\t6\n74185\t6\n74186\t6\n74195\t6\n74213\t6\n74222\t6\n74224\t6\n74233\t6\n74240\t6\n74252\t6\n74253\t6\n74258\t6\n74276\t6\n74279\t6\n74289\t6\n74292\t6\n74293\t6\n74296\t6\n74298\t6\n74304\t6\n74305\t6\n74312\t6\n74323\t6\n74329\t6\n74332\t6\n74334\t6\n74342\t6\n74343\t6\n74349\t6\n74356\t6\n74358\t6\n74370\t6\n74376\t6\n74377\t6\n74378\t6\n74379\t6\n74383\t6\n74384\t6\n74387\t6\n74397\t6\n74409\t6\n74413\t6\n74416\t6\n74432\t6\n74434\t6\n74436\t6\n74441\t6\n74444\t6\n74461\t6\n74462\t6\n74463\t6\n74469\t6\n74476\t6\n74478\t6\n74480\t6\n74491\t6\n74492\t6\n74495\t6\n74504\t6\n74520\t6\n74537\t6\n74544\t6\n74547\t6\n74549\t6\n74558\t6\n74564\t6\n74568\t6\n74570\t6\n74584\t6\n74590\t6\n74596\t6\n74604\t6\n74607\t6\n74608\t6\n74620\t6\n74628\t6\n74630\t6\n74635\t6\n74636\t6\n74639\t6\n74641\t6\n74643\t6\n74645\t6\n74655\t6\n74656\t6\n74660\t6\n74664\t6\n74665\t6\n74679\t6\n74688\t6\n74689\t6\n74692\t6\n74702\t6\n74709\t6\n74710\t6\n74731\t6\n74732\t6\n74753\t6\n74755\t6\n74763\t6\n74776\t6\n74790\t6\n74791\t6\n74799\t6\n74818\t6\n74831\t6\n74833\t6\n74834\t6\n74841\t6\n74842\t6\n74845\t6\n74849\t6\n74862\t6\n74868\t6\n74870\t6\n74874\t6\n74876\t6\n74878\t6\n74882\t6\n74886\t6\n74905\t6\n74910\t6\n74935\t6\n74936\t6\n74943\t6\n74951\t6\n74952\t6\n74953\t6\n74960\t6\n74962\t6\n74966\t6\n74968\t6\n74973\t6\n74977\t6\n74994\t6\n75007\t6\n75020\t6\n75026\t6\n75029\t6\n75031\t6\n75036\t6\n75038\t6\n75041\t6\n75047\t6\n75050\t6\n75052\t6\n75056\t6\n75059\t6\n75063\t6\n75067\t6\n75069\t6\n75071\t6\n75074\t6\n75081\t6\n75088\t6\n75094\t6\n75109\t6\n75110\t6\n75115\t6\n75118\t6\n75120\t6\n75123\t6\n75124\t6\n75128\t6\n75131\t6\n75146\t6\n75148\t6\n75152\t6\n75153\t6\n75183\t6\n75186\t6\n75202\t6\n75203\t6\n75208\t6\n75214\t6\n75216\t6\n75219\t6\n75221\t6\n75224\t6\n75226\t6\n75229\t6\n75231\t6\n75242\t6\n75247\t6\n75255\t6\n75258\t6\n75266\t6\n75295\t6\n75298\t6\n75300\t6\n75311\t6\n75318\t6\n75322\t6\n75323\t6\n75336\t6\n75337\t6\n75353\t6\n75355\t6\n75357\t6\n75364\t6\n75365\t6\n75367\t6\n75370\t6\n75378\t6\n75390\t6\n75397\t6\n75399\t6\n75400\t6\n75402\t6\n75403\t6\n75412\t6\n75414\t6\n75421\t6\n75435\t6\n75446\t6\n75455\t6\n75460\t6\n75465\t6\n75478\t6\n75492\t6\n75497\t6\n75506\t6\n75512\t6\n75519\t6\n75531\t6\n75533\t6\n75536\t6\n75537\t6\n75543\t6\n75549\t6\n75560\t6\n75562\t6\n75563\t6\n75564\t6\n75572\t6\n75581\t6\n75594\t6\n75596\t6\n75600\t6\n75603\t6\n75604\t6\n75605\t6\n75614\t6\n75639\t6\n75643\t6\n75644\t6\n75645\t6\n75647\t6\n75655\t6\n75657\t6\n75658\t6\n75660\t6\n75661\t6\n75662\t6\n75668\t6\n75670\t6\n75676\t6\n75677\t6\n75681\t6\n75682\t6\n75688\t6\n75704\t6\n75706\t6\n75707\t6\n75709\t6\n75716\t6\n75718\t6\n75723\t6\n75725\t6\n75737\t6\n75762\t6\n75763\t6\n75769\t6\n75789\t6\n75792\t6\n75796\t6\n75798\t6\n75824\t6\n75825\t6\n75831\t6\n75836\t6\n75853\t6\n75863\t6\n75864\t6\n75866\t6\n75875\t6\n75876\t6\n75882\t6\n75886\t6\n75888\t6\n75892\t6\n75893\t6\n75896\t6\n75897\t6\n75914\t6\n75930\t6\n75933\t6\n75936\t6\n75949\t6\n75957\t6\n75958\t6\n75965\t6\n75970\t6\n75983\t6\n75987\t6\n75989\t6\n75990\t6\n76005\t6\n76008\t6\n76009\t6\n76012\t6\n76017\t6\n76019\t6\n76046\t6\n76047\t6\n76054\t6\n76067\t6\n76076\t6\n76081\t6\n76089\t6\n76093\t6\n76099\t6\n76100\t6\n76101\t6\n76107\t6\n76109\t6\n76133\t6\n76137\t6\n76148\t6\n76150\t6\n76161\t6\n76163\t6\n76165\t6\n76170\t6\n76172\t6\n76174\t6\n76176\t6\n76201\t6\n76204\t6\n76217\t6\n76222\t6\n76232\t6\n76237\t6\n76243\t6\n76253\t6\n76266\t6\n76267\t6\n76273\t6\n76276\t6\n76277\t6\n76278\t6\n76279\t6\n76285\t6\n76291\t6\n76293\t6\n76300\t6\n76302\t6\n76304\t6\n76312\t6\n76316\t6\n76318\t6\n76322\t6\n76326\t6\n76330\t6\n76333\t6\n76336\t6\n76339\t6\n76340\t6\n76346\t6\n76352\t6\n76354\t6\n76359\t6\n76365\t6\n76372\t6\n76377\t6\n76391\t6\n76394\t6\n76402\t6\n76404\t6\n76408\t6\n76409\t6\n76410\t6\n76417\t6\n76418\t6\n76424\t6\n76431\t6\n76440\t6\n76448\t6\n76455\t6\n76457\t6\n76462\t6\n76468\t6\n76469\t6\n76498\t6\n76500\t6\n76508\t6\n76509\t6\n76513\t6\n76524\t6\n76529\t6\n76534\t6\n76535\t6\n76543\t6\n76550\t6\n76555\t6\n76571\t6\n76574\t6\n76585\t6\n76593\t6\n76598\t6\n76601\t6\n76609\t6\n76610\t6\n76621\t6\n76628\t6\n76634\t6\n76639\t6\n76651\t6\n76666\t6\n76673\t6\n76674\t6\n76676\t6\n76685\t6\n76694\t6\n76695\t6\n76698\t6\n76704\t6\n76708\t6\n76711\t6\n76715\t6\n76724\t6\n76730\t6\n76738\t6\n76739\t6\n76740\t6\n76741\t6\n76745\t6\n76748\t6\n76768\t6\n76776\t6\n76781\t6\n76784\t6\n76789\t6\n76790\t6\n76791\t6\n76794\t6\n76796\t6\n76804\t6\n76823\t6\n76827\t6\n76831\t6\n76834\t6\n76839\t6\n76843\t6\n76852\t6\n76869\t6\n76875\t6\n76877\t6\n76879\t6\n76883\t6\n76885\t6\n76886\t6\n76887\t6\n76891\t6\n76913\t6\n76923\t6\n76925\t6\n76936\t6\n76941\t6\n76943\t6\n76956\t6\n76962\t6\n76971\t6\n76975\t6\n76982\t6\n76996\t6\n76997\t6\n77002\t6\n77011\t6\n77015\t6\n77019\t6\n77022\t6\n77025\t6\n77031\t6\n77034\t6\n77036\t6\n77039\t6\n77043\t6\n77060\t6\n77073\t6\n77082\t6\n77087\t6\n77091\t6\n77095\t6\n77104\t6\n77127\t6\n77130\t6\n77134\t6\n77136\t6\n77140\t6\n77146\t6\n77152\t6\n77158\t6\n77173\t6\n77179\t6\n77181\t6\n77186\t6\n77189\t6\n77193\t6\n77197\t6\n77198\t6\n77207\t6\n77210\t6\n77225\t6\n77228\t6\n77231\t6\n77239\t6\n77242\t6\n77248\t6\n77250\t6\n77258\t6\n77271\t6\n77278\t6\n77282\t6\n77285\t6\n77286\t6\n77290\t6\n77297\t6\n77300\t6\n77302\t6\n77304\t6\n77319\t6\n77333\t6\n77343\t6\n77348\t6\n77349\t6\n77350\t6\n77354\t6\n77357\t6\n77359\t6\n77363\t6\n77369\t6\n77372\t6\n77375\t6\n77376\t6\n77381\t6\n77388\t6\n77389\t6\n77392\t6\n77396\t6\n77398\t6\n77404\t6\n77406\t6\n77416\t6\n77418\t6\n77451\t6\n77467\t6\n77475\t6\n77478\t6\n77495\t6\n77497\t6\n77500\t6\n77503\t6\n77510\t6\n77518\t6\n77523\t6\n77528\t6\n77535\t6\n77536\t6\n77540\t6\n77568\t6\n77572\t6\n77573\t6\n77574\t6\n77577\t6\n77583\t6\n77617\t6\n77624\t6\n77632\t6\n77634\t6\n77639\t6\n77643\t6\n77651\t6\n77652\t6\n77662\t6\n77674\t6\n77678\t6\n77681\t6\n77682\t6\n77684\t6\n77687\t6\n77688\t6\n77691\t6\n77695\t6\n77702\t6\n77709\t6\n77712\t6\n77714\t6\n77721\t6\n77728\t6\n77743\t6\n77751\t6\n77763\t6\n77768\t6\n77774\t6\n77775\t6\n77782\t6\n77792\t6\n77801\t6\n77809\t6\n77810\t6\n77813\t6\n77816\t6\n77822\t6\n77833\t6\n77839\t6\n77844\t6\n77845\t6\n77872\t6\n77884\t6\n77888\t6\n77889\t6\n77890\t6\n77895\t6\n77896\t6\n77898\t6\n77906\t6\n77913\t6\n77914\t6\n77917\t6\n77919\t6\n77927\t6\n77929\t6\n77930\t6\n77940\t6\n77945\t6\n77954\t6\n77956\t6\n77962\t6\n77970\t6\n77975\t6\n77977\t6\n77981\t6\n77989\t6\n78009\t6\n78014\t6\n78022\t6\n78032\t6\n78035\t6\n78038\t6\n78043\t6\n78045\t6\n78046\t6\n78051\t6\n78065\t6\n78066\t6\n78073\t6\n78085\t6\n78090\t6\n78091\t6\n78092\t6\n78097\t6\n78098\t6\n78101\t6\n78102\t6\n78110\t6\n78111\t6\n78123\t6\n78124\t6\n78129\t6\n78134\t6\n78140\t6\n78142\t6\n78157\t6\n78159\t6\n78162\t6\n78167\t6\n78168\t6\n78169\t6\n78170\t6\n78175\t6\n78182\t6\n78184\t6\n78186\t6\n78196\t6\n78200\t6\n78201\t6\n78205\t6\n78224\t6\n78225\t6\n78226\t6\n78237\t6\n78265\t6\n78268\t6\n78279\t6\n78287\t6\n78289\t6\n78296\t6\n78309\t6\n78310\t6\n78320\t6\n78330\t6\n78332\t6\n78335\t6\n78342\t6\n78344\t6\n78353\t6\n78354\t6\n78367\t6\n78383\t6\n78385\t6\n78392\t6\n78398\t6\n78406\t6\n78408\t6\n78418\t6\n78420\t6\n78426\t6\n78428\t6\n78437\t6\n78438\t6\n78441\t6\n78447\t6\n78450\t6\n78457\t6\n78462\t6\n78468\t6\n78473\t6\n78480\t6\n78482\t6\n78490\t6\n78501\t6\n78504\t6\n78505\t6\n78509\t6\n78510\t6\n78511\t6\n78526\t6\n78535\t6\n78544\t6\n78545\t6\n78546\t6\n78550\t6\n78559\t6\n78560\t6\n78566\t6\n78567\t6\n78570\t6\n78571\t6\n78586\t6\n78587\t6\n78595\t6\n78602\t6\n78605\t6\n78609\t6\n78615\t6\n78629\t6\n78646\t6\n78647\t6\n78650\t6\n78651\t6\n78656\t6\n78657\t6\n78658\t6\n78667\t6\n78668\t6\n78671\t6\n78688\t6\n78710\t6\n78714\t6\n78717\t6\n78721\t6\n78727\t6\n78738\t6\n78739\t6\n78742\t6\n78749\t6\n78753\t6\n78763\t6\n78767\t6\n78775\t6\n78782\t6\n78797\t6\n78804\t6\n78812\t6\n78818\t6\n78820\t6\n78822\t6\n78825\t6\n78833\t6\n78835\t6\n78840\t6\n78847\t6\n78856\t6\n78860\t6\n78868\t6\n78870\t6\n78878\t6\n78884\t6\n78886\t6\n78895\t6\n78916\t6\n78921\t6\n78923\t6\n78925\t6\n78926\t6\n78951\t6\n78953\t6\n78956\t6\n78971\t6\n78973\t6\n78979\t6\n78991\t6\n78994\t6\n79002\t6\n79006\t6\n79010\t6\n79027\t6\n79045\t6\n79047\t6\n79049\t6\n79050\t6\n79052\t6\n79053\t6\n79057\t6\n79062\t6\n79063\t6\n79069\t6\n79075\t6\n79086\t6\n79089\t6\n79101\t6\n79114\t6\n79127\t6\n79131\t6\n79139\t6\n79156\t6\n79158\t6\n79161\t6\n79215\t6\n79217\t6\n79220\t6\n79223\t6\n79224\t6\n79225\t6\n79226\t6\n79234\t6\n79253\t6\n79256\t6\n79267\t6\n79280\t6\n79282\t6\n79286\t6\n79292\t6\n79297\t6\n79299\t6\n79306\t6\n79312\t6\n79314\t6\n79326\t6\n79331\t6\n79340\t6\n79345\t6\n79349\t6\n79352\t6\n79355\t6\n79360\t6\n79361\t6\n79363\t6\n79375\t6\n79395\t6\n79397\t6\n79409\t6\n79418\t6\n79419\t6\n79433\t6\n79450\t6\n79454\t6\n79471\t6\n79501\t6\n79512\t6\n79517\t6\n79518\t6\n79521\t6\n79551\t6\n79555\t6\n79562\t6\n79565\t6\n79566\t6\n79570\t6\n79571\t6\n79572\t6\n79584\t6\n79599\t6\n79603\t6\n79607\t6\n79611\t6\n79612\t6\n79617\t6\n79618\t6\n79619\t6\n79623\t6\n79625\t6\n79637\t6\n79639\t6\n79641\t6\n79647\t6\n79650\t6\n79656\t6\n79663\t6\n79674\t6\n79681\t6\n79686\t6\n79689\t6\n79693\t6\n79709\t6\n79714\t6\n79715\t6\n79718\t6\n79721\t6\n79725\t6\n79733\t6\n79749\t6\n79756\t6\n79757\t6\n79759\t6\n79771\t6\n79772\t6\n79775\t6\n79777\t6\n79781\t6\n79792\t6\n79793\t6\n79795\t6\n79804\t6\n79805\t6\n79806\t6\n79808\t6\n79810\t6\n79812\t6\n79825\t6\n79828\t6\n79836\t6\n79838\t6\n79857\t6\n79864\t6\n79867\t6\n79871\t6\n79874\t6\n79882\t6\n79883\t6\n79885\t6\n79888\t6\n79899\t6\n79900\t6\n79901\t6\n79903\t6\n79907\t6\n79915\t6\n79916\t6\n79925\t6\n79926\t6\n79928\t6\n79936\t6\n79937\t6\n79941\t6\n79964\t6\n79992\t6\n79994\t6\n79999\t6\n80003\t6\n80004\t6\n80007\t6\n80009\t6\n80013\t6\n80015\t6\n80017\t6\n80022\t6\n80024\t6\n80026\t6\n80027\t6\n80055\t6\n80057\t6\n80070\t6\n80079\t6\n80088\t6\n80090\t6\n80091\t6\n80096\t6\n80097\t6\n80100\t6\n80101\t6\n80111\t6\n80115\t6\n80128\t6\n80133\t6\n80136\t6\n80138\t6\n80140\t6\n80141\t6\n80158\t6\n80162\t6\n80163\t6\n80165\t6\n80166\t6\n80167\t6\n80169\t6\n80177\t6\n80195\t6\n80198\t6\n80201\t6\n80203\t6\n80214\t6\n80216\t6\n80220\t6\n80236\t6\n80240\t6\n80241\t6\n80242\t6\n80276\t6\n80278\t6\n80283\t6\n80287\t6\n80292\t6\n80297\t6\n80300\t6\n80308\t6\n80315\t6\n80316\t6\n80320\t6\n80323\t6\n80324\t6\n80326\t6\n80331\t6\n80344\t6\n80345\t6\n80348\t6\n80368\t6\n80373\t6\n80374\t6\n80390\t6\n80396\t6\n80397\t6\n80399\t6\n80400\t6\n80401\t6\n80415\t6\n80430\t6\n80435\t6\n80446\t6\n80459\t6\n80462\t6\n80463\t6\n80465\t6\n80466\t6\n80467\t6\n80473\t6\n80476\t6\n80477\t6\n80488\t6\n80490\t6\n80505\t6\n80514\t6\n80523\t6\n80525\t6\n80526\t6\n80533\t6\n80534\t6\n80535\t6\n80538\t6\n80546\t6\n80548\t6\n80549\t6\n80553\t6\n80561\t6\n80567\t6\n80569\t6\n80571\t6\n80577\t6\n80583\t6\n80591\t6\n80593\t6\n80597\t6\n80598\t6\n80613\t6\n80615\t6\n80618\t6\n80619\t6\n80622\t6\n80623\t6\n80638\t6\n80649\t6\n80660\t6\n80669\t6\n80670\t6\n80674\t6\n80675\t6\n80676\t6\n80712\t6\n80713\t6\n80726\t6\n80728\t6\n80729\t6\n80734\t6\n80738\t6\n80748\t6\n80757\t6\n80762\t6\n80763\t6\n80770\t6\n80778\t6\n80788\t6\n80791\t6\n80805\t6\n80822\t6\n80823\t6\n80824\t6\n80842\t6\n80845\t6\n80846\t6\n80847\t6\n80856\t6\n80858\t6\n80859\t6\n80864\t6\n80867\t6\n80877\t6\n80878\t6\n80881\t6\n80885\t6\n80888\t6\n80894\t6\n80897\t6\n80905\t6\n80912\t6\n80921\t6\n80922\t6\n80923\t6\n80926\t6\n80935\t6\n80938\t6\n80940\t6\n80942\t6\n80944\t6\n80948\t6\n80949\t6\n80959\t6\n80966\t6\n80979\t6\n80985\t6\n80988\t6\n80997\t6\n81007\t6\n81009\t6\n81017\t6\n81022\t6\n81028\t6\n81052\t6\n81055\t6\n81061\t6\n81062\t6\n81065\t6\n81070\t6\n81072\t6\n81075\t6\n81079\t6\n81084\t6\n81087\t6\n81107\t6\n81109\t6\n81121\t6\n81123\t6\n81142\t6\n81143\t6\n81145\t6\n81148\t6\n81160\t6\n81162\t6\n81174\t6\n81182\t6\n81184\t6\n81189\t6\n81197\t6\n81205\t6\n81210\t6\n81211\t6\n81212\t6\n81226\t6\n81229\t6\n81253\t6\n81260\t6\n81261\t6\n81267\t6\n81273\t6\n81278\t6\n81285\t6\n81292\t6\n81296\t6\n81302\t6\n81305\t6\n81306\t6\n81308\t6\n81314\t6\n81332\t6\n81340\t6\n81345\t6\n81350\t6\n81360\t6\n81363\t6\n81365\t6\n81380\t6\n81383\t6\n81395\t6\n81396\t6\n81397\t6\n81398\t6\n81402\t6\n81403\t6\n81409\t6\n81416\t6\n81422\t6\n81424\t6\n81426\t6\n81435\t6\n81436\t6\n81437\t6\n81440\t6\n81443\t6\n81446\t6\n81447\t6\n81448\t6\n81449\t6\n81451\t6\n81459\t6\n81460\t6\n81461\t6\n81475\t6\n81490\t6\n81491\t6\n81492\t6\n81493\t6\n81503\t6\n81508\t6\n81513\t6\n81518\t6\n81519\t6\n81527\t6\n81529\t6\n81535\t6\n81537\t6\n81538\t6\n81541\t6\n81543\t6\n81551\t6\n81554\t6\n81560\t6\n81564\t6\n81566\t6\n81570\t6\n81575\t6\n81580\t6\n81587\t6\n81594\t6\n81601\t6\n81602\t6\n81612\t6\n81619\t6\n81623\t6\n81624\t6\n81625\t6\n81637\t6\n81647\t6\n81653\t6\n81658\t6\n81662\t6\n81667\t6\n81682\t6\n81689\t6\n81691\t6\n81693\t6\n81694\t6\n81696\t6\n81697\t6\n81700\t6\n81703\t6\n81712\t6\n81718\t6\n81727\t6\n81730\t6\n81733\t6\n81741\t6\n81765\t6\n81766\t6\n81785\t6\n81787\t6\n81788\t6\n81790\t6\n81795\t6\n81817\t6\n81818\t6\n81819\t6\n81828\t6\n81833\t6\n81840\t6\n81845\t6\n81846\t6\n81847\t6\n81848\t6\n81856\t6\n81859\t6\n81860\t6\n81875\t6\n81878\t6\n81881\t6\n81884\t6\n81894\t6\n81895\t6\n81898\t6\n81905\t6\n81909\t6\n81933\t6\n81941\t6\n81944\t6\n81960\t6\n81962\t6\n81975\t6\n81977\t6\n81978\t6\n82007\t6\n82013\t6\n82014\t6\n82016\t6\n82017\t6\n82022\t6\n82024\t6\n82033\t6\n82041\t6\n82045\t6\n82054\t6\n82057\t6\n82058\t6\n82069\t6\n82072\t6\n82088\t6\n82095\t6\n82100\t6\n82105\t6\n82120\t6\n82122\t6\n82130\t6\n82131\t6\n82140\t6\n82148\t6\n82158\t6\n82159\t6\n82170\t6\n82171\t6\n82172\t6\n82173\t6\n82175\t6\n82181\t6\n82188\t6\n82192\t6\n82193\t6\n82195\t6\n82198\t6\n82201\t6\n82207\t6\n82211\t6\n82214\t6\n82219\t6\n82227\t6\n82241\t6\n82242\t6\n82243\t6\n82253\t6\n82258\t6\n82260\t6\n82263\t6\n82265\t6\n82269\t6\n82271\t6\n82280\t6\n82282\t6\n82289\t6\n82292\t6\n82300\t6\n82301\t6\n82302\t6\n82303\t6\n82304\t6\n82305\t6\n82310\t6\n82315\t6\n82332\t6\n82345\t6\n82349\t6\n82361\t6\n82368\t6\n82370\t6\n82383\t6\n82388\t6\n82395\t6\n82397\t6\n82406\t6\n82407\t6\n82411\t6\n82412\t6\n82420\t6\n82429\t6\n82433\t6\n82436\t6\n82442\t6\n82443\t6\n82452\t6\n82457\t6\n82460\t6\n82461\t6\n82464\t6\n82465\t6\n82466\t6\n82477\t6\n82478\t6\n82479\t6\n82480\t6\n82493\t6\n82500\t6\n82503\t6\n82507\t6\n82510\t6\n82513\t6\n82529\t6\n82536\t6\n82542\t6\n82561\t6\n82574\t6\n82583\t6\n82588\t6\n82597\t6\n82610\t6\n82614\t6\n82627\t6\n82635\t6\n82670\t6\n82676\t6\n82678\t6\n82684\t6\n82688\t6\n82698\t6\n82701\t6\n82709\t6\n82737\t6\n82751\t6\n82756\t6\n82761\t6\n82763\t6\n82767\t6\n82768\t6\n82769\t6\n82770\t6\n82783\t6\n82787\t6\n82795\t6\n82796\t6\n82806\t6\n82811\t6\n82815\t6\n82822\t6\n82824\t6\n82828\t6\n82834\t6\n82835\t6\n82837\t6\n82839\t6\n82840\t6\n82847\t6\n82856\t6\n82862\t6\n82867\t6\n82883\t6\n82884\t6\n82885\t6\n82889\t6\n82893\t6\n82901\t6\n82902\t6\n82903\t6\n82920\t6\n82930\t6\n82943\t6\n82955\t6\n82958\t6\n82961\t6\n82962\t6\n82968\t6\n82978\t6\n82993\t6\n82995\t6\n83002\t6\n83003\t6\n83005\t6\n83010\t6\n83011\t6\n83021\t6\n83023\t6\n83030\t6\n83043\t6\n83057\t6\n83074\t6\n83086\t6\n83087\t6\n83090\t6\n83101\t6\n83102\t6\n83107\t6\n83130\t6\n83139\t6\n83140\t6\n83141\t6\n83142\t6\n83156\t6\n83161\t6\n83167\t6\n83169\t6\n83170\t6\n83180\t6\n83192\t6\n83198\t6\n83220\t6\n83222\t6\n83224\t6\n83225\t6\n83230\t6\n83245\t6\n83246\t6\n83248\t6\n83259\t6\n83263\t6\n83272\t6\n83288\t6\n83290\t6\n83293\t6\n83306\t6\n83312\t6\n83319\t6\n83325\t6\n83327\t6\n83338\t6\n83341\t6\n83350\t6\n83356\t6\n83359\t6\n83361\t6\n83362\t6\n83364\t6\n83366\t6\n83385\t6\n83387\t6\n83396\t6\n83403\t6\n83404\t6\n83405\t6\n83406\t6\n83410\t6\n83412\t6\n83414\t6\n83428\t6\n83433\t6\n83436\t6\n83439\t6\n83442\t6\n83451\t6\n83452\t6\n83464\t6\n83468\t6\n83473\t6\n83477\t6\n83486\t6\n83487\t6\n83493\t6\n83500\t6\n83505\t6\n83506\t6\n83507\t6\n83508\t6\n83511\t6\n83515\t6\n83516\t6\n83524\t6\n83529\t6\n83536\t6\n83546\t6\n83552\t6\n83561\t6\n83563\t6\n83565\t6\n83568\t6\n83570\t6\n83574\t6\n83583\t6\n83586\t6\n83588\t6\n83590\t6\n83591\t6\n83595\t6\n83600\t6\n83608\t6\n83612\t6\n83620\t6\n83624\t6\n83625\t6\n83629\t6\n83646\t6\n83649\t6\n83650\t6\n83658\t6\n83662\t6\n83665\t6\n83671\t6\n83674\t6\n83679\t6\n83692\t6\n83697\t6\n83719\t6\n83722\t6\n83731\t6\n83736\t6\n83739\t6\n83741\t6\n83742\t6\n83744\t6\n83745\t6\n83746\t6\n83747\t6\n83750\t6\n83757\t6\n83762\t6\n83763\t6\n83771\t6\n83774\t6\n83783\t6\n83785\t6\n83791\t6\n83796\t6\n83798\t6\n83806\t6\n83813\t6\n83823\t6\n83829\t6\n83842\t6\n83843\t6\n83849\t6\n83851\t6\n83855\t6\n83858\t6\n83863\t6\n83865\t6\n83866\t6\n83875\t6\n83899\t6\n83904\t6\n83914\t6\n83915\t6\n83916\t6\n83919\t6\n83921\t6\n83923\t6\n83924\t6\n83929\t6\n83940\t6\n83942\t6\n83949\t6\n83957\t6\n83981\t6\n83985\t6\n83989\t6\n83991\t6\n83992\t6\n83995\t6\n84009\t6\n84010\t6\n84014\t6\n84016\t6\n84017\t6\n84024\t6\n84026\t6\n84028\t6\n84033\t6\n84036\t6\n84052\t6\n84058\t6\n84066\t6\n84072\t6\n84074\t6\n84075\t6\n84077\t6\n84080\t6\n84091\t6\n84095\t6\n84100\t6\n84104\t6\n84109\t6\n84114\t6\n84116\t6\n84122\t6\n84130\t6\n84132\t6\n84133\t6\n84134\t6\n84135\t6\n84143\t6\n84145\t6\n84155\t6\n84172\t6\n84173\t6\n84174\t6\n84179\t6\n84180\t6\n84188\t6\n84190\t6\n84193\t6\n84196\t6\n84211\t6\n84212\t6\n84213\t6\n84215\t6\n84220\t6\n84227\t6\n84234\t6\n84235\t6\n84236\t6\n84239\t6\n84240\t6\n84244\t6\n84255\t6\n84259\t6\n84277\t6\n84278\t6\n84280\t6\n84281\t6\n84282\t6\n84283\t6\n84284\t6\n84286\t6\n84290\t6\n84303\t6\n84305\t6\n84311\t6\n84312\t6\n84313\t6\n84320\t6\n84324\t6\n84326\t6\n84341\t6\n84344\t6\n84356\t6\n84358\t6\n84365\t6\n84369\t6\n84370\t6\n84378\t6\n84382\t6\n84386\t6\n84401\t6\n84418\t6\n84420\t6\n84421\t6\n84425\t6\n84429\t6\n84443\t6\n84444\t6\n84455\t6\n84460\t6\n84471\t6\n84472\t6\n84474\t6\n84478\t6\n84481\t6\n84490\t6\n84499\t6\n84504\t6\n84513\t6\n84515\t6\n84516\t6\n84519\t6\n84520\t6\n84521\t6\n84523\t6\n84526\t6\n84528\t6\n84538\t6\n84539\t6\n84540\t6\n84544\t6\n84554\t6\n84559\t6\n84578\t6\n84601\t6\n84606\t6\n84607\t6\n84611\t6\n84621\t6\n84622\t6\n84630\t6\n84632\t6\n84638\t6\n84646\t6\n84649\t6\n84657\t6\n84661\t6\n84664\t6\n84670\t6\n84673\t6\n84677\t6\n84685\t6\n84689\t6\n84695\t6\n84698\t6\n84699\t6\n84700\t6\n84701\t6\n84711\t6\n84712\t6\n84720\t6\n84724\t6\n84728\t6\n84736\t6\n84738\t6\n84748\t6\n84759\t6\n84762\t6\n84766\t6\n84772\t6\n84773\t6\n84778\t6\n84781\t6\n84783\t6\n84786\t6\n84792\t6\n84800\t6\n84805\t6\n84832\t6\n84835\t6\n84843\t6\n84845\t6\n84861\t6\n84886\t6\n84888\t6\n84890\t6\n84894\t6\n84898\t6\n84905\t6\n84925\t6\n84928\t6\n84929\t6\n84930\t6\n84932\t6\n84937\t6\n84942\t6\n84943\t6\n84964\t6\n84970\t6\n84975\t6\n84979\t6\n84982\t6\n84988\t6\n84989\t6\n84995\t6\n84997\t6\n84999\t6\n85001\t6\n85006\t6\n85010\t6\n85011\t6\n85013\t6\n85019\t6\n85020\t6\n85022\t6\n85024\t6\n85032\t6\n85037\t6\n85043\t6\n85047\t6\n85050\t6\n85068\t6\n85074\t6\n85084\t6\n85085\t6\n85090\t6\n85094\t6\n85095\t6\n85102\t6\n85106\t6\n85107\t6\n85108\t6\n85125\t6\n85127\t6\n85137\t6\n85139\t6\n85143\t6\n85150\t6\n85156\t6\n85160\t6\n85164\t6\n85181\t6\n85185\t6\n85206\t6\n85208\t6\n85209\t6\n85218\t6\n85222\t6\n85225\t6\n85237\t6\n85238\t6\n85244\t6\n85245\t6\n85250\t6\n85258\t6\n85259\t6\n85263\t6\n85267\t6\n85274\t6\n85286\t6\n85291\t6\n85294\t6\n85300\t6\n85304\t6\n85310\t6\n85313\t6\n85315\t6\n85325\t6\n85327\t6\n85338\t6\n85341\t6\n85358\t6\n85373\t6\n85391\t6\n85394\t6\n85398\t6\n85404\t6\n85429\t6\n85431\t6\n85433\t6\n85435\t6\n85440\t6\n85441\t6\n85443\t6\n85445\t6\n85450\t6\n85452\t6\n85453\t6\n85460\t6\n85475\t6\n85476\t6\n85487\t6\n85489\t6\n85493\t6\n85498\t6\n85508\t6\n85514\t6\n85517\t6\n85519\t6\n85525\t6\n85534\t6\n85564\t6\n85566\t6\n85567\t6\n85568\t6\n85574\t6\n85577\t6\n85579\t6\n85580\t6\n85581\t6\n85586\t6\n85592\t6\n85594\t6\n85595\t6\n85596\t6\n85601\t6\n85612\t6\n85618\t6\n85619\t6\n85623\t6\n85643\t6\n85644\t6\n85645\t6\n85658\t6\n85670\t6\n85671\t6\n85676\t6\n85678\t6\n85679\t6\n85683\t6\n85686\t6\n85693\t6\n85702\t6\n85705\t6\n85707\t6\n85714\t6\n85716\t6\n85722\t6\n85726\t6\n85731\t6\n85747\t6\n85748\t6\n85749\t6\n85750\t6\n85755\t6\n85759\t6\n85760\t6\n85767\t6\n85769\t6\n85771\t6\n85784\t6\n85786\t6\n85796\t6\n85805\t6\n85807\t6\n85810\t6\n85823\t6\n85828\t6\n85829\t6\n85830\t6\n85837\t6\n85840\t6\n85847\t6\n85852\t6\n85863\t6\n85864\t6\n85866\t6\n85874\t6\n85875\t6\n85882\t6\n85883\t6\n85892\t6\n85902\t6\n85909\t6\n85911\t6\n85913\t6\n85921\t6\n85934\t6\n85935\t6\n85937\t6\n85941\t6\n85945\t6\n85946\t6\n85947\t6\n85951\t6\n85954\t6\n85983\t6\n85987\t6\n85993\t6\n85994\t6\n85995\t6\n85997\t6\n86000\t6\n86009\t6\n86010\t6\n86012\t6\n86020\t6\n86024\t6\n86027\t6\n86034\t6\n86046\t6\n86050\t6\n86065\t6\n86066\t6\n86074\t6\n86075\t6\n86085\t6\n86098\t6\n86100\t6\n86108\t6\n86132\t6\n86136\t6\n86138\t6\n86141\t6\n86163\t6\n86166\t6\n86170\t6\n86176\t6\n86178\t6\n86190\t6\n86199\t6\n86200\t6\n86205\t6\n86208\t6\n86217\t6\n86220\t6\n86244\t6\n86247\t6\n86253\t6\n86258\t6\n86268\t6\n86275\t6\n86283\t6\n86286\t6\n86287\t6\n86296\t6\n86297\t6\n86298\t6\n86305\t6\n86319\t6\n86350\t6\n86366\t6\n86367\t6\n86372\t6\n86378\t6\n86379\t6\n86403\t6\n86410\t6\n86415\t6\n86416\t6\n86425\t6\n86432\t6\n86435\t6\n86469\t6\n86482\t6\n86483\t6\n86484\t6\n86488\t6\n86490\t6\n86491\t6\n86502\t6\n86504\t6\n86511\t6\n86519\t6\n86521\t6\n86538\t6\n86546\t6\n86554\t6\n86556\t6\n86560\t6\n86565\t6\n86566\t6\n86571\t6\n86574\t6\n86575\t6\n86576\t6\n86577\t6\n86583\t6\n86585\t6\n86587\t6\n86589\t6\n86592\t6\n86593\t6\n86594\t6\n86596\t6\n86598\t6\n86602\t6\n86623\t6\n86627\t6\n86643\t6\n86649\t6\n86652\t6\n86654\t6\n86655\t6\n86660\t6\n86681\t6\n86685\t6\n86689\t6\n86698\t6\n86704\t6\n86722\t6\n86727\t6\n86729\t6\n86732\t6\n86746\t6\n86747\t6\n86750\t6\n86755\t6\n86756\t6\n86759\t6\n86764\t6\n86766\t6\n86771\t6\n86772\t6\n86782\t6\n86786\t6\n86792\t6\n86796\t6\n86809\t6\n86817\t6\n86821\t6\n86823\t6\n86827\t6\n86842\t6\n86845\t6\n86848\t6\n86856\t6\n86860\t6\n86861\t6\n86863\t6\n86864\t6\n86876\t6\n86895\t6\n86896\t6\n86901\t6\n86903\t6\n86920\t6\n86931\t6\n86934\t6\n86937\t6\n86951\t6\n86953\t6\n86957\t6\n86962\t6\n86968\t6\n86969\t6\n86971\t6\n86973\t6\n86974\t6\n86984\t6\n86988\t6\n86994\t6\n86997\t6\n86998\t6\n86999\t6\n87002\t6\n87019\t6\n87024\t6\n87027\t6\n87037\t6\n87039\t6\n87049\t6\n87056\t6\n87076\t6\n87077\t6\n87091\t6\n87096\t6\n87101\t6\n87108\t6\n87123\t6\n87130\t6\n87131\t6\n87133\t6\n87135\t6\n87141\t6\n87151\t6\n87167\t6\n87168\t6\n87170\t6\n87177\t6\n87178\t6\n87183\t6\n87185\t6\n87190\t6\n87192\t6\n87196\t6\n87199\t6\n87201\t6\n87209\t6\n87219\t6\n87224\t6\n87229\t6\n87232\t6\n87239\t6\n87240\t6\n87243\t6\n87244\t6\n87248\t6\n87253\t6\n87259\t6\n87282\t6\n87287\t6\n87290\t6\n87294\t6\n87301\t6\n87304\t6\n87306\t6\n87309\t6\n87316\t6\n87317\t6\n87323\t6\n87334\t6\n87340\t6\n87350\t6\n87352\t6\n87353\t6\n87355\t6\n87357\t6\n87358\t6\n87377\t6\n87382\t6\n87384\t6\n87386\t6\n87388\t6\n87392\t6\n87397\t6\n87418\t6\n87422\t6\n87429\t6\n87438\t6\n87440\t6\n87443\t6\n87456\t6\n87473\t6\n87474\t6\n87475\t6\n87478\t6\n87480\t6\n87482\t6\n87484\t6\n87492\t6\n87498\t6\n87502\t6\n87511\t6\n87519\t6\n87525\t6\n87536\t6\n87538\t6\n87540\t6\n87543\t6\n87548\t6\n87549\t6\n87550\t6\n87553\t6\n87555\t6\n87562\t6\n87563\t6\n87565\t6\n87572\t6\n87573\t6\n87574\t6\n87575\t6\n87579\t6\n87587\t6\n87591\t6\n87599\t6\n87608\t6\n87614\t6\n87617\t6\n87618\t6\n87624\t6\n87629\t6\n87631\t6\n87635\t6\n87638\t6\n87639\t6\n87654\t6\n87655\t6\n87658\t6\n87660\t6\n87667\t6\n87670\t6\n87683\t6\n87685\t6\n87688\t6\n87690\t6\n87691\t6\n87692\t6\n87694\t6\n87695\t6\n87696\t6\n87702\t6\n87722\t6\n87733\t6\n87736\t6\n87737\t6\n87746\t6\n87754\t6\n87762\t6\n87768\t6\n87774\t6\n87777\t6\n87780\t6\n87795\t6\n87804\t6\n87805\t6\n87816\t6\n87826\t6\n87830\t6\n87831\t6\n87834\t6\n87837\t6\n87841\t6\n87845\t6\n87850\t6\n87854\t6\n87858\t6\n87864\t6\n87872\t6\n87877\t6\n87891\t6\n87899\t6\n87916\t6\n87933\t6\n87939\t6\n87952\t6\n87957\t6\n87958\t6\n87963\t6\n87966\t6\n87975\t6\n87995\t6\n87998\t6\n88024\t6\n88025\t6\n88035\t6\n88037\t6\n88053\t6\n88055\t6\n88060\t6\n88063\t6\n88080\t6\n88085\t6\n88116\t6\n88123\t6\n88127\t6\n88131\t6\n88147\t6\n88148\t6\n88151\t6\n88152\t6\n88159\t6\n88163\t6\n88166\t6\n88174\t6\n88181\t6\n88183\t6\n88185\t6\n88187\t6\n88199\t6\n88201\t6\n88204\t6\n88229\t6\n88234\t6\n88240\t6\n88241\t6\n88246\t6\n88251\t6\n88257\t6\n88265\t6\n88268\t6\n88269\t6\n88282\t6\n88291\t6\n88292\t6\n88300\t6\n88303\t6\n88304\t6\n88306\t6\n88307\t6\n88317\t6\n88323\t6\n88339\t6\n88341\t6\n88344\t6\n88350\t6\n88356\t6\n88361\t6\n88365\t6\n88366\t6\n88371\t6\n88375\t6\n88377\t6\n88385\t6\n88386\t6\n88387\t6\n88389\t6\n88390\t6\n88395\t6\n88397\t6\n88400\t6\n88403\t6\n88404\t6\n88405\t6\n88408\t6\n88410\t6\n88412\t6\n88416\t6\n88417\t6\n88420\t6\n88425\t6\n88427\t6\n88441\t6\n88450\t6\n88453\t6\n88467\t6\n88474\t6\n88476\t6\n88486\t6\n88487\t6\n88489\t6\n88490\t6\n88491\t6\n88492\t6\n88493\t6\n88497\t6\n88501\t6\n88513\t6\n88515\t6\n88552\t6\n88569\t6\n88588\t6\n88597\t6\n88602\t6\n88607\t6\n88611\t6\n88613\t6\n88617\t6\n88643\t6\n88644\t6\n88648\t6\n88651\t6\n88659\t6\n88667\t6\n88669\t6\n88670\t6\n88672\t6\n88674\t6\n88687\t6\n88690\t6\n88699\t6\n88703\t6\n88707\t6\n88710\t6\n88718\t6\n88735\t6\n88752\t6\n88754\t6\n88763\t6\n88777\t6\n88781\t6\n88791\t6\n88811\t6\n88813\t6\n88815\t6\n88819\t6\n88828\t6\n88832\t6\n88848\t6\n88853\t6\n88855\t6\n88868\t6\n88877\t6\n88879\t6\n88881\t6\n88892\t6\n88901\t6\n88912\t6\n88918\t6\n88924\t6\n88934\t6\n88937\t6\n88938\t6\n88941\t6\n88947\t6\n88970\t6\n88971\t6\n88977\t6\n88978\t6\n88988\t6\n88989\t6\n88991\t6\n89007\t6\n89012\t6\n89024\t6\n89027\t6\n89035\t6\n89039\t6\n89050\t6\n89053\t6\n89056\t6\n89061\t6\n89066\t6\n89070\t6\n89072\t6\n89080\t6\n89081\t6\n89084\t6\n89085\t6\n89092\t6\n89095\t6\n89098\t6\n89100\t6\n89105\t6\n89107\t6\n89113\t6\n89115\t6\n89126\t6\n89129\t6\n89131\t6\n89133\t6\n89143\t6\n89146\t6\n89172\t6\n89178\t6\n89179\t6\n89190\t6\n89195\t6\n89198\t6\n89200\t6\n89205\t6\n89214\t6\n89222\t6\n89230\t6\n89233\t6\n89237\t6\n89238\t6\n89240\t6\n89265\t6\n89268\t6\n89269\t6\n89275\t6\n89287\t6\n89298\t6\n89301\t6\n89311\t6\n89325\t6\n89326\t6\n89334\t6\n89349\t6\n89350\t6\n89353\t6\n89354\t6\n89357\t6\n89360\t6\n89367\t6\n89371\t6\n89381\t6\n89388\t6\n89402\t6\n89409\t6\n89413\t6\n89414\t6\n89428\t6\n89435\t6\n89438\t6\n89439\t6\n89443\t6\n89455\t6\n89458\t6\n89465\t6\n89468\t6\n89474\t6\n89478\t6\n89495\t6\n89503\t6\n89509\t6\n89511\t6\n89512\t6\n89516\t6\n89517\t6\n89519\t6\n89522\t6\n89531\t6\n89532\t6\n89535\t6\n89541\t6\n89565\t6\n89575\t6\n89578\t6\n89584\t6\n89587\t6\n89588\t6\n89594\t6\n89597\t6\n89606\t6\n89609\t6\n89615\t6\n89618\t6\n89626\t6\n89641\t6\n89649\t6\n89651\t6\n89666\t6\n89670\t6\n89691\t6\n89693\t6\n89694\t6\n89698\t6\n89699\t6\n89700\t6\n89701\t6\n89703\t6\n89725\t6\n89727\t6\n89730\t6\n89735\t6\n89736\t6\n89737\t6\n89741\t6\n89745\t6\n89746\t6\n89751\t6\n89758\t6\n89760\t6\n89772\t6\n89774\t6\n89780\t6\n89794\t6\n89799\t6\n89809\t6\n89810\t6\n89815\t6\n89845\t6\n89847\t6\n89849\t6\n89855\t6\n89856\t6\n89869\t6\n89871\t6\n89875\t6\n89876\t6\n89885\t6\n89887\t6\n89889\t6\n89895\t6\n89898\t6\n89901\t6\n89902\t6\n89922\t6\n89924\t6\n89925\t6\n89933\t6\n89938\t6\n89940\t6\n89949\t6\n89951\t6\n89954\t6\n89961\t6\n89966\t6\n89970\t6\n89971\t6\n89980\t6\n89990\t6\n89993\t6\n89995\t6\n90004\t6\n90009\t6\n90012\t6\n90029\t6\n90040\t6\n90047\t6\n90048\t6\n90051\t6\n90056\t6\n90058\t6\n90063\t6\n90072\t6\n90082\t6\n90090\t6\n90094\t6\n90100\t6\n90102\t6\n90105\t6\n90107\t6\n90112\t6\n90116\t6\n90118\t6\n90121\t6\n90123\t6\n90124\t6\n90125\t6\n90129\t6\n90136\t6\n90139\t6\n90150\t6\n90154\t6\n90166\t6\n90173\t6\n90181\t6\n90182\t6\n90192\t6\n90201\t6\n90206\t6\n90213\t6\n90217\t6\n90219\t6\n90222\t6\n90226\t6\n90227\t6\n90231\t6\n90234\t6\n90236\t6\n90238\t6\n90247\t6\n90256\t6\n90272\t6\n90276\t6\n90280\t6\n90284\t6\n90287\t6\n90297\t6\n90298\t6\n90305\t6\n90311\t6\n90317\t6\n90318\t6\n90324\t6\n90332\t6\n90334\t6\n90344\t6\n90353\t6\n90358\t6\n90367\t6\n90375\t6\n90377\t6\n90381\t6\n90389\t6\n90392\t6\n90397\t6\n90403\t6\n90421\t6\n90422\t6\n90429\t6\n90442\t6\n90454\t6\n90474\t6\n90477\t6\n90485\t6\n90491\t6\n90493\t6\n90498\t6\n90512\t6\n90513\t6\n90517\t6\n90519\t6\n90522\t6\n90529\t6\n90532\t6\n90548\t6\n90549\t6\n90559\t6\n90573\t6\n90575\t6\n90588\t6\n90596\t6\n90597\t6\n90600\t6\n90610\t6\n90612\t6\n90617\t6\n90625\t6\n90631\t6\n90632\t6\n90634\t6\n90635\t6\n90638\t6\n90639\t6\n90649\t6\n90650\t6\n90662\t6\n90675\t6\n90688\t6\n90692\t6\n90698\t6\n90707\t6\n90714\t6\n90730\t6\n90738\t6\n90739\t6\n90742\t6\n90754\t6\n90760\t6\n90762\t6\n90771\t6\n90773\t6\n90782\t6\n90790\t6\n90794\t6\n90808\t6\n90820\t6\n90824\t6\n90837\t6\n90855\t6\n90864\t6\n90881\t6\n90888\t6\n90893\t6\n90904\t6\n90912\t6\n90920\t6\n90923\t6\n90929\t6\n90931\t6\n90936\t6\n90941\t6\n90949\t6\n90968\t6\n90970\t6\n90971\t6\n90973\t6\n90974\t6\n90979\t6\n90998\t6\n91003\t6\n91004\t6\n91007\t6\n91017\t6\n91018\t6\n91021\t6\n91027\t6\n91036\t6\n91054\t6\n91058\t6\n91066\t6\n91067\t6\n91071\t6\n91075\t6\n91081\t6\n91092\t6\n91110\t6\n91113\t6\n91124\t6\n91125\t6\n91126\t6\n91127\t6\n91128\t6\n91131\t6\n91136\t6\n91140\t6\n91149\t6\n91153\t6\n91155\t6\n91164\t6\n91174\t6\n91178\t6\n91193\t6\n91195\t6\n91198\t6\n91199\t6\n91200\t6\n91206\t6\n91209\t6\n91214\t6\n91221\t6\n91223\t6\n91232\t6\n91242\t6\n91258\t6\n91260\t6\n91263\t6\n91266\t6\n91268\t6\n91275\t6\n91278\t6\n91279\t6\n91287\t6\n91288\t6\n91303\t6\n91319\t6\n91320\t6\n91332\t6\n91334\t6\n91336\t6\n91338\t6\n91340\t6\n91342\t6\n91351\t6\n91353\t6\n91355\t6\n91356\t6\n91360\t6\n91366\t6\n91373\t6\n91376\t6\n91381\t6\n91385\t6\n91386\t6\n91387\t6\n91389\t6\n91399\t6\n91404\t6\n91417\t6\n91424\t6\n91429\t6\n91438\t6\n91441\t6\n91443\t6\n91444\t6\n91450\t6\n91460\t6\n91469\t6\n91474\t6\n91483\t6\n91492\t6\n91493\t6\n91498\t6\n91502\t6\n91508\t6\n91510\t6\n91513\t6\n91518\t6\n91524\t6\n91538\t6\n91563\t6\n91567\t6\n91571\t6\n91585\t6\n91590\t6\n91593\t6\n91596\t6\n91607\t6\n91611\t6\n91619\t6\n91625\t6\n91629\t6\n91630\t6\n91632\t6\n91638\t6\n91646\t6\n91649\t6\n91659\t6\n91664\t6\n91676\t6\n91685\t6\n91687\t6\n91695\t6\n91696\t6\n91698\t6\n91713\t6\n91724\t6\n91728\t6\n91731\t6\n91732\t6\n91739\t6\n91745\t6\n91748\t6\n91753\t6\n91761\t6\n91767\t6\n91778\t6\n91786\t6\n91794\t6\n91803\t6\n91811\t6\n91829\t6\n91838\t6\n91840\t6\n91860\t6\n91865\t6\n91868\t6\n91876\t6\n91885\t6\n91888\t6\n91894\t6\n91903\t6\n91905\t6\n91908\t6\n91912\t6\n91913\t6\n91917\t6\n91923\t6\n91945\t6\n91957\t6\n91963\t6\n91965\t6\n91972\t6\n91975\t6\n91981\t6\n91996\t6\n91998\t6\n92003\t6\n92009\t6\n92017\t6\n92019\t6\n92023\t6\n92024\t6\n92027\t6\n92028\t6\n92032\t6\n92033\t6\n92037\t6\n92041\t6\n92048\t6\n92052\t6\n92053\t6\n92055\t6\n92058\t6\n92079\t6\n92082\t6\n92085\t6\n92090\t6\n92094\t6\n92111\t6\n92119\t6\n92129\t6\n92133\t6\n92135\t6\n92137\t6\n92164\t6\n92174\t6\n92178\t6\n92179\t6\n92187\t6\n92189\t6\n92193\t6\n92194\t6\n92196\t6\n92221\t6\n92232\t6\n92243\t6\n92246\t6\n92247\t6\n92250\t6\n92251\t6\n92269\t6\n92287\t6\n92300\t6\n92307\t6\n92308\t6\n92326\t6\n92332\t6\n92337\t6\n92346\t6\n92353\t6\n92356\t6\n92357\t6\n92359\t6\n92365\t6\n92366\t6\n92369\t6\n92377\t6\n92409\t6\n92418\t6\n92424\t6\n92425\t6\n92427\t6\n92453\t6\n92459\t6\n92472\t6\n92473\t6\n92493\t6\n92494\t6\n92499\t6\n92515\t6\n92516\t6\n92526\t6\n92527\t6\n92528\t6\n92534\t6\n92550\t6\n92554\t6\n92556\t6\n92570\t6\n92575\t6\n92576\t6\n92582\t6\n92612\t6\n92626\t6\n92643\t6\n92644\t6\n92650\t6\n92651\t6\n92656\t6\n92671\t6\n92684\t6\n92689\t6\n92690\t6\n92699\t6\n92701\t6\n92710\t6\n92715\t6\n92718\t6\n92724\t6\n92728\t6\n92744\t6\n92748\t6\n92759\t6\n92774\t6\n92786\t6\n92794\t6\n92795\t6\n92808\t6\n92809\t6\n92825\t6\n92829\t6\n92830\t6\n92835\t6\n92836\t6\n92837\t6\n92838\t6\n92848\t6\n92850\t6\n92866\t6\n92867\t6\n92873\t6\n92881\t6\n92884\t6\n92901\t6\n92902\t6\n92903\t6\n92904\t6\n92910\t6\n92911\t6\n92912\t6\n92923\t6\n92942\t6\n92951\t6\n92954\t6\n92964\t6\n92969\t6\n92972\t6\n92974\t6\n92981\t6\n92984\t6\n92986\t6\n92994\t6\n92995\t6\n93003\t6\n93004\t6\n93005\t6\n93014\t6\n93015\t6\n93022\t6\n93026\t6\n93031\t6\n93032\t6\n93034\t6\n93043\t6\n93050\t6\n93055\t6\n93056\t6\n93057\t6\n93058\t6\n93064\t6\n93074\t6\n93075\t6\n93076\t6\n93077\t6\n93078\t6\n93098\t6\n93101\t6\n93102\t6\n93104\t6\n93112\t6\n93114\t6\n93115\t6\n93133\t6\n93136\t6\n93149\t6\n93155\t6\n93156\t6\n93160\t6\n93161\t6\n93164\t6\n93168\t6\n93173\t6\n93174\t6\n93181\t6\n93183\t6\n93192\t6\n93202\t6\n93209\t6\n93212\t6\n93214\t6\n93215\t6\n93223\t6\n93234\t6\n93246\t6\n93248\t6\n93253\t6\n93255\t6\n93256\t6\n93258\t6\n93294\t6\n93305\t6\n93308\t6\n93310\t6\n93313\t6\n93315\t6\n93316\t6\n93320\t6\n93328\t6\n93329\t6\n93334\t6\n93335\t6\n93337\t6\n93351\t6\n93362\t6\n93366\t6\n93368\t6\n93376\t6\n93381\t6\n93383\t6\n93385\t6\n93396\t6\n93399\t6\n93406\t6\n93407\t6\n93411\t6\n93414\t6\n93415\t6\n93417\t6\n93435\t6\n93436\t6\n93439\t6\n93441\t6\n93444\t6\n93450\t6\n93457\t6\n93461\t6\n93467\t6\n93468\t6\n93472\t6\n93485\t6\n93498\t6\n93500\t6\n93501\t6\n93503\t6\n93508\t6\n93512\t6\n93517\t6\n93525\t6\n93526\t6\n93529\t6\n93554\t6\n93556\t6\n93558\t6\n93565\t6\n93583\t6\n93596\t6\n93601\t6\n93604\t6\n93620\t6\n93622\t6\n93626\t6\n93628\t6\n93651\t6\n93671\t6\n93677\t6\n93685\t6\n93688\t6\n93689\t6\n93698\t6\n93703\t6\n93711\t6\n93712\t6\n93714\t6\n93724\t6\n93726\t6\n93740\t6\n93756\t6\n93760\t6\n93761\t6\n93766\t6\n93795\t6\n93797\t6\n93801\t6\n93802\t6\n93814\t6\n93815\t6\n93816\t6\n93825\t6\n93828\t6\n93835\t6\n93848\t6\n93849\t6\n93850\t6\n93857\t6\n93871\t6\n93877\t6\n93889\t6\n93893\t6\n93897\t6\n93899\t6\n93902\t6\n93904\t6\n93906\t6\n93907\t6\n93908\t6\n93914\t6\n93918\t6\n93922\t6\n93927\t6\n93937\t6\n93945\t6\n93953\t6\n93959\t6\n93962\t6\n93963\t6\n93979\t6\n93989\t6\n93990\t6\n94013\t6\n94020\t6\n94023\t6\n94024\t6\n94025\t6\n94026\t6\n94027\t6\n94039\t6\n94041\t6\n94047\t6\n94049\t6\n94055\t6\n94067\t6\n94075\t6\n94089\t6\n94096\t6\n94104\t6\n94108\t6\n94114\t6\n94116\t6\n94128\t6\n94131\t6\n94133\t6\n94135\t6\n94142\t6\n94143\t6\n94146\t6\n94153\t6\n94157\t6\n94158\t6\n94163\t6\n94164\t6\n94171\t6\n94180\t6\n94192\t6\n94199\t6\n94219\t6\n94225\t6\n94238\t6\n94245\t6\n94262\t6\n94268\t6\n94272\t6\n94277\t6\n94279\t6\n94280\t6\n94281\t6\n94291\t6\n94293\t6\n94305\t6\n94306\t6\n94308\t6\n94327\t6\n94332\t6\n94334\t6\n94340\t6\n94342\t6\n94344\t6\n94347\t6\n94350\t6\n94365\t6\n94367\t6\n94374\t6\n94379\t6\n94381\t6\n94387\t6\n94391\t6\n94395\t6\n94396\t6\n94399\t6\n94401\t6\n94406\t6\n94409\t6\n94415\t6\n94417\t6\n94418\t6\n94436\t6\n94445\t6\n94452\t6\n94455\t6\n94473\t6\n94479\t6\n94491\t6\n94498\t6\n94504\t6\n94505\t6\n94512\t6\n94516\t6\n94525\t6\n94533\t6\n94534\t6\n94536\t6\n94541\t6\n94545\t6\n94550\t6\n94557\t6\n94562\t6\n94589\t6\n94600\t6\n94603\t6\n94612\t6\n94613\t6\n94629\t6\n94638\t6\n94649\t6\n94651\t6\n94653\t6\n94664\t6\n94672\t6\n94675\t6\n94685\t6\n94686\t6\n94687\t6\n94691\t6\n94692\t6\n94701\t6\n94705\t6\n94709\t6\n94710\t6\n94719\t6\n94726\t6\n94729\t6\n94733\t6\n94737\t6\n94739\t6\n94748\t6\n94752\t6\n94753\t6\n94771\t6\n94774\t6\n94789\t6\n94813\t6\n94814\t6\n94817\t6\n94822\t6\n94824\t6\n94831\t6\n94834\t6\n94838\t6\n94853\t6\n94863\t6\n94869\t6\n94883\t6\n94891\t6\n94905\t6\n94906\t6\n94909\t6\n94917\t6\n94920\t6\n94924\t6\n94928\t6\n94935\t6\n94938\t6\n94939\t6\n94943\t6\n94948\t6\n94952\t6\n94953\t6\n94963\t6\n94976\t6\n94977\t6\n94981\t6\n94982\t6\n94991\t6\n94996\t6\n94997\t6\n94999\t6\n95003\t6\n95006\t6\n95022\t6\n95024\t6\n95025\t6\n95030\t6\n95033\t6\n95039\t6\n95041\t6\n95042\t6\n95053\t6\n95060\t6\n95064\t6\n95066\t6\n95080\t6\n95087\t6\n95089\t6\n95090\t6\n95094\t6\n95100\t6\n95101\t6\n95112\t6\n95116\t6\n95119\t6\n95123\t6\n95125\t6\n95128\t6\n95138\t6\n95146\t6\n95147\t6\n95148\t6\n95151\t6\n95152\t6\n95157\t6\n95164\t6\n95166\t6\n95175\t6\n95177\t6\n95188\t6\n95196\t6\n95200\t6\n95203\t6\n95207\t6\n95219\t6\n95223\t6\n95224\t6\n95228\t6\n95231\t6\n95237\t6\n95241\t6\n95242\t6\n95255\t6\n95258\t6\n95262\t6\n95269\t6\n95272\t6\n95274\t6\n95283\t6\n95287\t6\n95292\t6\n95295\t6\n95296\t6\n95297\t6\n95303\t6\n95310\t6\n95314\t6\n95325\t6\n95342\t6\n95355\t6\n95358\t6\n95361\t6\n95363\t6\n95376\t6\n95387\t6\n95391\t6\n95401\t6\n95403\t6\n95414\t6\n95415\t6\n95416\t6\n95432\t6\n95436\t6\n95437\t6\n95439\t6\n95443\t6\n95444\t6\n95447\t6\n95463\t6\n95466\t6\n95470\t6\n95476\t6\n95481\t6\n95493\t6\n95507\t6\n95512\t6\n95534\t6\n95541\t6\n95544\t6\n95562\t6\n95565\t6\n95570\t6\n95571\t6\n95579\t6\n95586\t6\n95587\t6\n95595\t6\n95597\t6\n95599\t6\n95602\t6\n95603\t6\n95605\t6\n95632\t6\n95638\t6\n95640\t6\n95642\t6\n95643\t6\n95647\t6\n95654\t6\n95667\t6\n95673\t6\n95676\t6\n95680\t6\n95686\t6\n95696\t6\n95708\t6\n95709\t6\n95714\t6\n95723\t6\n95724\t6\n95734\t6\n95739\t6\n95743\t6\n95747\t6\n95749\t6\n95753\t6\n95757\t6\n95770\t6\n95773\t6\n95791\t6\n95799\t6\n95802\t6\n95804\t6\n95812\t6\n95817\t6\n95826\t6\n95827\t6\n95834\t6\n95835\t6\n95837\t6\n95838\t6\n95840\t6\n95853\t6\n95856\t6\n95866\t6\n95873\t6\n95881\t6\n95886\t6\n95889\t6\n95897\t6\n95903\t6\n95904\t6\n95919\t6\n95931\t6\n95939\t6\n95950\t6\n95951\t6\n95961\t6\n95962\t6\n95978\t6\n95987\t6\n96012\t6\n96013\t6\n96015\t6\n96020\t6\n96024\t6\n96026\t6\n96029\t6\n96030\t6\n96037\t6\n96042\t6\n96054\t6\n96055\t6\n96065\t6\n96085\t6\n96086\t6\n96087\t6\n96102\t6\n96114\t6\n96120\t6\n96130\t6\n96133\t6\n96134\t6\n96136\t6\n96137\t6\n96139\t6\n96142\t6\n96153\t6\n96155\t6\n96160\t6\n96173\t6\n96177\t6\n96181\t6\n96189\t6\n96197\t6\n96201\t6\n96203\t6\n96204\t6\n96207\t6\n96210\t6\n96220\t6\n96223\t6\n96224\t6\n96238\t6\n96242\t6\n96247\t6\n96250\t6\n96252\t6\n96258\t6\n96262\t6\n96265\t6\n96267\t6\n96269\t6\n96275\t6\n96277\t6\n96279\t6\n96283\t6\n96284\t6\n96286\t6\n96303\t6\n96312\t6\n96315\t6\n96317\t6\n96322\t6\n96323\t6\n96324\t6\n96330\t6\n96336\t6\n96340\t6\n96343\t6\n96352\t6\n96357\t6\n96360\t6\n96364\t6\n96372\t6\n96380\t6\n96381\t6\n96392\t6\n96393\t6\n96396\t6\n96401\t6\n96408\t6\n96416\t6\n96420\t6\n96424\t6\n96427\t6\n96428\t6\n96429\t6\n96435\t6\n96436\t6\n96438\t6\n96451\t6\n96461\t6\n96462\t6\n96479\t6\n96480\t6\n96481\t6\n96489\t6\n96501\t6\n96505\t6\n96506\t6\n96510\t6\n96514\t6\n96544\t6\n96547\t6\n96566\t6\n96568\t6\n96570\t6\n96581\t6\n96588\t6\n96591\t6\n96592\t6\n96621\t6\n96622\t6\n96627\t6\n96640\t6\n96646\t6\n96652\t6\n96654\t6\n96658\t6\n96670\t6\n96690\t6\n96700\t6\n96707\t6\n96712\t6\n96722\t6\n96734\t6\n96737\t6\n96738\t6\n96740\t6\n96742\t6\n96745\t6\n96752\t6\n96773\t6\n96776\t6\n96783\t6\n96788\t6\n96792\t6\n96799\t6\n96811\t6\n96814\t6\n96823\t6\n96830\t6\n96836\t6\n96842\t6\n96850\t6\n96856\t6\n96865\t6\n96867\t6\n96875\t6\n96884\t6\n96890\t6\n96913\t6\n96918\t6\n96919\t6\n96925\t6\n96928\t6\n96930\t6\n96940\t6\n96941\t6\n96951\t6\n96953\t6\n96969\t6\n96970\t6\n96978\t6\n96986\t6\n96992\t6\n97006\t6\n97015\t6\n97019\t6\n97024\t6\n97039\t6\n97045\t6\n97046\t6\n97047\t6\n97051\t6\n97058\t6\n97060\t6\n97066\t6\n97067\t6\n97068\t6\n97089\t6\n97096\t6\n97099\t6\n97100\t6\n97104\t6\n97128\t6\n97132\t6\n97148\t6\n97151\t6\n97175\t6\n97179\t6\n97182\t6\n97186\t6\n97193\t6\n97198\t6\n97209\t6\n97231\t6\n97242\t6\n97244\t6\n97259\t6\n97260\t6\n97265\t6\n97277\t6\n97281\t6\n97284\t6\n97289\t6\n97301\t6\n97309\t6\n97311\t6\n97318\t6\n97319\t6\n97325\t6\n97330\t6\n97337\t6\n97359\t6\n97361\t6\n97364\t6\n97372\t6\n97381\t6\n97396\t6\n97401\t6\n97416\t6\n97420\t6\n97427\t6\n97430\t6\n97435\t6\n97438\t6\n97446\t6\n97454\t6\n97467\t6\n97469\t6\n97475\t6\n97477\t6\n97478\t6\n97487\t6\n97491\t6\n97498\t6\n97505\t6\n97512\t6\n97516\t6\n97539\t6\n97544\t6\n97545\t6\n97554\t6\n97558\t6\n97585\t6\n97592\t6\n97598\t6\n97603\t6\n97612\t6\n97614\t6\n97615\t6\n97626\t6\n97634\t6\n97636\t6\n97639\t6\n97648\t6\n97658\t6\n97660\t6\n97661\t6\n97664\t6\n97676\t6\n97677\t6\n97689\t6\n97690\t6\n97698\t6\n97710\t6\n97713\t6\n97717\t6\n97721\t6\n97725\t6\n97726\t6\n97727\t6\n97729\t6\n97732\t6\n97733\t6\n97742\t6\n97743\t6\n97754\t6\n97767\t6\n97772\t6\n97782\t6\n97788\t6\n97799\t6\n97805\t6\n97808\t6\n97811\t6\n97812\t6\n97815\t6\n97817\t6\n97826\t6\n97832\t6\n97835\t6\n97841\t6\n97842\t6\n97843\t6\n97856\t6\n97861\t6\n97862\t6\n97863\t6\n97864\t6\n97869\t6\n97876\t6\n97884\t6\n97891\t6\n97901\t6\n97907\t6\n97912\t6\n97915\t6\n97916\t6\n97917\t6\n97929\t6\n97931\t6\n97941\t6\n97948\t6\n97960\t6\n97969\t6\n97974\t6\n97978\t6\n97981\t6\n97990\t6\n97993\t6\n97996\t6\n98008\t6\n98011\t6\n98012\t6\n98013\t6\n98014\t6\n98017\t6\n98022\t6\n98027\t6\n98030\t6\n98032\t6\n98037\t6\n98046\t6\n98050\t6\n98058\t6\n98059\t6\n98061\t6\n98069\t6\n98074\t6\n98077\t6\n98080\t6\n98082\t6\n98083\t6\n98092\t6\n98118\t6\n98122\t6\n98138\t6\n98139\t6\n98145\t6\n98148\t6\n98151\t6\n98157\t6\n98165\t6\n98169\t6\n98175\t6\n98176\t6\n98179\t6\n98184\t6\n98189\t6\n98190\t6\n98196\t6\n98201\t6\n98203\t6\n98208\t6\n98209\t6\n98215\t6\n98228\t6\n98240\t6\n98245\t6\n98252\t6\n98258\t6\n98262\t6\n98271\t6\n98273\t6\n98274\t6\n98283\t6\n98294\t6\n98303\t6\n98305\t6\n98308\t6\n98313\t6\n98314\t6\n98316\t6\n98318\t6\n98324\t6\n98333\t6\n98337\t6\n98346\t6\n98348\t6\n98353\t6\n98357\t6\n98359\t6\n98361\t6\n98362\t6\n98364\t6\n98368\t6\n98370\t6\n98376\t6\n98387\t6\n98397\t6\n98398\t6\n98399\t6\n98403\t6\n98404\t6\n98408\t6\n98414\t6\n98417\t6\n98420\t6\n98428\t6\n98429\t6\n98436\t6\n98440\t6\n98451\t6\n98455\t6\n98464\t6\n98473\t6\n98479\t6\n98480\t6\n98482\t6\n98496\t6\n98498\t6\n98501\t6\n98506\t6\n98514\t6\n98548\t6\n98551\t6\n98553\t6\n98555\t6\n98564\t6\n98568\t6\n98569\t6\n98577\t6\n98582\t6\n98587\t6\n98596\t6\n98600\t6\n98608\t6\n98613\t6\n98614\t6\n98619\t6\n98625\t6\n98626\t6\n98639\t6\n98646\t6\n98655\t6\n98663\t6\n98674\t6\n98678\t6\n98680\t6\n98682\t6\n98684\t6\n98692\t6\n98716\t6\n98721\t6\n98723\t6\n98724\t6\n98731\t6\n98732\t6\n98733\t6\n98734\t6\n98735\t6\n98744\t6\n98747\t6\n98755\t6\n98757\t6\n98775\t6\n98776\t6\n98781\t6\n98788\t6\n98794\t6\n98796\t6\n98800\t6\n98807\t6\n98812\t6\n98816\t6\n98826\t6\n98830\t6\n98831\t6\n98840\t6\n98842\t6\n98844\t6\n98853\t6\n98856\t6\n98857\t6\n98866\t6\n98870\t6\n98878\t6\n98880\t6\n98889\t6\n98898\t6\n98906\t6\n98910\t6\n98932\t6\n98933\t6\n98948\t6\n98953\t6\n98958\t6\n98967\t6\n98968\t6\n98973\t6\n98975\t6\n98985\t6\n98986\t6\n98991\t6\n98996\t6\n98997\t6\n\\.\n\n\n--\n-- Data for Name: campaigns; Type: TABLE DATA; Schema: zillion_test; Owner: postgres\n--\n\nCOPY zillion_test.campaigns (id, name, category, partner_id, created_at) FROM stdin;\n1\tCampaign 1A\tfruits\t1\t2019-03-26 21:02:15+00\n2\tCampaign 2A\tvegetables\t1\t2019-03-26 21:02:15+00\n3\tCampaign 1B\tfruits\t2\t2019-03-26 21:02:15+00\n4\tCampaign 2B\tvegetables\t2\t2019-03-26 21:02:15+00\n5\tCampaign 1C\tfruits\t3\t2019-03-26 21:02:15+00\n6\tCampaign 2C\tvegetables\t3\t2019-03-26 21:02:15+00\n\\.\n\n\n--\n-- Data for Name: partners; Type: TABLE DATA; Schema: zillion_test; Owner: postgres\n--\n\nCOPY zillion_test.partners (id, name, created_at) FROM stdin;\n1\tPartner A\t2019-03-26 21:02:15+00\n2\tPartner B\t2019-03-26 21:02:15+00\n3\tPartner C\t2019-03-26 21:02:15+00\n\\.\n\n\n--\n-- Name: campaign_transactions_id_seq; Type: SEQUENCE SET; Schema: zillion_test; Owner: postgres\n--\n\nSELECT pg_catalog.setval('zillion_test.campaign_transactions_id_seq', 99000, true);\n\n\n--\n-- Name: campaigns_id_seq; Type: SEQUENCE SET; Schema: zillion_test; Owner: postgres\n--\n\nSELECT pg_catalog.setval('zillion_test.campaigns_id_seq', 6, true);\n\n\n--\n-- Name: partners_id_seq; Type: SEQUENCE SET; Schema: zillion_test; Owner: postgres\n--\n\nSELECT pg_catalog.setval('zillion_test.partners_id_seq', 3, true);\n\n\n--\n-- Name: campaigns idx_16390_primary; Type: CONSTRAINT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.campaigns\n    ADD CONSTRAINT idx_16390_primary PRIMARY KEY (id);\n\n\n--\n-- Name: campaign_cost idx_16395_primary; Type: CONSTRAINT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.campaign_cost\n    ADD CONSTRAINT idx_16395_primary PRIMARY KEY (campaign_id);\n\n\n--\n-- Name: campaign_transactions idx_16400_primary; Type: CONSTRAINT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.campaign_transactions\n    ADD CONSTRAINT idx_16400_primary PRIMARY KEY (id);\n\n\n--\n-- Name: partners idx_16406_primary; Type: CONSTRAINT; Schema: zillion_test; Owner: postgres\n--\n\nALTER TABLE ONLY zillion_test.partners\n    ADD CONSTRAINT idx_16406_primary PRIMARY KEY (id);\n\n\n--\n-- Name: idx_16390_idx_name; Type: INDEX; Schema: zillion_test; Owner: postgres\n--\n\nCREATE UNIQUE INDEX idx_16390_idx_name ON zillion_test.campaigns USING btree (name);\n\n\n--\n-- Name: idx_16400_idx_campaign_id; Type: INDEX; Schema: zillion_test; Owner: postgres\n--\n\nCREATE INDEX idx_16400_idx_campaign_id ON zillion_test.campaign_transactions USING btree (campaign_id);\n\n\n--\n-- Name: idx_16406_idx_name; Type: INDEX; Schema: zillion_test; Owner: postgres\n--\n\nCREATE UNIQUE INDEX idx_16406_idx_name ON zillion_test.partners USING btree (name);\n\n\n--\n-- PostgreSQL database dump complete\n--\n\n"
  },
  {
    "path": "tests/test_adhoc_ds_config.json",
    "content": "{\n  \"datasources\": {\n    \"test_adhoc_db\": {\n      \"connect\": \"sqlite:////tmp/test_adhoc_db\",\n      \"tables\": {\n        \"main.dma_zip\": {\n          \"type\": \"dimension\",\n          \"data_url\": \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.csv\",\n          \"if_exists\": \"replace\",\n          \"drop_dupes\": true,\n          \"convert_types\": {\n            \"DMA_Code\": \"text\",\n            \"DMA_Description\": \"text\"\n          },\n          \"create_fields\": true,\n          \"primary_key\": [\"Zip_Code\"],\n          \"columns\": {\n            \"Zip_Code\": {\n              \"fields\": [\"Zip_Code\"]\n            },\n            \"DMA_Code\": {\n              \"fields\": [\"DMA_Code\"]\n            },\n            \"DMA_Description\": {\n              \"fields\": [\"DMA_Description\"]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "tests/test_config.yaml",
    "content": "DEBUG: false\nLOG_LEVEL: WARNING\nLOAD_TABLE_CHUNK_SIZE: 5000\nZILLION_DB_URL: sqlite:////tmp/zillion.db\n\n# OPENAI_API_KEY: <key>\nOPENAI_MODEL: gpt-3.5-turbo\nQDRANT_HOST: localhost\n\nADHOC_DATASOURCE_DIRECTORY: /tmp\nDATASOURCE_QUERY_MODE: sequential\nDATASOURCE_QUERY_TIMEOUT: null\nDATASOURCE_QUERY_WORKERS: 4\n\nDATASOURCE_CONTEXTS:\n  testdb2:\n    schema: testdb2\n  test_adhoc_db:\n    user: totalhack\n  duckdb:\n    schema: zillion_test\n  mysql:\n    user: root\n    host: 127.0.0.1\n    schema: zillion_test\n  postgresql:\n    user: postgres\n    host: 127.0.0.1\n    schema: zillion_test\n\nTEST:\n  MySQLHost: 127.0.0.1\n  MySQLPort: 3306\n  MySQLUser: root\n  MySQLTestSchema: zillion_test\n  PostgreSQLHost: 127.0.0.1\n  PostgreSQLPort: 5432\n  PostgreSQLUser: postgres\n  PostgreSQLTestSchema: zillion_test\n  DuckDBTestSchemaBase: zillion_test\n"
  },
  {
    "path": "tests/test_core.py",
    "content": "from collections import OrderedDict\nimport os\nimport pytest\nimport time\n\nfrom marshmallow import ValidationError\nfrom tlbx import json\nimport yaml\n\nfrom .test_utils import *\nfrom zillion.configs import load_warehouse_config, load_warehouse_config_from_env\nfrom zillion.core import *\nfrom zillion.datasource import *\nfrom zillion.sql_utils import contains_aggregation, contains_sql_keywords\nfrom zillion.warehouse import Warehouse\n\n\ndef test_zillion_config():\n    if \"ZILLION_CONFIG\" in os.environ:\n        del os.environ[\"ZILLION_CONFIG\"]\n    cfg = load_zillion_config()\n    # Should load the dev config\n    assert cfg[\"DATASOURCE_CONTEXTS\"] != {}\n\n    os.environ[\"ZILLION_LOG_LEVEL\"] = \"INFO\"\n    cfg = load_zillion_config()\n    assert cfg[\"LOG_LEVEL\"] == \"INFO\"\n\n    os.environ[\"ZILLION_DEBUG\"] = \"true\"\n    cfg = load_zillion_config()\n    set_log_level_from_config(cfg)\n    assert default_logger.level == logging.DEBUG\n\n    os.environ[\"ZILLION_DEBUG\"] = \"false\"\n    cfg = load_zillion_config()\n    set_log_level_from_config(cfg)\n    assert default_logger.level == logging.WARNING\n\n\ndef test_wh_config_init(config):\n    pass\n\n\ndef test_wh_config_include(config):\n    config[\"includes\"] = [\"test_include_wh_config.json\"]\n    wh = Warehouse(config=config)\n    wh.get_metric(\"rpl_include\")\n    ds = wh.get_datasource(\"testdb1\")\n    assert not ds.metadata.tables[\"main.partners\"].zillion.active\n\n\ndef test_datasource_config_init(ds_config):\n    ds = DataSource(\"testdb1\", config=ds_config)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_load_remote_wh_config():\n    cfg = load_warehouse_config(REMOTE_CONFIG_URL)\n\n\ndef test_wh_from_url_wh_config():\n    f = \"test_wh_config.json\"\n    wh = Warehouse(config=f)\n\n\ndef test_wh_from_yaml_url_wh_config():\n    json_file = \"test_wh_config.json\"\n    with open(json_file, \"r\") as jf:\n        json_data = json.load(jf)\n    yaml_file = json_file.replace(\"json\", \"yaml\")\n    with open(yaml_file, \"w\") as yf:\n        yaml.dump(json_data, yf, indent=2, sort_keys=False)\n    wh = Warehouse(config=yaml_file)\n\n\ndef test_load_wh_config_from_env():\n    var = \"ZILLION_TEST_WH_CONFIG\"\n    os.environ[var] = REMOTE_CONFIG_URL\n    cfg = load_warehouse_config_from_env(var)\n\n\ndef test_wh_save_and_load():\n    name = \"test_warehouse_%s\" % time.time()\n    config_url = REMOTE_CONFIG_URL\n    wh = Warehouse(config=config_url)\n    wh_id = wh.save(name, config_url, meta=dict(test=1))\n    wh = Warehouse.load(wh_id)\n    assert wh.name == name\n    Warehouse.delete(wh_id)\n\n\ndef test_datasource_metadata_init(ds_config):\n    metadata = create_test_metadata(ds_config)\n    ds = DataSource(\"testdb1\", metadata=metadata)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_datasource_metadata_and_config_init(ds_config):\n    metadata = create_test_metadata(ds_config)\n    del ds_config[\"connect\"]\n    # Pass metadata with existing zillion info as well as table config\n    ds = DataSource(\"testdb1\", metadata=metadata, config=ds_config)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_datasource_from_config(ds_config):\n    ds = DataSource(\"testdb1\", config=ds_config)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_datasource_skip_conversion_fields(ds_config):\n    ds_config[\"skip_conversion_fields\"] = True\n    ds = DataSource(\"testdb1\", config=ds_config)\n    assert not ds.has_dimension(\"sale_hour\")\n\n\ndef test_datasource_config_data_url(ds_config):\n    ds_config[\"connect\"] = {\n        \"params\": {\n            \"data_url\": \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\",\n            \"if_exists\": \"replace\",\n        }\n    }\n    ds = DataSource(\"testdb1\", config=ds_config)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_datasource_config_data_url_replace_after(ds_config):\n    ds_config[\"connect\"] = {\n        \"params\": {\n            \"data_url\": \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\",\n            \"if_exists\": \"replace_after\",\n            \"replace_after\": \"0 minutes\",\n        }\n    }\n    ds = DataSource(\"testdb1\", config=ds_config)\n    fname = \"/tmp/testdb1.db\"\n    mtime = get_modified_time(fname)\n    assert (time.time() - mtime) < 5  # Make sure the file is ~new\n    assert ds\n\n    ds_config[\"connect\"][\"params\"][\"replace_after\"] = \"1 minutes\"\n    ds = DataSource(\"testdb1\", config=ds_config)\n    new_mtime = get_modified_time(fname)\n    assert new_mtime == mtime  # Make sure it was not replaced\n\n\ndef test_parse_replace_after():\n    assert int(parse_replace_after(\"1 seconds\")) == 1\n    assert int(parse_replace_after(\"1 Minutes\")) == 60\n    assert int(parse_replace_after(\"10 hours\")) == 60 * 60 * 10\n    assert int(parse_replace_after(\"1.2 days\")) == 60 * 60 * 24 * 1.2\n    assert int(parse_replace_after(\"0 weeks\")) == 0\n\n    with pytest.raises(ZillionException):\n        parse_replace_after(\" weeks\")\n    with pytest.raises(ZillionException):\n        parse_replace_after(\"a weeks\")\n    with pytest.raises(ZillionException):\n        parse_replace_after(\"1 x\")\n\n\ndef test_datasource_from_db_file(ds_config):\n    ds_name = \"testdb1\"\n    data_url = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\n    ds = DataSource.from_db_file(\n        data_url, name=ds_name, config=ds_config, if_exists=\"replace\"\n    )\n    assert ds\n    print()  # Format test output\n    ds.print_info()\n\n    # Test with local file URL\n    ds = DataSource.from_db_file(\"testdb1\", config=ds_config, if_exists=\"replace\")\n    assert ds\n    print()  # Format test output\n    ds.print_info()\n\n\ndef test_datasource_config_table_data_url(adhoc_config):\n    ds_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"]\n    ds = DataSource(\"test_adhoc_db\", config=ds_config)\n    print()  # Format test output\n    ds.print_info()\n    assert ds\n\n\ndef test_datasource_metadata_and_table_data_url(ds_config, adhoc_config):\n    copyfile(\"testdb1\", \"/tmp/testdb1\")\n    ds_config[\"connect\"] = \"sqlite:////tmp/testdb1\"\n    metadata = create_test_metadata(ds_config)\n    del ds_config[\"connect\"]\n\n    drop_metadata_table_if_exists(metadata, \"main.dma_zip\")\n    # Borrow the adhoc table config that has a data_url setup\n    adhoc_table_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\n        \"main.dma_zip\"\n    ]\n    ds_config[\"tables\"][\"main.dma_zip\"] = adhoc_table_config\n\n    try:\n        ds = DataSource(\"testdb1\", metadata=metadata, config=ds_config)\n        assert \"main.dma_zip\" in metadata.tables\n    finally:\n        drop_metadata_table_if_exists(metadata, \"main.dma_zip\")\n\n\ndef test_datasource_apply_config_table_data_url(ds_config, adhoc_config):\n    copyfile(\"testdb1\", \"/tmp/testdb1\")\n    ds_config[\"connect\"] = \"sqlite:////tmp/testdb1\"\n    metadata = create_test_metadata(ds_config)\n    del ds_config[\"connect\"]\n\n    drop_metadata_table_if_exists(metadata, \"main.dma_zip\")\n\n    try:\n        ds = DataSource(\"testdb1\", metadata=metadata, config=ds_config)\n        # Borrow the adhoc table config that has a data_url setup\n        adhoc_table_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\n            \"main.dma_zip\"\n        ]\n        ds_config[\"tables\"][\"main.dma_zip\"] = adhoc_table_config\n        ds.apply_config(ds_config)\n\n        assert \"main.dma_zip\" in metadata.tables\n    finally:\n        drop_metadata_table_if_exists(metadata, \"main.dma_zip\")\n\n\ndef test_warehouse_init(config):\n    ds = DataSource(\"testdb1\", config=config[\"datasources\"][\"testdb1\"])\n    wh = Warehouse(config=config, datasources=[ds])\n    assert len(wh.datasources) == 2\n\n\ndef test_warehouse_no_config(ds_config):\n    ds = DataSource(\"testdb1\", config=ds_config)\n    wh = Warehouse(datasources=[ds])\n    assert wh.get_dimension_names()\n    assert len(wh.datasource_names) == 1\n\n\ndef test_warehouse_has_zillion_info_no_config(ds_config):\n    ds = DataSource(\"testdb1\", config=ds_config)\n    for table in ds.metadata.tables.values():\n        table.info[\"zillion\"].type = TableTypes.METRIC\n    wh = Warehouse(datasources=[ds])\n    assert not wh.get_datasource(\"testdb1\").dimension_tables\n\n\ndef test_field_display_name(config):\n    wh = Warehouse(config=config)\n    partner_name = wh.get_field(\"partner_name\")  # Regular dim/field\n    assert partner_name.display_name == \"Partner Name\"\n    rpl = wh.get_field(\"rpl\")  # Formula Metric\n    assert rpl.display_name == \"Revenue/Lead\"\n    main_sales_created_at = wh.get_field(\"main_sales_created_at\")  # Field from column\n    assert main_sales_created_at.display_name == \"Main Sales Created At\"\n    sale_hour = wh.get_field(\"sale_hour\")  # Auto conversion field\n    assert sale_hour.display_name == \"Sale Hour\"\n\n\ndef test_field_description(config):\n    wh = Warehouse(config=config)\n    partner_name = wh.get_field(\"partner_name\")  # Regular dim/field\n    assert partner_name.description is None\n    print(partner_name.display_name, partner_name.description)\n    rpl = wh.get_field(\"rpl\")  # Formula Metric\n    assert rpl.description is not None\n    print(rpl.display_name, rpl.description)\n    sale_hour = wh.get_field(\"sale_hour\")  # Auto conversion field\n    assert sale_hour.description is not None\n    print(sale_hour.display_name, sale_hour.description)\n\n\ndef test_field_meta(config):\n    wh = Warehouse(config=config)\n    field = wh.get_field(\"rpl\")\n    assert field.meta and field.meta[\"metafield\"] == \"metavalue\"\n\n\ndef test_reserved_field_name(config):\n    config[\"datasources\"][\"testdb1\"][\"metrics\"].append(\n        {\"name\": \"row_hash\", \"type\": \"integer\", \"aggregation\": AggregationTypes.SUM}\n    )\n    ds = DataSource(\"testdb1\", config=config[\"datasources\"][\"testdb1\"])\n    with pytest.raises(WarehouseException):\n        wh = Warehouse(config=config, datasources=[ds])\n\n\ndef test_field_name_starts_with_number(config):\n    config[\"datasources\"][\"testdb1\"][\"metrics\"].append(\n        {\"name\": \"1test\", \"type\": \"integer\", \"aggregation\": AggregationTypes.SUM}\n    )\n    with pytest.raises(ValidationError):\n        ds = DataSource(\"testdb1\", config=config[\"datasources\"][\"testdb1\"])\n\n\ndef test_dimension_to_config(config):\n    wh = Warehouse(config=config)\n    field = wh.get_dimension(\"partner_name\")\n    info(field.to_config())\n\n\ndef test_metric_to_config(config):\n    wh = Warehouse(config=config)\n    field = wh.get_metric(\"revenue\")\n    cfg = field.to_config()\n    assert \"formula\" not in cfg\n    info(cfg)\n\n\ndef test_formula_metric_to_config(config):\n    wh = Warehouse(config=config)\n    field = wh.get_metric(\"rpl\")\n    cfg = field.to_config()\n    assert \"type\" not in cfg\n    info(cfg)\n\n\ndef test_get_metric_configs(config):\n    wh = Warehouse(config=config)\n    metrics = wh.get_metric_configs()\n    assert \"revenue\" in metrics\n\n\ndef test_get_dimension_configs(config):\n    wh = Warehouse(config=config)\n    dims = wh.get_dimension_configs()\n    assert \"partner_name\" in dims\n\n\ndef test_dimension_copy(config):\n    wh = Warehouse(config=config)\n    field = wh.get_dimension(\"partner_name\")\n    info(field.copy())\n\n\ndef test_metric_copy(config):\n    wh = Warehouse(config=config)\n    field = wh.get_metric(\"revenue\")\n    info(field.copy())\n\n\ndef test_formula_metric_copy(config):\n    wh = Warehouse(config=config)\n    field = wh.get_metric(\"rpl\")\n    info(field.copy())\n\n\ndef test_warehouse_technical_within_formula(config):\n    config[\"metrics\"].append(\n        {\n            \"name\": \"revenue_ma_5_sum_5\",\n            \"aggregation\": AggregationTypes.SUM,\n            \"rounding\": 2,\n            \"formula\": \"{revenue_ma_5}/{revenue_sum_5}\",\n        }\n    )\n    with pytest.raises(InvalidFieldException):\n        wh = Warehouse(config=config)\n\n\ndef test_warehouse_metric_divisor(config):\n    wh = Warehouse(config=config)\n    # These are dynamically generated from the divisors config on the revenue metric\n    assert wh.has_metric(\"revenue_per_lead\")\n    assert wh.has_metric(\"revenue_per_sale\")\n\n\ndef test_warehouse_metric_multiple_aggregations(config):\n    wh = Warehouse(config=config)\n    # These are dynamically generated for metrics that have multiple aggregations\n    assert wh.has_metric(\"sales_sum_custom_name\")\n    assert wh.has_metric(\"sales_variant_mean\")\n\n\ndef test_warehouse_remote_datasource_config(config):\n    config[\"datasources\"][\"testdb2\"] = (\n        \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/test_sqlite_ds_config.json\"\n    )\n    wh = Warehouse(config=config)\n    assert wh.has_metric(\"aggr_sales\")\n\n\ndef test_warehouse_remote_csv_table(adhoc_config):\n    table_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\n        \"main.dma_zip\"\n    ]\n    table_config[\"adhoc_table_options\"] = {\"nrows\": 30}\n    wh = Warehouse(config=adhoc_config)\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_warehouse_remote_google_sheet(adhoc_config):\n    url = \"https://docs.google.com/spreadsheets/d/1iCzY4av_tinUpG2Q0mQhbxd77XOREwfbPAVZPObzFeE/edit?usp=sharing\"\n    adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\"main.dma_zip\"][\n        \"data_url\"\n    ] = url\n    wh = Warehouse(config=adhoc_config)\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_warehouse_remote_xlsx_table(adhoc_config):\n    url = (\n        \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.xlsx\"\n    )\n    adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\"main.dma_zip\"][\n        \"data_url\"\n    ] = url\n    wh = Warehouse(config=adhoc_config)\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_warehouse_remote_json_table(adhoc_config):\n    url = (\n        \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.json\"\n    )\n    adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\"main.dma_zip\"][\n        \"data_url\"\n    ] = url\n    wh = Warehouse(config=adhoc_config)\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_warehouse_remote_html_table(adhoc_config):\n    url = (\n        \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.html\"\n    )\n    adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\"main.dma_zip\"][\n        \"data_url\"\n    ] = url\n    wh = Warehouse(config=adhoc_config)\n    wh.print_info()\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_reuse_existing_remote_table(adhoc_config):\n    ds_name = \"test_adhoc_db\"\n    ds_configs = adhoc_config[\"datasources\"]\n\n    for ds_name, ds_config in ds_configs.items():\n        for table in ds_config[\"tables\"].values():\n            table[\"if_exists\"] = IfExistsModes.IGNORE\n\n    ds = DataSource(ds_name, config=ds_configs[ds_name])\n    ds = DataSource(ds_name, config=ds_configs[ds_name])\n    for ds_name, ds_config in ds_configs.items():\n        for table in ds_config[\"tables\"].values():\n            table[\"if_exists\"] = IfExistsModes.FAIL\n    with pytest.raises(ValueError):\n        dsf = DataSource(ds_name, config=ds_configs[ds_name])\n\n\ndef test_bad_table_data_url(ds_config):\n    ds_config[\"tables\"][\"main.sales\"][\"data_url\"] = \"test\"\n    with pytest.raises(AssertionError):\n        ds = DataSource(\"test\", config=ds_config)\n\n\ndef test_warehouse_from_data_file():\n    url = (\n        \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/dma_zip.xlsx\"\n    )\n    wh = Warehouse.from_data_file(url, [\"Zip_Code\"])\n    wh.print_info()\n    assert wh.has_dimension(\"Zip_Code\")\n\n\ndef test_warehouse_from_db_file():\n    data_url = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\n    wh = Warehouse.from_db_file(data_url, if_exists=\"replace\")\n    wh.print_info()\n\n\ndef test_column_config_override(config):\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    table_config[\"columns\"][\"revenue\"][\"active\"] = False\n    wh = Warehouse(config=config)\n    assert not \"sales\" in wh.get_datasource(\"testdb1\").get_tables_with_field(\"revenue\")\n\n\ndef test_table_config_override(config):\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    table_config[\"active\"] = False\n    wh = Warehouse(config=config)\n    assert not wh.get_datasource(\"testdb1\").has_table(\"main.sales\")\n\n\ndef test_no_create_fields_no_columns(config):\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.partners\"]\n    del table_config[\"columns\"]\n    table_config[\"create_fields\"] = False\n    with pytest.raises(ZillionException):\n        wh = Warehouse(config=config)\n\n\ndef test_no_create_fields_has_columns(config):\n    del config[\"datasources\"][\"testdb2\"]\n    campaigns_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.campaigns\"]\n    campaigns_config[\"create_fields\"] = False\n    # This will raise an error because the fields referenced in the columns'\n    # field lists don't exist\n    with pytest.raises(WarehouseException):\n        wh = Warehouse(config=config)\n\n\ndef test_no_create_fields_field_exists_has_columns(config):\n    del config[\"datasources\"][\"testdb2\"]\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.partners\"]\n    table_config[\"create_fields\"] = False\n    wh = Warehouse(config=config)\n    # ds_partner_name was already defined, make sure it doesnt get overwritten\n    dim = wh.get_dimension(\"ds_partner_name\")\n    assert dim.sa_type.length == 50\n\n\ndef test_create_fields_no_columns(config):\n    del config[\"datasources\"][\"testdb2\"]\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.partners\"]\n    table_config[\"create_fields\"] = True\n    del table_config[\"columns\"]\n    table_config[\"primary_key\"] = [\"fake_field\"]\n    # Primary key mismatch in parent/child relationship with partners/campaigns\n    with pytest.raises(ZillionException):\n        wh = Warehouse(config=config)\n\n\ndef test_create_fields_has_columns(config):\n    del config[\"datasources\"][\"testdb2\"]\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.partners\"]\n    table_config[\"create_fields\"] = True\n    wh = Warehouse(config=config)\n    assert wh.has_dimension(\"partner_id\")\n    assert wh.has_dimension(\"partner_name\")\n    assert not wh.has_dimension(\"partners_name\")\n    # This one is auto-generated with create_fields, so it has a default naming\n    # style:\n    assert wh.has_dimension(\"main_partners_created_at\")\n\n\ndef test_get_dimension_table_set(wh):\n    possible = [{\"partner_id\", \"partner_name\"}, {\"campaign_name\", \"partner_name\"}]\n\n    impossible = [\n        {\"lead_id\", \"partner_id\"},\n        {\"sale_id\", \"lead_id\", \"campaign_name\", \"partner_name\"},\n    ]\n\n    for grain in possible:\n        ts = wh.get_dimension_table_set(grain, grain)\n\n    for grain in impossible:\n        with pytest.raises(UnsupportedGrainException):\n            ts = wh.get_dimension_table_set(grain, grain)\n\n\ndef test_get_metric_table_set(wh):\n    possible = [\n        (\"leads\", {\"partner_id\", \"partner_name\"}),\n        (\"leads\", {\"campaign_name\", \"partner_name\"}),\n        (\"revenue\", {\"campaign_name\", \"partner_name\", \"lead_id\"}),\n    ]\n\n    impossible = [(\"leads\", {\"sale_id\"})]\n\n    for metric, grain in possible:\n        wh.get_metric_table_set(metric, grain, grain)\n\n    for metric, grain in impossible:\n        with pytest.raises(UnsupportedGrainException):\n            wh.get_metric_table_set(metric, grain, grain)\n\n\ndef test_get_supported_dimensions(wh):\n    metrics = [\"leads\", \"main_sales_quantity\"]\n    dims = wh._get_supported_dimensions(metrics)\n    assert dims & {\"campaign_name\", \"partner_name\"}\n    assert not (dims & {\"sale_id\"})\n\n\ndef test_contains_aggregation():\n    sql_with_aggr = [\n        \"select sum(column) from table\",\n        \"select avg(column) from table\",\n        \"sum(column)\",\n        \"avg(column)\",\n    ]\n\n    sql_without_aggr = [\n        \"select column from table\",\n        \"column\",\n        \"a + b\",\n        \"(a) + (b)\",\n        \"(a + b)\",\n        \"sum\",\n        \"sum + avg\",\n    ]\n\n    for sql in sql_with_aggr:\n        assert contains_aggregation(sql)\n\n    for sql in sql_without_aggr:\n        assert not contains_aggregation(sql)\n\n\ndef test_contains_sql_keyword():\n    sql_with_keywords = [\n        \"select col from table\",\n        \"drop table\",\n        \"delete from *\",\n        # \"where 1\",\n        # \"column\",\n    ]\n\n    sql_without_keywords = [\n        \"distinct\",\n        \"avg(`select`)\",\n        \"ifnull(col)\",\n        \"avg(col)\",\n        \"col\",\n        \"a + b\",\n        \"(a) + (b)\",\n        \"(a + b)\",\n    ]\n\n    for sql in sql_with_keywords:\n        assert contains_sql_keywords(sql)\n\n    for sql in sql_without_keywords:\n        assert not contains_sql_keywords(sql)\n\n\ndef test_adhoc_datatable_no_columns():\n    size = 10\n    column_types = dict(partner_name=str, adhoc_metric=float)\n    data = create_adhoc_data(column_types, size)\n\n    name = \"adhoc_table1\"\n    primary_key = [\"partner_name\"]\n\n    dt = AdHocDataTable(\n        name,\n        data,\n        TableTypes.METRIC,\n        primary_key=primary_key,\n        # With this setup it creates fields for all columns in the table\n        columns=None,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n        use_full_column_names=True,\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    assert ds.has_dimension(\"main_adhoc_table1_partner_name\")\n    ds.print_info()\n\n\ndef test_adhoc_datatable_has_columns():\n    size = 10\n    column_types = dict(partner_name=str, adhoc_metric=float)\n    data = create_adhoc_data(column_types, size)\n\n    name = \"adhoc_table1\"\n    primary_key = [\"partner_name\"]\n\n    columns = OrderedDict(partner_name={\"fields\": [\"partner_name\"]})\n\n    dt = AdHocDataTable(\n        name,\n        data,\n        TableTypes.METRIC,\n        primary_key=primary_key,\n        # With this setup it will only create fields for columns specified\n        columns=columns,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    assert ds.has_dimension(\"partner_name\")\n    assert not ds.has_metric(\"adhoc_metric\")\n\n\ndef test_csv_datatable():\n    name = \"dma_zip\"\n    file_name = \"dma_zip.csv\"\n    primary_key = [\"Zip_Code\"]\n\n    columns = OrderedDict(\n        Zip_Code={\"fields\": [\"Zip_Code\"]}, DMA_Code={\"fields\": [\"DMA_Code\"]}\n    )\n\n    dt = CSVDataTable(\n        name,\n        file_name,\n        TableTypes.DIMENSION,\n        primary_key=primary_key,\n        columns=columns,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    ds.print_info()\n    assert \"Zip_Code\" in ds.get_dimensions()\n\n\ndef test_excel_datatable():\n    name = \"dma_zip\"\n    file_name = \"dma_zip.xlsx\"\n    primary_key = [\"Zip_Code\"]\n\n    columns = OrderedDict(\n        Zip_Code={\"fields\": [\"Zip_Code\"]}, DMA_Code={\"fields\": [\"DMA_Code\"]}\n    )\n\n    dt = ExcelDataTable(\n        name,\n        file_name,\n        TableTypes.DIMENSION,\n        primary_key=primary_key,\n        columns=columns,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    dims = ds.get_dimensions()\n    assert \"Zip_Code\" in dims\n    assert \"DMA_Description\" not in dims\n\n\ndef test_json_datatable():\n    name = \"dma_zip\"\n    file_name = \"dma_zip.json\"\n    primary_key = [\"Zip_Code\"]\n\n    dt = JSONDataTable(\n        name,\n        file_name,\n        TableTypes.DIMENSION,\n        primary_key=primary_key,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n        use_full_column_names=True,\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    assert \"main_dma_zip_Zip_Code\" in ds.get_dimensions()\n\n\ndef test_html_datatable():\n    name = \"dma_zip\"\n    file_name = \"dma_zip.html\"\n    primary_key = [\"Zip_Code\"]\n\n    dt = HTMLDataTable(\n        name,\n        file_name,\n        TableTypes.DIMENSION,\n        primary_key=primary_key,\n        if_exists=IfExistsModes.REPLACE,\n        schema=\"main\",\n        use_full_column_names=True,\n    )\n    ds = DataSource.from_datatables(\"adhoc_ds\", [dt])\n    assert \"main_dma_zip_Zip_Code\" in ds.get_dimensions()\n"
  },
  {
    "path": "tests/test_duckdb.py",
    "content": "import pytest\n\nfrom .test_utils import *\nfrom zillion.core import *\nfrom zillion.datasource import *\n\n\n@pytest.mark.skipif(not pytest.importorskip(\"duckdb\"), reason=\"duckdb not installed\")\ndef test_duckdb_datasource(duckdb_wh):\n    metrics = [\"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = duckdb_wh.execute(metrics, dimensions=dimensions)\n    assert result\n    info(result.df)\n\n\n# TODO no support to kill queries in duckdb yet!\n\n# def test_duckdb_sequential_timeout(duckdb_wh):\n#     with update_zillion_config(\n#         dict(\n#             DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n#             DATASOURCE_QUERY_TIMEOUT=1e-2,\n#         )\n#     ):\n#         metrics = [\"leads\"]\n#         dimensions = [\"benchmark\"]\n#         with pytest.raises(DataSourceQueryTimeoutException):\n#             duckdb_wh.execute(metrics, dimensions=dimensions)\n\n\n# def test_duckdb_multithreaded_timeout(duckdb_wh):\n#     with update_zillion_config(\n#         dict(\n#             DATASOURCE_QUERY_MODE=DataSourceQueryModes.MULTITHREAD,\n#             DATASOURCE_QUERY_TIMEOUT=1e-2,\n#         )\n#     ):\n#         metrics = [\"cost\"]\n#         dimensions = [\"benchmark\"]\n#         with pytest.raises(DataSourceQueryTimeoutException):\n#             duckdb_wh.execute(metrics, dimensions=dimensions)\n\n\n@pytest.mark.skipif(not pytest.importorskip(\"duckdb\"), reason=\"duckdb not installed\")\ndef test_duckdb_date_dimension_conversions(duckdb_wh):\n    params = get_date_conversion_test_params()\n    result = duckdb_wh.execute(**params)\n    assert result\n    df = result.df.reset_index()\n    row = df.iloc[0]\n    info(df)\n    for field, value in EXPECTED_DATE_CONVERSION_VALUES:\n        print(f\"Checking {field} = {value}\")\n        assert row[field] == value\n\n\n@pytest.mark.skipif(not pytest.importorskip(\"duckdb\"), reason=\"duckdb not installed\")\ndef test_duckdb_where_criteria_conversions(duckdb_wh):\n    metrics = [\"leads\"]\n    dimensions = [\"campaign_created_at\"]\n    for field, op, val in CRITERIA_CONVERSION_TESTS:\n        print(\"criteria:\", field, op, val)\n        criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\"), (field, op, val)]\n        result = wh_execute(duckdb_wh, locals())\n        assert result.df.index.any()\n        assert len(result.df) == 1\n        assert result.df[\"leads\"][0] == 1\n"
  },
  {
    "path": "tests/test_duckdb_wh_config.json",
    "content": "{\n    \"metrics\": [\n        {\n            \"name\": \"rpl\",\n            \"display_name\": \"Revenue/Lead\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\",\n            \"description\": \"Revenue per Lead\",\n            \"meta\": {\n                \"metafield\": \"metavalue\"\n            }\n        },\n        {\n            \"name\": \"rpl_weighted\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\",\n            \"weighting_metric\": \"main_sales_quantity\"\n        },\n        {\n            \"name\": \"rpl_lead_weighted\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\",\n            \"weighting_metric\": \"leads\"\n        },\n        {\n            \"name\": \"rpl_lead_formula_weighted\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\",\n            \"weighting_metric\": \"leads_formula\"\n        },\n        {\n            \"name\": \"rps_lead_weighted\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{sales}\",\n            \"weighting_metric\": \"leads\"\n        },\n        {\n            \"name\": \"rpl_squared\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{rpl}*{rpl}\"\n        },\n        {\n            \"name\": \"rpl_unsquared\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{rpl_squared}/{rpl}\"\n        },\n        {\n            \"name\": \"rpl_ma_5\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\",\n            \"technical\": \"mean(5)\"\n        },\n        {\n            \"name\": \"revenue\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"divisors\": {\n                \"metrics\": [\n                    \"leads\",\n                    \"sales\"\n                ],\n                \"rounding\": 2,\n                \"formula\": \"1.0*IFNULL({metric},0)/{divisor}\"\n            }\n        },\n        {\n            \"name\": \"revenue_ma_5\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"mean(5)\"\n        },\n        {\n            \"name\": \"revenue_sum_5\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"sum(5)\"\n        },\n        {\n            \"name\": \"revenue_cumsum\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"cumsum\"\n        },\n        {\n            \"name\": \"revenue_boll_5\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"boll(5)\"\n        },\n        {\n            \"name\": \"revenue_diff\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"diff\"\n        },\n        {\n            \"name\": \"revenue_pct_diff\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2,\n            \"technical\": \"pct_change\"\n        },\n        {\n            \"name\": \"revenue_ds\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2\n        },\n        {\n            \"name\": \"leads\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"leads_formula\",\n            \"formula\": \"{leads}\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"sales\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"revenue_required_grain\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"required_grain\": [\n                \"campaign_name\"\n            ]\n        },\n        {\n            \"name\": \"revenue_ifnull\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"ifnull\": 0\n        },\n        {\n            \"name\": \"revenue_per_lead_required_grain\",\n            \"aggregation\": \"mean\",\n            \"formula\": \"1.0*{revenue}/{leads}\",\n            \"required_grain\": [\n                \"campaign_name\"\n            ]\n        },\n        {\n            \"name\": \"revenue_formula_required_grain\",\n            \"aggregation\": \"mean\",\n            \"formula\": \"1.0*{revenue_required_grain}\"\n        },\n        {\n            \"name\": \"repeated_metric\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        }\n    ],\n    \"dimensions\": [\n        {\n            \"name\": \"partner_name\",\n            \"type\": \"string(32)\",\n            \"values\": [\n                \"Partner C\",\n                \"Partner B\",\n                \"Partner A\"\n            ],\n            \"sorter\": \"zillion.field.sort_by_value_order\"\n        },\n        {\n            \"name\": \"partner_name_formula\",\n            \"formula\": \"IFNULL({partner_name}, 'test')\"\n        },\n        {\n            \"name\": \"partner_name_formula_nested\",\n            \"formula\": \"{partner_name_formula}\"\n        }\n    ],\n    \"datasources\": {\n        \"zillion_test\": {\n            \"connect\": \"duckdb:///zillion_test\",\n            \"metrics\": [\n                {\n                    \"name\": \"lead_count\",\n                    \"type\": \"integer\",\n                    \"aggregation\": \"count\"\n                },\n                {\n                    \"name\": \"lead_count_distinct\",\n                    \"type\": \"integer\",\n                    \"aggregation\": \"count_distinct\"\n                },\n                {\n                    \"name\": \"ds_sales\",\n                    \"type\": \"integer\",\n                    \"aggregation\": \"sum\"\n                },\n                {\n                    \"name\": \"revenue_mean\",\n                    \"type\": \"numeric(10,2)\",\n                    \"aggregation\": \"mean\",\n                    \"rounding\": 2,\n                    \"weighting_metric\": \"main_sales_quantity\"\n                },\n                {\n                    \"name\": \"revenue_mean_ds_weighted\",\n                    \"type\": \"numeric(10,2)\",\n                    \"aggregation\": \"mean\",\n                    \"rounding\": 2,\n                    \"weighting_metric\": \"main_sales_quantity\"\n                }\n            ],\n            \"dimensions\": [\n                {\n                    \"name\": \"ds_partner_name\",\n                    \"type\": \"string(50)\"\n                },\n                {\n                    \"name\": \"campaign_name_length\",\n                    \"type\": \"integer\"\n                },\n                {\n                    \"name\": \"revenue_decile\",\n                    \"type\": \"integer\"\n                },\n                {\n                    \"name\": \"benchmark\",\n                    \"type\": \"string\"\n                }\n            ],\n            \"tables\": {\n                \"main.partners\": {\n                    \"type\": \"dimension\",\n                    \"create_fields\": true,\n                    \"siblings\": [\n                        \"main.partner_sibling\"\n                    ],\n                    \"primary_key\": [\n                        \"partner_id\"\n                    ],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"partner_id\"\n                            ]\n                        },\n                        \"name\": {\n                            \"fields\": [\n                                \"partner_name\",\n                                \"ds_partner_name\",\n                                {\n                                    \"name\": \"benchmark\",\n                                    \"ds_formula\": \"generate_series(1,8000000)\"\n                                }\n                            ]\n                        }\n                    }\n                },\n                \"main.partner_sibling\": {\n                    \"type\": \"dimension\",\n                    \"create_fields\": true,\n                    \"primary_key\": [\n                        \"partner_id\"\n                    ],\n                    \"columns\": {\n                        \"partner_id\": {\n                            \"fields\": [\n                                \"partner_id\"\n                            ]\n                        },\n                        \"sibling_dim\": {\n                            \"fields\": [\n                                \"partner_sibling_dim\"\n                            ]\n                        }\n                    }\n                },\n                \"main.campaigns\": {\n                    \"type\": \"dimension\",\n                    \"create_fields\": true,\n                    \"parent\": \"main.partners\",\n                    \"primary_key\": [\n                        \"campaign_id\"\n                    ],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"campaign_id\"\n                            ]\n                        },\n                        \"name\": {\n                            \"fields\": [\n                                \"campaign_name\",\n                                {\n                                    \"name\": \"campaign_name_length\",\n                                    \"ds_formula\": \"LENGTH(campaigns.name)\"\n                                }\n                            ]\n                        },\n                        \"partner_id\": {\n                            \"fields\": [\n                                \"partner_id\"\n                            ]\n                        },\n                        \"created_at\": {\n                            \"fields\": [\n                                \"campaign_created_at\"\n                            ],\n                            \"allow_type_conversions\": true,\n                            \"type_conversion_prefix\": \"campaign_\"\n                        }\n                    }\n                },\n                \"main.leads\": \"test_table_config.json\",\n                \"main.sales\": {\n                    \"type\": \"metric\",\n                    \"priority\": 2,\n                    \"create_fields\": true,\n                    \"parent\": \"main.leads\",\n                    \"primary_key\": [\n                        \"sale_id\"\n                    ],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"sale_id\",\n                                {\n                                    \"name\": \"sales\",\n                                    \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                                },\n                                {\n                                    \"name\": \"ds_sales\",\n                                    \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                                },\n                                {\n                                    \"name\": \"repeated_metric\",\n                                    \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                                }\n                            ]\n                        },\n                        \"created_at\": {\n                            \"allow_type_conversions\": true,\n                            \"type_conversion_prefix\": \"sale_\"\n                        },\n                        \"lead_id\": {\n                            \"fields\": [\n                                {\n                                    \"name\": \"lead_id\",\n                                    \"ds_formula\": \"sales.lead_id\",\n                                    \"ds_criteria_conversions\": {\n                                        \"=\": [\n                                            [\n                                                \"=\",\n                                                \"{}\"\n                                            ]\n                                        ]\n                                    }\n                                }\n                            ]\n                        },\n                        \"revenue\": {\n                            \"fields\": [\n                                \"revenue\",\n                                \"revenue_ma_5\",\n                                \"revenue_sum_5\",\n                                \"revenue_boll_5\",\n                                \"revenue_cumsum\",\n                                \"revenue_diff\",\n                                \"revenue_pct_diff\",\n                                \"revenue_mean\",\n                                \"revenue_required_grain\",\n                                \"revenue_ifnull\",\n                                {\n                                    \"name\": \"revenue_ds\",\n                                    \"ds_formula\": \"IFNULL(sales.revenue, 0)\"\n                                },\n                                {\n                                    \"name\": \"revenue_mean_ds_weighted\",\n                                    \"ds_formula\": \"SUM(1.0*sales.revenue*sales.quantity)/SUM(sales.quantity)\"\n                                },\n                                {\n                                    \"name\": \"revenue_decile\",\n                                    \"ds_formula\": \"10*ROUND(sales.revenue/10.0, 0)\"\n                                }\n                            ]\n                        }\n                    }\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/test_example_wh_config.py",
    "content": "from zillion.configs import load_warehouse_config\nfrom zillion.core import RollupTypes, info\nfrom zillion.warehouse import Warehouse\n\n\nconfig = load_warehouse_config(\"../examples/example_wh_config.json\")\n\n\ndef test_example_wh_init():\n    wh = Warehouse(config=config)\n    wh.print_info()\n\n\ndef test_example_wh_report1():\n    wh = Warehouse(config=config)\n    result = wh.execute(\n        metrics=[\"sales\", \"leads\", \"revenue\"], dimensions=[\"partner_name\"]\n    )\n    assert result\n    info(result.df)\n\n\ndef test_example_wh_report2():\n    wh = Warehouse(config=config)\n    result = wh.execute(\n        metrics=[\"sales\", \"leads\", \"revenue\"],\n        dimensions=[\"campaign_name\"],\n        criteria=[(\"partner_name\", \"=\", \"Partner A\")],\n    )\n    assert result\n    info(result.df)\n\n\ndef test_example_wh_report3():\n    wh = Warehouse(config=config)\n    result = wh.execute(\n        metrics=[\"sales\", \"leads\", \"revenue\"],\n        dimensions=[\"partner_name\", \"campaign_name\"],\n        rollup=RollupTypes.ALL,\n    )\n    assert result\n    info(result.df)\n"
  },
  {
    "path": "tests/test_include_wh_config.json",
    "content": "{\n    \"metrics\": [\n        {\n            \"name\": \"rpl_include\",\n            \"aggregation\": \"mean\",\n            \"rounding\": 2,\n            \"formula\": \"{revenue}/{leads}\"\n        }\n    ],\n    \"datasources\": {\n        \"testdb1\": {\n            \"connect\": \"sqlite:///testdb1\",\n            \"tables\": {\n                \"main.partners\": {\n                    \"type\": \"dimension\",\n                    \"active\": false,\n                    \"primary_key\": [\n                        \"partner_id\"\n                    ],\n                    \"columns\": {\n                        \"id\": {\n                            \"fields\": [\n                                \"partner_id\"\n                            ]\n                        },\n                        \"name\": {\n                            \"fields\": [\n                                \"partner_name_include\"\n                            ]\n                        }\n                    }\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/test_mysql.py",
    "content": "import pytest\n\nfrom .test_utils import *\nfrom zillion.core import *\nfrom zillion.datasource import *\n\n\ndef test_mysql_datasource(mysql_wh):\n    metrics = [\"cost\", \"clicks\", \"transactions\"]\n    dimensions = [\"partner_name\"]\n    result = mysql_wh.execute(metrics, dimensions=dimensions)\n    assert result\n    info(result.df)\n\n\ndef test_mysql_table_data_url(mysql_ds_config, adhoc_config):\n    adhoc_table_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\n        \"main.dma_zip\"\n    ]\n    mysql_ds_config[\"tables\"][\"zillion_test.dma_zip\"] = adhoc_table_config\n    ds = DataSource(\"mysql\", config=mysql_ds_config)\n    assert ds.has_table(\"zillion_test.dma_zip\")\n\n\ndef test_mysql_ignore_table_data_url(mysql_ds_config, adhoc_config):\n    adhoc_table_config = adhoc_config[\"datasources\"][\"test_adhoc_db\"][\"tables\"][\n        \"main.dma_zip\"\n    ]\n    adhoc_table_config[\"if_exists\"] = IfExistsModes.IGNORE\n    mysql_ds_config[\"tables\"][\"zillion_test.dma_zip\"] = adhoc_table_config\n    ds = DataSource(\"mysql\", config=mysql_ds_config)\n    assert ds.has_table(\"zillion_test.dma_zip\")\n\n\ndef test_mysql_report_repeat_criteria(wh):\n    metrics = [\"rpl\", \"sales\"]\n    dimensions = [\"date\"]\n    criteria = [(\"date\", \">=\", \"2020-04-29\"), (\"date\", \"<\", \"2020-05-01\")]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n    info(result.df)\n\n\ndef test_mysql_sequential_timeout(mysql_wh):\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        metrics = [\"benchmark\"]\n        dimensions = [\"partner_name\"]\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = mysql_wh.execute(metrics, dimensions=dimensions)\n\n\ndef test_mysql_multithreaded_timeout(mysql_wh):\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.MULTITHREAD,\n            DATASOURCE_QUERY_TIMEOUT=1e-1,\n        )\n    ):\n        metrics = [\"benchmark\", \"transactions\"]\n        dimensions = [\"partner_name\"]\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = mysql_wh.execute(metrics, dimensions=dimensions)\n\n\ndef test_mysql_date_dimension_conversions(mysql_wh):\n    params = get_date_conversion_test_params()\n    result = mysql_wh.execute(**params)\n    assert result\n    df = result.df.reset_index()\n    row = df.iloc[0]\n    info(df)\n    for field, value in EXPECTED_DATE_CONVERSION_VALUES:\n        print(f\"Checking {field} = {value}\")\n        assert row[field] == value\n\n\ndef test_mysql_where_criteria_conversions(mysql_wh):\n    metrics = [\"clicks\"]\n    dimensions = [\"campaign_created_at\"]\n    for field, op, val in CRITERIA_CONVERSION_TESTS:\n        print(\"criteria:\", field, op, val)\n        criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\"), (field, op, val)]\n        result = wh_execute(mysql_wh, locals())\n        assert result.df.index.any()\n        assert len(result.df) == 1\n        assert result.df[\"clicks\"][0] == 85\n"
  },
  {
    "path": "tests/test_mysql_ds_config.json",
    "content": "{\n    \"connect\": \"mysql+pymysql://{user}@{host}/{schema}\",\n    \"prefix_with\": \"STRAIGHT_JOIN\",\n    \"metrics\": [\n        {\n            \"name\": \"clicks\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"cost\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2\n        }\n    ],\n    \"tables\": {\n        \"zillion_test.partners\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"partner_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"partner_name\"\n                    ]\n                }\n            }\n        },\n        \"zillion_test.campaigns\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"parent\": \"zillion_test.partners\",\n            \"primary_key\": [\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"campaign_name\"\n                    ]\n                },\n                \"partner_id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"created_at\": {\n                    \"fields\": [\n                        \"campaign_created_at\"\n                    ],\n                    \"allow_type_conversions\": true,\n                    \"type_conversion_prefix\": \"campaign_\"\n                }\n            }\n        },\n        \"zillion_test.campaign_cost\": {\n            \"type\": \"metric\",\n            \"create_fields\": true,\n            \"prefix_with\": \"STRAIGHT_JOIN\",\n            \"primary_key\": [\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"campaign_id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"cost\": {\n                    \"fields\": [\n                        \"cost\",\n                        {\n                            \"name\": \"benchmark\",\n                            \"ds_formula\": \"benchmark(2000000, md5('when will it end?'))\"\n                        }\n                    ]\n                },\n                \"clicks\": {\n                    \"fields\": [\n                        \"clicks\"\n                    ]\n                }\n            }\n        },\n        \"zillion_test2.campaign_transactions\": {\n            \"type\": \"metric\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"transaction_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"transaction_id\",\n                        {\n                            \"name\": \"transactions\",\n                            \"ds_formula\": \"COUNT(DISTINCT campaign_transactions.id)\"\n                        }\n                    ]\n                },\n                \"campaign_id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/test_nlp.py",
    "content": "from datetime import datetime, timedelta\n\nimport pytest\n\nfrom .test_utils import *\nfrom zillion.nlp import *\n\n\ndef n_days_ago(n):\n    return (datetime.now() - timedelta(days=n)).date()\n\n\nGENERIC_NLP_QUERIES = [\n    [\n        \"show me revenue and sales for yesterday\",\n        dict(\n            metrics=[\"revenue\", \"sales\"],\n            criteria=[[\"date\", \"=\", str(n_days_ago(1))]],\n        ),\n    ],\n    [\n        \"revenue and sales by date for the last 30 days. Rows with more than 5 sales.\",\n        dict(\n            metrics=[\"revenue\", \"sales\"],\n            dimensions=[\"date\"],\n            criteria=[[\"date\", \">=\", str(n_days_ago(30))]],\n            row_filters=[[\"sales\", \">\", 5]],\n        ),\n    ],\n    [\n        \"top 10 campaigns by revenue yesterday for ad engine Google. Include totals.\",\n        dict(\n            metrics=[\"revenue\"],\n            dimensions=[\"campaign\"],\n            criteria=[\n                [\"date\", \"=\", str(n_days_ago(1))],\n                [\"ad_engine\", \"=\", \"Google\"],\n            ],\n            limit=10,\n            order_by=[[\"revenue\", \"desc\"]],\n            rollup=\"totals\",\n        ),\n    ],\n]\n\n\n@pytest.mark.nlp\ndef test_text_to_report_no_fields():\n    for query, expected in GENERIC_NLP_QUERIES:\n        print(f\"Testing query: {query}\")\n        report = text_to_report_params(query, prompt_version=\"no_fields\")\n        print(f\"Report: {report}\")\n        assert report == expected\n\n\nALL_FIELDS_NLP_QUERIES = [\n    [\n        \"show me revenue and sales for yesterday\",\n        dict(\n            metrics=[\"revenue\", \"sales\"],\n            criteria=[[\"date\", \"=\", str(n_days_ago(1))]],\n        ),\n    ],\n]\n\n\n@pytest.mark.nlp\ndef test_text_to_report_all_fields(config):\n    wh = Warehouse(config=config)\n    for query, expected in ALL_FIELDS_NLP_QUERIES:\n        print(f\"Testing query: {query}\")\n        report = text_to_report_params(query, warehouse=wh, prompt_version=\"all_fields\")\n        print(f\"Report: {report}\")\n        assert report == expected\n\n\nDIMENSION_FIELDS_NLP_QUERIES = [\n    [\n        \"show me revenue and sales for yesterday\",\n        dict(\n            metrics=[\"revenue\", \"sales\"],\n            criteria=[[\"date\", \"=\", str(n_days_ago(1))]],\n        ),\n    ],\n]\n\n\n@pytest.mark.nlp\ndef test_text_to_report_dimension_fields(config):\n    wh = Warehouse(config=config)\n    for query, expected in DIMENSION_FIELDS_NLP_QUERIES:\n        print(f\"Testing query: {query}\")\n        report = text_to_report_params(\n            query, warehouse=wh, prompt_version=\"dimension_fields\"\n        )\n        print(f\"Report: {report}\")\n        assert report == expected\n\n\n@pytest.mark.nlp\ndef test_init_warehouse_embeddings(config):\n    wh = Warehouse(config=config)\n    wh.init_embeddings(force_recreate=True)\n\n    # Query the embeddings API to confirm that meta settings are honored\n    res = embeddings_api.get_embeddings(wh._get_embeddings_collection_name())\n    res = {row[\"payload\"][\"page_content\"]: row for row in res}\n    info(res)\n    # These fields had embeddings set manually\n    assert res[\"Revenue per Lead Meta\"][\"payload\"][\"metadata\"][\"name\"] == \"rpl\"\n    assert res[\"rpl weighted 2\"][\"payload\"][\"metadata\"][\"name\"] == \"rpl_lead_weighted\"\n\n    # This has nlp disabled at field level\n    assert \"rpl weighted\" not in res\n    # This has nlp disabled via regex\n    assert \"rpl_ma_5\" not in res\n    # This has nlp disabled via group\n    assert \"rpl_unsquared\" not in res\n\n    # This got added in error at one point and may be a bug!\n    # Make sure it doesnt show up again.\n    assert \"year2\" not in res\n\n\n@pytest.mark.nlp\ndef test_openai_embeddings_cached():\n    key = zillion_config[\"OPENAI_API_KEY\"]\n    emb = OpenAIEmbeddingsCached(openai_api_key=key)\n    res = emb.embed_query(\"revenue\")\n    assert emb._cache[\"revenue\"] == res\n\n    res = emb.embed_documents([\"sales\", \"revenue\"])\n    assert emb._cache[\"sales\"] == res[0]\n    assert emb._cache[\"revenue\"] == res[1]\n\n\n@pytest.mark.nlp\ndef test_map_warehouse_report_params(config):\n    wh = Warehouse(config=config)\n    wh.init_embeddings()\n    query = \"Revenue and Sales by day for the last 7 days\"\n    params = text_to_report_params(query)\n    report = map_warehouse_report_params(wh, params)\n    expected = dict(\n        metrics=[\"revenue\", \"sales\"],\n        dimensions=[\"date\"],\n        criteria=[(\"date\", \">=\", str(n_days_ago(7)))],\n    )\n    assert report == expected\n\n\n@pytest.mark.nlp\ndef test_warehouse_execute_text(config):\n    wh = Warehouse(config=config)\n    query = \"revenue and sales by campaign name\"\n    res = wh.execute_text(query)\n    assert res and res.rowcount == 5 and res.df.loc[\"Campaign 1A\"][\"revenue\"] == 83.0\n\n\n@pytest.mark.nlp\ndef test_nlp_datasource_from_db_file(ds_config):\n    ds_name = \"testdb1\"\n    data_url = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\n    ds = DataSource.from_db_file(\n        data_url, name=ds_name, config=ds_config, if_exists=\"replace\", nlp=True\n    )\n    assert ds\n    print()  # Format test output\n    ds.print_info()\n"
  },
  {
    "path": "tests/test_performance.py",
    "content": "import contextlib\nimport cProfile\nimport pstats\nimport pytest\nimport time\n\nfrom .test_utils import *\nfrom zillion.core import *\nfrom zillion.datasource import *\n\n\n@contextlib.contextmanager\ndef profiled(pattern=None):\n    pr = cProfile.Profile()\n    pr.enable()\n    yield\n    pr.disable()\n    stats = pstats.Stats(pr)\n    stats.sort_stats(\"cumulative\")\n    dbg(\"Top 10 calls by cumulative time:\")\n    stats.print_stats(10)\n    if pattern:\n        stats.sort_stats(\"time\")\n        dbg(\"Top 10 %s calls by function time:\" % pattern)\n        stats.print_stats(pattern, 10)\n\n\ndef get_adhoc_ds(size):\n    metrics = [\"adhoc_metric1\", \"adhoc_metric2\", \"adhoc_metric3\", \"adhoc_metric4\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_id\"]\n    primary_key = [\"partner_name\"]\n\n    column_types = dict(\n        partner_name=str,\n        campaign_name=str,\n        lead_id=int,\n        adhoc_metric1=float,\n        adhoc_metric2=float,\n        adhoc_metric3=float,\n        adhoc_metric4=float,\n    )\n\n    table_config = {\n        \"type\": TableTypes.METRIC,\n        \"if_exists\": IfExistsModes.REPLACE,\n        \"create_fields\": True,\n        \"columns\": OrderedDict(\n            partner_name={\"fields\": [\"partner_name\"]},\n            campaign_name={\"fields\": [\"campaign_name\"]},\n            lead_id={\"fields\": [\"lead_id\"]},\n            adhoc_metric1={\"fields\": [\"adhoc_metric1\"]},\n            adhoc_metric2={\"fields\": [\"adhoc_metric2\"]},\n            adhoc_metric3={\"fields\": [\"adhoc_metric3\"]},\n            adhoc_metric4={\"fields\": [\"adhoc_metric4\"]},\n        ),\n    }\n\n    start = time.time()\n    dt = create_adhoc_datatable(\n        \"adhoc_table1\", table_config, primary_key, column_types, size\n    )\n    adhoc_ds = DataSource.from_datatables(\"adhoc_large_db\", [dt])\n    dbg(\"Created DataSource in %.3fs\" % (time.time() - start))\n    return metrics, dimensions, adhoc_ds\n\n\n@pytest.mark.longrun\ndef test_performance_adhoc_ds(wh):\n    size = 1e5\n    metrics, dimensions, adhoc_ds = get_adhoc_ds(size)\n    with profiled(\"zillion\"):\n        result = wh.execute(\n            metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n        )\n    assert result\n\n\n@pytest.mark.longrun\ndef test_performance_multi_rollup(wh):\n    size = 1e5\n    metrics, dimensions, adhoc_ds = get_adhoc_ds(size)\n    rollup = 2\n    with profiled(\"zillion\"):\n        result = wh.execute(\n            metrics, dimensions=dimensions, rollup=rollup, adhoc_datasources=[adhoc_ds]\n        )\n    assert result\n"
  },
  {
    "path": "tests/test_postgresql.py",
    "content": "import pytest\n\nfrom .test_utils import *\nfrom zillion.core import *\nfrom zillion.datasource import *\n\n\ndef test_postgresql_datasource(postgresql_wh):\n    metrics = [\"cost\", \"clicks\", \"transactions\"]\n    dimensions = [\"partner_name\"]\n    result = postgresql_wh.execute(metrics, dimensions=dimensions)\n    assert result\n    info(result.df)\n\n\ndef test_postgresql_sequential_timeout(postgresql_wh):\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        metrics = [\"cost\"]\n        dimensions = [\"benchmark\"]\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = postgresql_wh.execute(metrics, dimensions=dimensions)\n            info(result.df)\n\n\ndef test_postgresql_multithreaded_timeout(postgresql_wh):\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.MULTITHREAD,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        metrics = [\"cost\"]\n        dimensions = [\"benchmark\"]\n        with pytest.raises(DataSourceQueryTimeoutException):\n            postgresql_wh.execute(metrics, dimensions=dimensions)\n\n\ndef test_postgresql_date_dimension_conversions(postgresql_wh):\n    params = get_date_conversion_test_params()\n    result = postgresql_wh.execute(**params)\n    assert result\n    df = result.df.reset_index()\n    row = df.iloc[0]\n    info(df)\n    for field, value in EXPECTED_DATE_CONVERSION_VALUES:\n        print(f\"Checking {field} = {value}\")\n        assert row[field] == value\n\n\ndef test_postgresql_where_criteria_conversions(postgresql_wh):\n    metrics = [\"clicks\"]\n    dimensions = [\"campaign_created_at\"]\n    for field, op, val in CRITERIA_CONVERSION_TESTS:\n        print(\"criteria:\", field, op, val)\n        criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\"), (field, op, val)]\n        result = wh_execute(postgresql_wh, locals())\n        assert result.df.index.any()\n        assert len(result.df) == 1\n        assert result.df[\"clicks\"][0] == 85\n"
  },
  {
    "path": "tests/test_postgresql_ds_config.json",
    "content": "{\n    \"connect\": \"postgresql+psycopg2://{user}@{host}/{schema}\",\n    \"metrics\": [\n        {\n            \"name\": \"clicks\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        },\n        {\n            \"name\": \"cost\",\n            \"type\": \"numeric(10,2)\",\n            \"aggregation\": \"sum\",\n            \"rounding\": 2\n        }\n    ],\n    \"dimensions\": [\n        {\n            \"name\": \"benchmark\",\n            \"type\": \"integer\"\n        }\n    ],\n    \"tables\": {\n        \"zillion_test.partners\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"partner_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"partner_name\"\n                    ]\n                }\n            }\n        },\n        \"zillion_test.campaigns\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"parent\": \"zillion_test.partners\",\n            \"primary_key\": [\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"campaign_name\"\n                    ]\n                },\n                \"partner_id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"created_at\": {\n                    \"fields\": [\n                        \"campaign_created_at\"\n                    ],\n                    \"allow_type_conversions\": true,\n                    \"type_conversion_prefix\": \"campaign_\"\n                }\n            }\n        },\n        \"zillion_test.campaign_cost\": {\n            \"type\": \"metric\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"campaign_id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"cost\": {\n                    \"fields\": [\n                        \"cost\",\n                        {\n                            \"name\": \"benchmark\",\n                            \"ds_formula\": \"generate_series(1,2000000) / generate_series(1,2000000)\"\n                        }\n                    ]\n                },\n                \"clicks\": {\n                    \"fields\": [\n                        \"clicks\"\n                    ]\n                }\n            }\n        },\n        \"zillion_test.campaign_transactions\": {\n            \"type\": \"metric\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"transaction_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"transaction_id\",\n                        {\n                            \"name\": \"transactions\",\n                            \"ds_formula\": \"COUNT(DISTINCT campaign_transactions.id)\"\n                        }\n                    ]\n                },\n                \"campaign_id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/test_reports.py",
    "content": "import pytest\nimport threading\n\nimport pandas as pd\n\nfrom .test_utils import *\nfrom zillion.configs import zillion_config\nfrom zillion.core import *\nfrom zillion.field import Metric\nfrom zillion.report import ROLLUP_INDEX_LABEL\n\n\ndef test_basic_report(wh):\n    metrics = [\"revenue\", \"main_sales_quantity\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    row_filters = [(\"revenue\", \">\", 11)]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_none_criteria(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"partner_name\", \"=\", None)]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount == 0\n    info(result.df)\n\n\ndef test_report_invalid_criteria_value(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\"]\n    criteria = [(\"partner_name\", \"=\", \"XYZ\")]\n    with pytest.raises(InvalidDimensionValueException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_criteria_values_from_callable(wh):\n    field = wh.get_field(\"partner_name\")\n    field.values = \"zillion.field.values_from_db\"\n\n    conn = zillion_engine.connect()\n    try:\n        conn.execute(\n            DimensionValues.insert(),\n            name=\"partner_name\",\n            warehouse_id=0,\n            values=json.dumps([\"Partner A\", \"Partner B\", \"Partner C\", \"XYZ\"]),\n        )\n    except sa.exc.IntegrityError:\n        pass\n    finally:\n        conn.close()\n\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\"]\n    criteria = [(\"partner_name\", \"=\", \"ABC\")]\n    with pytest.raises(InvalidDimensionValueException):\n        result = wh_execute(wh, locals())\n\n    # This is added as an acceptable value in the list returned\n    # by get_partner_name_values, but isn't an actual partner value\n    criteria = [(\"partner_name\", \"=\", \"XYZ\")]\n    result = wh_execute(wh, locals())\n    assert len(result.df) == 0\n\n    # Should allow comparing to lists of values\n    criteria = [(\"partner_name\", \"in\", [\"Partner A\", \"XYZ\"])]\n    result = wh_execute(wh, locals())\n    assert len(result.df) == 1\n\n    criteria = [(\"partner_name\", \"in\", [\"ABC\"])]\n    with pytest.raises(InvalidDimensionValueException):\n        result = wh_execute(wh, locals())\n\n    # NULL comparisons should be allowed\n    criteria = [(\"partner_name\", \"=\", None)]\n    result = wh_execute(wh, locals())\n    assert len(result.df) == 0\n\n\ndef test_report_sequential_timeout(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = wh.execute(\n                metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n            )\n\n\ndef test_report_multithreaded_timeout(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.MULTITHREAD,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = wh.execute(\n                metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n            )\n\n\ndef test_report_one_worker(wh):\n    metrics = [\"sales\", \"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.MULTITHREAD,\n            DATASOURCE_QUERY_WORKERS=1,\n        )\n    ):\n        result = wh_execute(wh, locals())\n\n\n@pytest.mark.longrun\ndef test_report_reuse_after_timeout(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n            DATASOURCE_QUERY_TIMEOUT=1e-2,\n        )\n    ):\n        report = Report(\n            wh, metrics=metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n        )\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = report.execute()\n\n    result = report.execute()\n    assert result\n    info(result.df)\n\n\ndef test_report_kill(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    t = None\n\n    try:\n        report = Report(\n            wh, metrics=metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n        )\n\n        t = threading.Timer(0.1, report.kill, kwargs=dict(raise_if_failed=True))\n        t.start()\n        with pytest.raises(ExecutionKilledException):\n            result = report.execute()\n    finally:\n        if t:\n            t.cancel()\n\n\ndef test_report_reuse_after_kill(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    criteria = [(\"partner_name\", \"like\", \"%zz%\")]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    t = None\n\n    try:\n        report = Report(\n            wh,\n            metrics=metrics,\n            dimensions=dimensions,\n            criteria=criteria,\n            adhoc_datasources=[adhoc_ds],\n        )\n\n        t = threading.Timer(0.01, report.kill)\n        t.start()\n        with pytest.raises(ExecutionKilledException):\n            result = report.execute()\n    finally:\n        if t:\n            t.cancel()\n\n    result = report.execute()\n    assert result\n    info(result.df)\n\n\ndef test_report_timeout_then_kill(wh):\n    metrics = [\"adhoc_metric\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    adhoc_ds = get_adhoc_datasource(size=1e6, name=\"adhoc_large_db\", reuse=True)\n    t = None\n\n    with update_zillion_config(\n        dict(\n            DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n            DATASOURCE_QUERY_TIMEOUT=1e-3,\n        )\n    ):\n        report = Report(\n            wh, metrics=metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n        )\n        with pytest.raises(DataSourceQueryTimeoutException):\n            result = report.execute()\n\n    try:\n        t = threading.Timer(0.1, report.kill)\n        t.start()\n        with pytest.raises(ExecutionKilledException):\n            result = report.execute()\n    finally:\n        if t:\n            t.cancel()\n\n\ndef test_impossible_report(wh):\n    metrics = [\"leads\"]\n    dimensions = [\"sale_id\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_count_aggr(wh):\n    metrics = [\"leads\", \"lead_count\", \"lead_count_distinct\"]\n    dimensions = [\"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_criteria_between(wh):\n    metrics = [\"leads\"]\n    dimensions = [\"lead_id\"]\n    criteria = [(\"lead_id\", \"between\", [1, 5])]\n\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n\n    criteria = [(\"lead_id\", \"not between\", [1, 10])]\n    result = wh_execute(wh, locals())\n    assert result.rowcount == 0\n\n\ndef test_report_criteria_in(wh):\n    metrics = [\"leads\"]\n    dimensions = [\"date\"]\n    criteria = [(\"date\", \"in\", [\"2020-04-29\", \"2020-04-30\"])]\n\n    result = wh_execute(wh, locals())\n    assert result\n\n    criteria = [(\"date\", \"not in\", [\"2020-04-29\", \"2020-04-30\"])]\n    result = wh_execute(wh, locals())\n    assert result.rowcount == 0\n\n    criteria = [(\"date\", \"in\", \"2020-04-29, 2020-04-30\")]\n    result = wh_execute(wh, locals())\n    assert result.rowcount == 0\n\n\ndef test_report_criteria_like(wh):\n    metrics = [\"leads\"]\n    dimensions = [\"campaign_name\"]\n    criteria = [(\"campaign_name\", \"like\", [\"%1%\", \"%2%\"])]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result and result.rowcount == 5\n\n\ndef test_report_repeat_criteria(wh):\n    metrics = [\"rpl\", \"sales\"]\n    dimensions = [\"date\"]\n    criteria = [(\"date\", \">\", \"2020-04-29\"), (\"date\", \"<\", \"2020-05-01\")]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n    info(result.df)\n\n\ndef test_report_between_date_criteria(wh):\n    metrics = [\"rpl\", \"sales\"]\n    dimensions = [\"date\"]\n    criteria = [(\"date\", \"between\", [\"2020-04-29\", \"2020-05-01\"])]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n    info(result.df)\n\n\ndef test_row_filter_single_dimension(wh):\n    metrics = [\"leads\", \"sales\"]\n    dimensions = [\"month\"]\n    criteria = [[\"year\", \"=\", \"2020\"]]\n    rollup = RollupTypes.TOTALS\n    row_filters = [[\"leads\", \">\", \"10\"]]\n    result = wh_execute(wh, locals())\n    info(result.df)\n\n\ndef test_row_filter_invalid_type(wh):\n    metrics = [\"leads\", \"sales\"]\n    dimensions = [\"month\"]\n    criteria = [[\"year\", \"=\", \"2020\"]]\n    rollup = RollupTypes.TOTALS\n    row_filters = [[\"leads\", \">\", \"x\"]]\n    with pytest.raises(ZillionException):\n        result = wh_execute(wh, locals())\n\n\ndef test_row_filter_formula_metric(wh):\n    metrics = [\"leads\", \"sales\", \"rpl\"]\n    dimensions = [\"date\"]\n    criteria = [[\"year\", \"=\", \"2020\"]]\n    row_filters = [[\"rpl\", \">\", \"500\"]]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result and result.rowcount == 0\n\n\ndef test_report_pivot(wh):\n    metrics = [\"revenue\", \"main_sales_quantity\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    row_filters = [(\"revenue\", \">\", 11)]\n    rollup = RollupTypes.TOTALS\n    pivot = [\"partner_name\"]\n    limit = 3\n    order_by = [(\"revenue\", OrderByTypes.ASC)]\n    result = wh_execute(wh, locals())\n    assert result and result.df.loc[\"Campaign 1C\"][\"revenue\"][\"Partner C\"] == 118.5\n    info(result.df)\n\n\ndef test_report_order_by(wh):\n    # Note: partner_name has custom sort setup in config\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    order_by = [(\"partner_name\", \"desc\"), (\"lead_id\", \"asc\")]\n    result = wh_execute(wh, locals())\n    assert result and result.df.reset_index()[\"partner_name\"].values[-1] == \"Partner C\"\n    info(result.df)\n\n\ndef test_report_order_by_only_dims(wh):\n    # Note: partner_name has custom sort setup in config\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    order_by = [(\"partner_name\", \"desc\"), (\"campaign_name\", \"asc\")]\n    result = wh_execute(wh, locals())\n    assert result and result.df.reset_index()[\"partner_name\"].values[-1] == \"Partner C\"\n    info(result.df)\n\n\ndef test_report_order_by_custom_sort(wh):\n    # Note: partner_name has custom sort setup in config\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    order_by = [(\"partner_name\", \"asc\"), (\"campaign_name\", \"asc\")]\n    limit = 4\n    limit_first = False\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.index[0][0] == \"Partner C\"\n\n\ndef test_report_custom_sort_no_order_by(wh):\n    # Note: partner_name has custom sort setup in config\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.index[0][0] == \"Partner C\"\n\n\n# TODO: this test data is no longer available!\n\n# def test_report_custom_sort_conversion_field():\n#     # TODO: put together a smaller dataset to test this\n#     config = \"https://raw.githubusercontent.com/totalhack/zillion-covid-19/master/zillion_covid_19/covid_warehouse.json\"\n#     wh = Warehouse(config=config)\n#     metrics = [\"cases\"]\n#     dimensions = [\"month_name\"]\n#     result = wh_execute(wh, locals())\n#     info(result.df)\n#     assert result.df.index[0] == \"January\"\n\n\n# def test_report_custom_sort_rollups(wh):\n#     config = \"https://raw.githubusercontent.com/totalhack/zillion-covid-19/master/zillion_covid_19/covid_warehouse.json\"\n#     wh = Warehouse(config=config)\n#     metrics = [\"cases\"]\n#     dimensions = [\"day_name\", \"date\"]\n#     criteria = [(\"date\", \"between\", [\"2020-07-01\", \"2020-08-01\"])]\n#     rollup = RollupTypes.ALL\n#     result = wh_execute(wh, locals())\n#     assert result\n#     assert result.df.reset_index()[\"date\"].values[-1] == ROLLUP_INDEX_LABEL\n#     assert result.df.reset_index()[\"date\"].values[-2] == ROLLUP_INDEX_LABEL\n#     assert result.df.reset_index()[\"day_name\"].values[-1] == ROLLUP_INDEX_LABEL\n#     assert result.df.reset_index()[\"day_name\"].values[-2] == \"Sunday\"\n#     info(result.df)\n\n\ndef test_report_limit(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"lead_id\"]\n    limit = 2\n    result = wh_execute(wh, locals())\n    assert result and len(result.df) == 2\n    info(result.df)\n\n\ndef test_report_limit_only_dims(wh):\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    limit = 2\n    result = wh_execute(wh, locals())\n    assert result and len(result.df) == 2\n    info(result.df)\n\n\ndef test_report_order_by_and_limit(wh):\n    # Note: partner_name has custom sort setup in config\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    order_by = [(\"partner_name\", \"desc\"), (\"lead_id\", \"asc\")]\n    limit = 1\n    result = wh_execute(wh, locals())\n    assert result and result.df.reset_index()[\"partner_name\"].values[-1] == \"Partner A\"\n    info(result.df)\n\n\ndef test_report_limit_first(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"lead_id\"]\n    rollup = RollupTypes.TOTALS\n    limit = 2\n    limit_first = True\n    result = wh_execute(wh, locals())\n    assert result and len(result.df) == 3 and result.df[\"revenue\"].values[-1] == 83.0\n    info(result.df)\n\n\ndef test_report_df_display(wh):\n    metrics = [\"revenue\", \"main_sales_quantity\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    assert result.df_display[\"Revenue\"].any()\n    info(result.df_display)\n\n\ndef test_report_df_display_no_dims(wh):\n    metrics = [\"revenue\", \"main_sales_quantity\"]\n    result = wh_execute(wh, locals())\n    assert result\n    assert result.df_display[\"Revenue\"].any()\n    info(result.df_display)\n\n\ndef test_report_df_display_no_metrics(wh):\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    assert result.df_display.reset_index()[\"Partner Name\"].any()\n    info(result.df_display)\n\n\ndef test_report_technical_ma(wh):\n    metrics = [\"revenue\", \"revenue_ma_5\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    row_filters = [(\"revenue_ma_5\", \">\", 82)]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result and len(result.df) == 3\n    info(result.df)\n\n\ndef test_report_adhoc_technicals(wh):\n    dim_groups = [[\"partner_name\", \"campaign_name\", \"sale_id\"], [\"sale_id\"]]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n\n    technical_strings = [\n        \"mean(5, 1)\",\n        \"sum(2)\",\n        \"median(3)\",\n        \"std(2)\",\n        \"var(2)\",\n        \"min(2)\",\n        \"max(2)\",\n        \"boll(2)\",\n        \"diff(1)\",\n        \"pct_change\",\n        \"cumsum\",\n        \"cummin\",\n        \"cummax\",\n        \"rank\",\n        \"pct_rank\",\n    ]\n\n    for tech in technical_strings:\n        for mode in (TechnicalModes.GROUP, TechnicalModes.ALL):\n            for dimensions in dim_groups:\n                tech_str = tech + \":\" + mode\n                metrics = [\n                    \"revenue\",\n                    {\n                        \"formula\": \"{revenue}\",\n                        \"technical\": tech_str,\n                        \"name\": \"my_revenue_tech\",\n                    },\n                ]\n                result = wh_execute(wh, locals())\n                assert result\n                info(\"Technical: %s Mode: %s Dims: %s\" % (tech_str, mode, dimensions))\n                info(result.df)\n\n\ndef test_report_no_dimension_technical(wh):\n    dimensions = None\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n\n    technical_strings = [\n        \"mean(5, 1)\",\n        \"diff(1)\",\n        \"pct_change\",\n        \"boll(2)\",\n        \"cumsum\",\n        \"rank\",\n        \"pct_rank\",\n    ]\n\n    for tech in technical_strings:\n        for mode in (TechnicalModes.GROUP, TechnicalModes.ALL):\n            tech_str = tech + \":\" + mode\n            metrics = [\n                \"revenue\",\n                {\n                    \"formula\": \"{revenue}\",\n                    \"technical\": tech_str,\n                    \"name\": \"my_revenue_tech\",\n                },\n            ]\n            result = wh_execute(wh, locals())\n            assert result\n            info(\"Technical: %s Mode: %s\" % (tech_str, mode))\n            info(result.df)\n\n\ndef test_report_technical_formula_ma(wh):\n    metrics = [\"revenue\", \"rpl\", \"rpl_ma_5\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    row_filters = [(\"revenue\", \">\", 8)]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_technical_rolling_sum(wh):\n    metrics = [\"revenue\", \"revenue_sum_5\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_technical_cumsum(wh):\n    metrics = [\"revenue\", \"revenue_cumsum\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_technical_diff(wh):\n    metrics = [\"revenue\", \"revenue_diff\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_technical_pct_diff(wh):\n    metrics = [\"revenue\", \"revenue_pct_diff\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_technical_bollinger(wh):\n    metrics = [\"revenue\", \"revenue_boll_5\"]\n    # TODO: it doesnt make sense to use these dimensions, but no date/time\n    # dims have been added as of the time of creating this test.\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n    row = result.df.loc[(\"Partner A\", \"Campaign 2A\")]\n    assert row[\"revenue_boll_5\"] == pytest.approx(82.5, rel=1e-3)\n    assert row[\"revenue_boll_5_lower\"] == pytest.approx(81.09, rel=1e-3)\n    assert row[\"revenue_boll_5_upper\"] == pytest.approx(83.91, rel=1e-3)\n\n    result_display = result.df_display\n    assert \"Revenue Boll 5 Upper\" in result_display.columns\n\n    df = result.df\n\n    # Find bollinger-related columns (case-insensitive)\n    boll_cols = [c for c in df.columns if \"boll\" in str(c).lower()]\n    assert boll_cols, \"No bollinger columns found in result.df\"\n    assert len(boll_cols) >= 3\n\n    # Ensure bollinger columns are numeric\n    for c in boll_cols:\n        assert pd.api.types.is_numeric_dtype(df[c]), f\"{c} is not numeric\"\n\n    # For any row with at least three non-null boll values, validate ordering and symmetry\n    for _, row in df.iterrows():\n        vals = [(c, row[c]) for c in boll_cols if not pd.isna(row[c])]\n        if len(vals) >= 3:\n            # identify upper, middle, lower by value\n            vals_sorted = sorted(vals, key=lambda x: x[1], reverse=True)\n            upper_val = vals_sorted[0][1]\n            middle_val = vals_sorted[1][1]\n            lower_val = vals_sorted[2][1]\n\n            assert upper_val > middle_val\n            assert middle_val > lower_val\n\n            # upper-middle should be approximately equal to middle-lower (symmetry)\n            diff1 = upper_val - middle_val\n            diff2 = middle_val - lower_val\n            tol = max(1e-6, abs(middle_val) * 1e-6)\n            assert abs(diff1 - diff2) <= tol\n\n    # Also verify display DataFrame contains the human-friendly Bollinger column name\n    assert any(\n        \"Revenue Boll\" in str(c) and \"Upper\" in str(c)\n        for c in result.df_display.columns\n    )\n\n\ndef test_report_no_dimensions(wh):\n    metrics = [\"revenue\", \"main_sales_quantity\"]\n    criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\")]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_no_metrics(wh):\n    metrics = []\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_null_criteria(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\"]\n    criteria = [(\"campaign_name\", \"!=\", None)]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n    # Test a conversion field\n    criteria = [(\"month\", \"=\", None)]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount == 0\n    info(result.df)\n\n    # Test a conversion field !=\n    criteria = [(\"month\", \"!=\", None)]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n    info(result.df)\n\n    # Test a conversion field \"in\"\n    criteria = [(\"month\", \"in\", [None, \"2020-04\"])]\n    result = wh_execute(wh, locals())\n    assert result and result.rowcount > 0\n    info(result.df)\n\n\ndef test_report_incomplete_dimensions(config):\n    del config[\"datasources\"][\"testdb2\"]\n    metrics = [\"sales\"]\n    dimensions = [\"campaign_name\"]\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n\n    # This should prevent it from joining back through the lead table,\n    # thus preventing the report from running.\n    table_config[\"incomplete_dimensions\"] = [\"lead_id\"]\n    wh = Warehouse(config=config)\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n    table_config[\"incomplete_dimensions\"] = [\"xyz\"]\n    with pytest.raises(WarehouseException):\n        wh = Warehouse(config=config)\n\n\ndef test_report_inactive_table(config):\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    table_config[\"active\"] = False\n    del config[\"datasources\"][\"testdb2\"]\n    wh = Warehouse(config=config)\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n    metrics = [\"leads\"]\n    result = wh_execute(wh, locals())\n\n\ndef test_report_count_metric(wh):\n    metrics = [\"leads\"]\n    dimensions = [\"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_alias_metric(wh):\n    metrics = [\"revenue_mean\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_alias_dimension(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"lead_id\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_sibling_dimension(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_sibling_dim\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_multiple_queries(wh):\n    metrics = [\"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_formula_metric(wh):\n    metrics = [\"rpl\", \"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_formula_metric_divisor(wh):\n    metrics = [\"revenue_per_lead\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_nested_formula_metric(wh):\n    metrics = [\"rpl_squared\", \"rpl_unsquared\", \"rpl\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_ds_dimension_formula(wh):\n    metrics = [\"sales\"]\n    dimensions = [\"revenue_decile\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_ds_metric_formula(wh):\n    metrics = [\"revenue\", \"revenue_ds\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_where_ds_formula(wh):\n    metrics = [\"sales\"]\n    criteria = [(\"revenue_decile\", \">=\", 0)]\n    dimensions = [\"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_metric_formula_with_dim(config):\n    config[\"metrics\"].append(\n        {\n            \"name\": \"revenue_formula_with_dim\",\n            \"aggregation\": AggregationTypes.SUM,\n            \"formula\": \"1.0*{revenue}*IFNULL({campaign_name}, 0)\",\n        }\n    )\n    wh = Warehouse(config=config)\n    metrics = [\"revenue\", \"revenue_formula_with_dim\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_only_dimensions_ds_formula(wh):\n    criteria = [(\"campaign_name_length\", \">\", 5)]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result.df.index.any()\n    info(result.df)\n\n\ndef test_report_non_existent_metric(wh):\n    metrics = [\"sales1234\"]\n    dimensions = [\"campaign_id\"]\n    with pytest.raises(InvalidFieldException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_metric_required_grain(wh):\n    metrics = [\"revenue\", \"revenue_required_grain\"]\n    dimensions = [\"campaign_id\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n    dimensions = [\"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n\n\ndef test_report_metric_formula_required_grain(wh):\n    metrics = [\"revenue\", \"revenue_per_lead_required_grain\"]\n    dimensions = [\"campaign_id\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_metric_formula_field_required_grain(wh):\n    metrics = [\"revenue\", \"revenue_formula_required_grain\"]\n    dimensions = [\"campaign_id\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_partial_grain(wh):\n    metrics = [\"revenue\", \"leads\"]\n    dimensions = [\"sale_id\"]\n    allow_partial = True\n    result = wh_execute(wh, locals())\n    assert result and result.is_partial\n\n    # Weighting fact can't meet grain\n    metrics = [\"revenue\", \"rps_lead_weighted\"]\n    result = wh_execute(wh, locals())\n    assert result and result.is_partial\n\n    # Part of formula can't meet grain\n    metrics = [\"revenue\", \"rpl\"]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result and result.is_partial\n\n    # Only metric available can't meet grain\n    metrics = [\"leads\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n\ndef test_report_metric_ifnull(wh):\n    metrics = [\"revenue\", \"revenue_ifnull\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n\n\ndef test_report_weighted_formula_metric(wh):\n    metrics = [\"rpl_weighted\", \"rpl\", \"main_sales_quantity\", \"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    assert result.df.loc[\"Partner B\"][\"rpl\"] == 9.5\n    assert result.df.loc[\"Partner B\"][\"rpl_weighted\"] == 9.5\n    info(result.df)\n\n\ndef test_report_weighted_ds_metric_formula(wh):\n    metrics = [\"revenue_mean\", \"revenue_mean_ds_weighted\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_weighted_metric(wh):\n    metrics = [\"main_sales_quantity\", \"revenue_mean\", \"revenue\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n    assert result.df.loc[\"Partner A\"][\"revenue_mean\"] == 14.67\n\n\ndef test_report_multiple_weighted_metrics(wh):\n    metrics = [\"rpl_weighted\", \"rpl_lead_weighted\", \"rpl_lead_formula_weighted\"]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_repeat_weighted_metrics(wh):\n    metrics = [\"rpl_weighted\", \"revenue_mean\"]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_weighted_rollup(wh):\n    metrics = [\"main_sales_quantity\", \"revenue_mean\", \"leads\"]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n    assert result.rollup_rows[\"revenue_mean\"][0] == 17.08\n\n\ndef test_report_weighted_multi_rollup(wh):\n    metrics = [\"main_sales_quantity\", \"revenue_mean\", \"leads\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_id\"]\n    rollup = 2\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n    test_row = result.df.loc[\"Partner A\", ROLLUP_INDEX_LABEL, ROLLUP_INDEX_LABEL]\n    assert test_row[\"revenue_mean\"] == 14.67\n\n\ndef test_report_multi_dimension(wh):\n    metrics = [\"leads\", \"sales\"]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_rollup(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    info(result.df)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n\n\ndef test_report_multi_rollup(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_id\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = 3\n    result = wh_execute(wh, locals())\n    info(result.df)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n\n\ndef test_report_all_rollup(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_id\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = RollupTypes.ALL\n    result = wh_execute(wh, locals())\n    info(result.df)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n\n\ndef test_report_rollup_order_null(wh):\n    import numpy as np\n\n    metrics = [\"revenue\", \"leads\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_name\"]\n    rollup = RollupTypes.ALL\n    result = wh_execute(wh, locals())\n    info(result.df)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n    sub_df = result.df.loc[\"Partner C\", \"Campaign 1C\"]\n    assert np.isnan(sub_df.index[0])\n\n    # Test with null not in last dimension\n    dimensions = [\"partner_name\", \"lead_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    info(result.df_display)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n    sub_df = result.df.loc[\"Partner C\", np.nan]\n    info(sub_df)\n    assert sub_df.index[0] == \"Campaign 1C\"\n\n    # Test single dimension case\n    dimensions = [\"lead_name\"]\n    result = wh_execute(wh, locals())\n    info(result.df_display)\n    revenue = result.rollup_rows.iloc[-1][\"revenue\"]\n    revenue_sum = result.non_rollup_rows.sum()[\"revenue\"]\n    assert revenue == revenue_sum\n    assert result.df.loc[np.nan][\"leads\"] == 1\n\n\ndef test_report_multi_rollup_pivot(wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\", \"lead_id\"]\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B\")]\n    rollup = 3\n    pivot = [\"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_adhoc_metric(wh):\n    metrics = [\"revenue\", {\"formula\": \"{revenue} > 3*{lead_id}\", \"name\": \"testmetric\"}]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_adhoc_metric_display_name(wh):\n    metrics = [\n        \"revenue\",\n        {\n            \"formula\": \"{revenue} > 3*{lead_id}\",\n            \"name\": \"testmetric\",\n            \"display_name\": \"Test Metric\",\n        },\n    ]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    result = wh_execute(wh, locals())\n    assert result\n    result = result.df_display\n    assert \"Test Metric\" in result.columns\n\n\ndef test_report_adhoc_nested_metric(wh):\n    metrics = [\n        \"revenue\",\n        \"rpl_squared\",\n        {\"formula\": \"{rpl_unsquared} > 10\", \"name\": \"testmetric\"},\n    ]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_adhoc_aggregation(wh):\n    metrics = [\n        \"revenue\",\n        \"rpl_lead_weighted\",\n        {\"formula\": \"{rpl}\", \"name\": \"rpl_avg\", \"aggregation\": \"mean\", \"rounding\": 2},\n    ]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_adhoc_weighting(wh):\n    metrics = [\n        \"revenue\",\n        \"rpl_lead_weighted\",\n        {\n            \"formula\": \"{revenue}/{leads}\",\n            \"name\": \"rpl_w\",\n            \"weighting_metric\": \"leads\",\n            \"rounding\": 2,\n        },\n    ]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.TOTALS\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_adhoc_dimension(wh):\n    # Basic Ad Hoc\n    metrics = [\"revenue\", \"leads\", \"rpl_lead_weighted\"]\n\n    dimensions = [\n        {\"name\": \"partner_is_a\", \"formula\": \"({partner_name} = 'Partner A')\"},\n    ]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n    # Ad Hoc with metrics - not allowed\n    dimensions = [\n        {\"name\": \"adhoc_dim1_with_metric\", \"formula\": \"({leads} > 10)\"},\n    ]\n    with pytest.raises(InvalidFieldException):\n        result = wh_execute(wh, locals())\n\n    # Metric validation vs baseline\n\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    partner_a_rev = result.df.loc[\"Partner A\"].sum()[\"revenue\"]\n    # Note: This happens to have an even number of leads so a simple mean works\n    partner_a_rpl = result.df.loc[\"Partner A\"].mean()[\"rpl_lead_weighted\"]\n\n    # Basic comparisons\n\n    dimensions = [\n        {\"name\": \"partner_is_a\", \"formula\": \"({partner_name} = 'Partner A')\"},\n    ]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.loc[1][\"revenue\"] == partner_a_rev\n    assert result.df.loc[1][\"rpl_lead_weighted\"] == partner_a_rpl\n\n    dimensions = [\n        {\"name\": \"partner_is_a\", \"formula\": \"({partner_name} = 'Partner A')\"},\n        \"campaign_name\",\n    ]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.loc[1].sum()[\"revenue\"] == partner_a_rev\n    assert result.df.loc[1].mean()[\"rpl_lead_weighted\"] == partner_a_rpl\n\n    # Rollup vs baseline\n\n    rollup = RollupTypes.ALL\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.rollup_rows.loc[1].sum()[\"revenue\"] == partner_a_rev\n    assert result.rollup_rows.loc[1].mean()[\"rpl_lead_weighted\"] == partner_a_rpl\n\n    # Criteria\n\n    rollup = None\n    criteria = [(\"partner_name\", \"=\", \"Partner A\")]\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.loc[1].sum()[\"revenue\"] == partner_a_rev\n    assert result.df.loc[1].mean()[\"rpl_lead_weighted\"] == partner_a_rpl\n\n    # Row Filters\n\n    row_filters = [(\"revenue\", \">\", 20)]\n    criteria = None\n    result = wh_execute(wh, locals())\n    info(result.df)\n    assert result.df.loc[1].sum()[\"revenue\"] == partner_a_rev\n    assert result.df.loc[1].mean()[\"rpl_lead_weighted\"] == partner_a_rpl\n\n\ndef test_report_formula_dimension(wh):\n    metrics = [\"revenue\", \"leads\"]\n    dimensions = [\"partner_name_formula\", \"partner_name_formula_nested\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_where_criteria_conversions(config):\n    config = config.copy()\n    config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.campaigns\"][\"columns\"][\n        \"created_at\"\n    ][\"disabled_type_conversions\"] = []\n    wh = Warehouse(config=config)\n    metrics = [\"leads\"]\n    dimensions = [\"campaign_created_at\"]\n    for field, op, val in CRITERIA_CONVERSION_TESTS:\n        print(\"criteria:\", field, op, val)\n        criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\"), (field, op, val)]\n        result = wh_execute(wh, locals())\n        assert result.df.index.any()\n        assert len(result.df) == 1\n        assert result.df[\"leads\"][0] == 1\n\n\ndef test_report_sqlite_date_conversions(config):\n    config = config.copy()\n    config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.campaigns\"][\"columns\"][\n        \"created_at\"\n    ][\"disabled_type_conversions\"] = []\n    wh = Warehouse(config=config)\n    params = get_date_conversion_test_params()\n    result = wh.execute(**params)\n    assert result\n    df = result.df.reset_index()\n    row = df.iloc[0]\n    info(df)\n    for field, value in EXPECTED_DATE_CONVERSION_VALUES:\n        print(f\"Checking {field} = {value}\")\n        assert row[field] == value\n\n\ndef test_report_datasource_priority(wh):\n    metrics = [\"revenue\", \"leads\", \"sales\"]\n    dimensions = [\"partner_name\"]\n    report = Report(wh, metrics=metrics, dimensions=dimensions)\n    assert report.queries[0].get_datasource_name() == \"testdb1\"\n\n\ndef test_report_table_priority(config):\n    wh = Warehouse(config=config)\n    metrics = [\"repeated_metric\"]\n    dimensions = [\"partner_name\"]\n    report = Report(wh, metrics=metrics, dimensions=dimensions)\n    assert report.queries[0].get_datasource_name() == \"testdb1\"\n    assert report.queries[0].table_set.ds_table.name == \"leads\"\n\n    config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"][\"priority\"] = 0\n    wh = Warehouse(config=config)\n    report = Report(wh, metrics=metrics, dimensions=dimensions)\n    assert report.queries[0].get_datasource_name() == \"testdb1\"\n    assert report.queries[0].table_set.ds_table.name == \"sales\"\n\n\ndef test_report_disabled_tables(wh):\n    metrics = [\"revenue\", \"leads\", \"sales\"]\n    dimensions = [\"partner_name\"]\n    disabled_tables = [\"main.sales\"]\n    report = Report(\n        wh, metrics=metrics, dimensions=dimensions, disabled_tables=disabled_tables\n    )\n    all_tables = set()\n    for query in report.queries:\n        tables = [x.fullname for x in query.get_tables()]\n        all_tables.update(tables)\n\n    # Should use the aggregated stats table instead\n    assert \"main.sales\" not in all_tables\n\n    disabled_tables = [\"main.sales\", \"main.aggregated_stats\"]\n    with pytest.raises(UnsupportedGrainException):\n        Report(\n            wh, metrics=metrics, dimensions=dimensions, disabled_tables=disabled_tables\n        )\n\n    # Test dim-only case\n    metrics = None\n    dimensions = [\"partner_name\"]\n    disabled_tables = [\"main.partners\"]\n    with pytest.raises(UnsupportedGrainException):\n        Report(\n            wh, metrics=metrics, dimensions=dimensions, disabled_tables=disabled_tables\n        )\n\n\ndef test_report_multi_datasource(wh):\n    metrics = [\"revenue\", \"leads\", \"sales\", \"revenue_mean\"]\n    dimensions = [\"partner_name\"]\n    report = Report(wh, metrics=metrics, dimensions=dimensions)\n    assert len(report.queries) == 2\n    result = report.execute()\n    assert result\n    info(result.df)\n\n\ndef test_report_save_and_load(saved_wh):\n    metrics = [\"revenue\", \"leads\", \"sales\"]\n    dimensions = [\"partner_name\"]\n    rollup = RollupTypes.ALL\n    report = Report(saved_wh, metrics=metrics, dimensions=dimensions, rollup=rollup)\n    spec_id = report.save()\n\n    # Sneaking a test of these in here too\n    wh = Warehouse.load_warehouse_for_report(spec_id)\n    report = Warehouse.load_report_and_warehouse(spec_id)\n\n    try:\n        result = saved_wh.execute_id(spec_id)\n        assert result\n        info(result.df)\n    finally:\n        saved_wh.delete_report(spec_id)\n\n\ndef test_report_save_with_meta(saved_wh):\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\"]\n    report = Report(saved_wh, metrics=metrics, dimensions=dimensions)\n    spec_id = report.save(meta=dict(title=\"My test report\"))\n    try:\n        report = saved_wh.load_report(spec_id)\n        assert report.meta and report.meta.get(\"title\", None) == \"My test report\"\n    finally:\n        saved_wh.delete_report(spec_id)\n\n\ndef test_report_adhoc_metric_save_and_load(saved_wh):\n    metrics = [\"revenue\", {\"formula\": \"{revenue} > 3*{lead_id}\", \"name\": \"testmetric\"}]\n    dimensions = [\"partner_name\", \"lead_id\"]\n    report = Report(saved_wh, metrics=metrics, dimensions=dimensions)\n    spec_id = report.save()\n    try:\n        result = saved_wh.execute_id(spec_id)\n        assert result\n        info(result.df)\n    finally:\n        saved_wh.delete_report(spec_id)\n\n\ndef test_report_load_invalid_id(saved_wh):\n    with pytest.raises(InvalidReportIdException):\n        result = saved_wh.execute_id(-1)\n\n\ndef test_report_sub_report_by_id(saved_wh):\n    metrics = [\"leads\"]\n    dimensions = [\"partner_name\"]\n    row_filters = [(\"leads\", \">\", 2)]  # Should only leave Partner A\n    report = Report(\n        saved_wh, metrics=metrics, dimensions=dimensions, row_filters=row_filters\n    )\n    spec_id = report.save()\n    spec_id2 = None\n\n    try:\n        criteria = [(\"partner_name\", \"in report\", spec_id)]\n        report = Report(\n            saved_wh,\n            metrics=[\"sales\"],\n            dimensions=dimensions,\n            criteria=criteria,\n        )\n        # Save and load a report with a sub-report\n        spec_id2 = report.save()\n        report = saved_wh.load_report(spec_id2)\n        result = report.execute()\n        assert result.df.index.unique(\"partner_name\").tolist() == [\"Partner A\"]\n        info(result.df)\n\n        criteria = [(\"partner_name\", \"not in report\", spec_id)]\n        report = Report(\n            saved_wh,\n            metrics=[\"sales\"],\n            dimensions=dimensions,\n            criteria=criteria,\n        )\n        result = report.execute()\n        assert set(result.df.index.unique(\"partner_name\").tolist()) == set(\n            [\n                \"Partner B\",\n                \"Partner C\",\n            ]\n        )\n        info(result.df)\n\n        # Invalid sub report spec ID\n        with pytest.raises(InvalidReportIdException):\n            criteria = [(\"partner_name\", \"not in report\", -1)]\n            report = Report(\n                saved_wh,\n                metrics=[\"sales\"],\n                dimensions=dimensions,\n                criteria=criteria,\n            )\n\n    finally:\n        saved_wh.delete_report(spec_id)\n        if spec_id2:\n            saved_wh.delete_report(spec_id2)\n\n\ndef test_report_sub_report_with_params(saved_wh):\n    report = Report(\n        saved_wh,\n        metrics=[\"sales\"],\n        dimensions=[\"partner_name\"],\n        criteria=[\n            (\n                \"partner_name\",\n                \"in report\",\n                dict(\n                    metrics=[\"leads\"],\n                    dimensions=[\"partner_name\"],\n                    row_filters=[(\"leads\", \">\", 2)],  # Should only leave Partner A\n                ),\n            )\n        ],\n    )\n    result = report.execute()\n    assert result.df.index.unique(\"partner_name\").tolist() == [\"Partner A\"]\n    info(result.df)\n\n    # Invalid sub report field\n    with pytest.raises(InvalidFieldException):\n        Report(\n            saved_wh,\n            metrics=[\"sales\"],\n            dimensions=[\"partner_name\"],\n            criteria=[\n                (\n                    \"partner_name\",\n                    \"in report\",\n                    dict(metrics=[\"blabla\"], dimensions=[\"partner_name\"]),\n                )\n            ],\n        )\n\n    # Invalid sub report fields\n    with pytest.raises(TypeError):\n        Report(\n            saved_wh,\n            metrics=[\"sales\"],\n            dimensions=[\"partner_name\"],\n            criteria=[\n                (\n                    \"partner_name\",\n                    \"in report\",\n                    dict(\n                        foo=[\"blabla\"],\n                    ),\n                )\n            ],\n        )\n\n\ndef test_report_adhoc_datasource(wh, adhoc_ds):\n    metrics = [\"revenue\", \"adhoc_metric\"]\n    dimensions = [\"partner_name\"]\n    result = wh.execute(metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds])\n    assert result\n    info(result.df)\n\n\ndef test_report_save_and_load_adhoc_datasource(saved_wh, adhoc_ds):\n    metrics = [\"revenue\", \"leads\", \"adhoc_metric\"]\n    dimensions = [\"partner_name\"]\n    report = saved_wh.save_report(\n        metrics=metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n    )\n    spec_id = report.save()\n    try:\n        result = saved_wh.execute_id(spec_id, adhoc_datasources=[adhoc_ds])\n        assert result\n        info(result.df)\n    finally:\n        saved_wh.delete_report(spec_id)\n\n\ndef test_report_missing_adhoc_datasource_save_and_load(saved_wh, adhoc_ds):\n    metrics = [\"revenue\", \"leads\", \"adhoc_metric\"]\n    dimensions = [\"partner_name\"]\n    report = saved_wh.save_report(\n        metrics=metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n    )\n    spec_id = report.save()\n    try:\n        with pytest.raises(ReportException):\n            result = saved_wh.execute_id(spec_id)\n    finally:\n        saved_wh.delete_report(spec_id)\n\n\ndef test_report_invalid_adhoc_datasource(wh, adhoc_ds):\n    metrics = [\"revenue\", \"adhoc_metric\"]\n    dimensions = [\"partner_name\"]\n    metric = Metric(\"campaign_name\", \"String(32)\")  # This is a dimension in other DSes\n    adhoc_ds.add_metric(metric)\n    with pytest.raises(WarehouseException):\n        result = wh.execute(\n            metrics, dimensions=dimensions, adhoc_datasources=[adhoc_ds]\n        )\n\n\ndef test_regular_datasource_adhoc(config):\n    ds1 = DataSource(\"testdb1\", config=config[\"datasources\"][\"testdb1\"])\n    ds2 = DataSource(\"testdb2\", config=config[\"datasources\"][\"testdb2\"])\n    wh = Warehouse(datasources=[ds1])\n    metrics = [\"leads\", \"sales\", \"aggr_sales\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh.execute(metrics, dimensions=dimensions, adhoc_datasources=[ds2])\n    assert result\n    info(result.df)\n\n\ndef test_only_adhoc_datasource(adhoc_ds):\n    wh = Warehouse(datasources=[adhoc_ds])\n    metrics = [\"adhoc_metric\"]\n    dimensions = [\"partner_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_no_use_full_column_names(config):\n    ds = DataSource(\"testdb2\", config=config[\"datasources\"][\"testdb2\"])\n    wh = Warehouse(datasources=[ds])\n    metrics = [\"leads\", \"sales\", \"aggr_sales\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    result = wh_execute(wh, locals())\n    assert result\n    info(result.df)\n\n\ndef test_report_column_required_grain(config):\n    ds = DataSource(\"testdb2\", config=config[\"datasources\"][\"testdb2\"])\n    wh = Warehouse(datasources=[ds])\n    metrics = [\"revenue\", \"sales\"]\n    dimensions = [\"campaign_name\"]\n    with pytest.raises(UnsupportedGrainException):\n        result = wh_execute(wh, locals())\n\n\ndef test_ds_metric_formula_sql_injection(config):\n    # example = r\"\"\"I don't like \"special\" ch;ars ¯\\_(ツ)_/¯\"\"\"\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    column_config = table_config[\"columns\"][\"revenue\"]\n    column_config[\"fields\"].append(\n        {\n            \"name\": \"ds_injection\",\n            \"ds_formula\": \"IFNULL(sales.revenue, 0);select * from sales\",\n        }\n    )\n    metrics = [\"revenue\", \"ds_injection\"]\n    dimensions = [\"partner_name\"]\n    wh = Warehouse(config=config)\n    with pytest.raises(DisallowedSQLException):\n        result = wh_execute(wh, locals())\n\n\ndef test_ds_dim_formula_sql_injection(config):\n    # example = r\"\"\"I don't like \"special\" ch;ars ¯\\_(ツ)_/¯\"\"\"\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    column_config = table_config[\"columns\"][\"lead_id\"]\n    column_config[\"fields\"].append(\n        {\n            \"name\": \"ds_injection\",\n            \"ds_formula\": \"IF(sales.lead_id > 0, 1, 0);select * from sales\",\n        }\n    )\n    metrics = [\"revenue\"]\n    dimensions = [\"partner_name\", \"ds_injection\"]\n    wh = Warehouse(config=config)\n    with pytest.raises(DisallowedSQLException):\n        result = wh_execute(wh, locals())\n\n\ndef test_metric_formula_sql_injection(config):\n    config[\"metrics\"].append(\n        dict(\n            name=\"rpl_injection\",\n            aggregation=AggregationTypes.MEAN,\n            rounding=2,\n            formula=\"{revenue}/{leads};select * from leads\",\n        )\n    )\n\n    metrics = [\"revenue\", \"rpl_injection\"]\n    dimensions = [\"partner_name\"]\n    wh = Warehouse(config=config)\n    with pytest.raises(DisallowedSQLException):\n        result = wh_execute(wh, locals())\n\n\ndef test_weighting_metric_sql_injection(config):\n    config[\"metrics\"].append(\n        dict(\n            name=\"rpl_injection\",\n            aggregation=AggregationTypes.MEAN,\n            rounding=2,\n            formula=\"{revenue}/{leads}\",\n            weighting_metric=\"main_sales_quantity;select * from leads\",\n        )\n    )\n\n    metrics = [\"revenue\", \"rpl_injection\"]\n    dimensions = [\"partner_name\"]\n    wh = Warehouse(config=config)\n    with pytest.raises(InvalidFieldException):\n        result = wh_execute(wh, locals())\n\n\ndef test_adhoc_metric_sql_injection(wh):\n    metrics = [\n        \"revenue\",\n        {\"formula\": \"{revenue};select * from leads\", \"name\": \"rev_injection\"},\n    ]\n    dimensions = [\"partner_name\"]\n    with pytest.raises(DisallowedSQLException):\n        result = wh_execute(wh, locals())\n\n\ndef test_criteria_sql_injection(wh):\n    metrics = [\"leads\", \"sales\"]\n    dimensions = [\"campaign_name\"]\n\n    criteria = [(\"campaign_name\", \"!=\", \"Campaign 2B';select * from leads --\")]\n    result = wh_execute(wh, locals())\n\n    criteria = [(\"select * from leads\", \"!=\", \"Campaign 2B\")]\n    with pytest.raises(InvalidFieldException):\n        result = wh_execute(wh, locals())\n\n    criteria = [(\"campaign_name\", \"select * from leads\", \"Campaign 2B\")]\n    with pytest.raises(ZillionException):\n        result = wh_execute(wh, locals())\n\n    criteria = [(\"campaign_date\", \"=\", \"select * from leads --\")]\n    result = wh_execute(wh, locals())\n\n    criteria = [(\"campaign_date\", \"=\", \"';select * from leads --\")]\n    result = wh_execute(wh, locals())\n\n    criteria = [(\"campaign_date\", \"=\", \"'select * from leads;'\")]\n    result = wh_execute(wh, locals())\n\n    criteria = [(\"campaign_date\", \"=\", '\";select * from leads --')]\n    result = wh_execute(wh, locals())\n\n\ndef test_row_filter_sql_injection(wh):\n    metrics = [\"leads\", \"revenue\"]\n    dimensions = [\"partner_name\"]\n    row_filters = [(\"revenue\", \">\", \"11;select * from leads\")]\n    with pytest.raises(ZillionException):\n        result = wh_execute(wh, locals())\n\n\ndef test_pivot_sql_injection(wh):\n    metrics = [\"leads\", \"revenue\"]\n    dimensions = [\"partner_name\", \"campaign_name\"]\n    pivot = [\"partner_name;select * from leads\"]\n    with pytest.raises(ZillionException):\n        result = wh_execute(wh, locals())\n\n\ndef test_metric_name_sql_injection(config):\n    config[\"metrics\"].append(\n        dict(\n            name=\"select * from leads\",\n            aggregation=AggregationTypes.MEAN,\n            rounding=2,\n            formula=\"{revenue}/{leads}\",\n        )\n    )\n    from marshmallow.exceptions import ValidationError\n\n    with pytest.raises(ValidationError):\n        wh = Warehouse(config=config)\n\n\ndef test_dimension_name_sql_injection(config):\n    config[\"dimensions\"].append(dict(name=\"select * from leads\", type=\"String(64)\"))\n    from marshmallow.exceptions import ValidationError\n\n    with pytest.raises(ValidationError):\n        wh = Warehouse(config=config)\n\n\ndef test_type_conversion_prefix_sql_injection(config):\n    table_config = config[\"datasources\"][\"testdb1\"][\"tables\"][\"main.sales\"]\n    table_config[\"columns\"][\"created_at\"][\"type_conversion_prefix\"] = (\n        \"select * from sales;--\"\n    )\n    metrics = [\"sales\"]\n    dimensions = [\"partner_name\"]\n    from marshmallow.exceptions import ValidationError\n\n    with pytest.raises(ValidationError):\n        wh = Warehouse(config=config)\n\n\ndef test_table_name_sql_injection(config):\n    tables = config[\"datasources\"][\"testdb1\"][\"tables\"]\n    del tables[\"main.sales\"]\n    # Since this table doesn't actually match a table name it shouldn't ever\n    # become a part of the warehouse.\n    tables[\"select * from leads;--\"] = {\n        \"type\": TableTypes.METRIC,\n        \"create_fields\": True,\n        \"columns\": {\n            \"id\": {\n                \"fields\": [{\"name\": \"sales\", \"ds_formula\": \"COUNT(DISTINCT sales.id)\"}]\n            },\n            \"lead_id\": {\"fields\": [\"lead_id\"]},\n        },\n    }\n\n    with pytest.raises(DisallowedSQLException):\n        Warehouse(config=config)\n"
  },
  {
    "path": "tests/test_scripts.py",
    "content": "import pytest\nfrom unittest.mock import patch\n\nTEST_DB_URL = \"https://github.com/totalhack/zillion/blob/master/tests/testdb1?raw=true\"\n\n\ndef test_bootstrap_datasource_config():\n    from zillion.scripts.bootstrap_datasource_config import main\n\n    with patch(\n        \"argparse._sys.argv\",\n        [\"bootstrap_datasource_config.py\", TEST_DB_URL, \"/tmp/config.json\", \"--verify\"],\n    ):\n        main()\n\n\n@pytest.mark.nlp\ndef test_nlp_bootstrap_datasource_config():\n    from zillion.scripts.bootstrap_datasource_config import main\n\n    with patch(\n        \"argparse._sys.argv\",\n        [\n            \"bootstrap_datasource_config.py\",\n            TEST_DB_URL,\n            \"/tmp/config.json\",\n            \"--verify\",\n            \"--nlp\",\n        ],\n    ):\n        main()\n"
  },
  {
    "path": "tests/test_sqlite_ds_config.json",
    "content": "{\n    \"connect\": {\n        \"func\": \"zillion.datasource.url_connect\",\n        \"params\": {\n            \"connect_url\": \"sqlite:///{schema}\"\n        }\n    },\n    \"metrics\": [\n        {\n            \"name\": \"aggr_sales\",\n            \"type\": \"integer\",\n            \"aggregation\": \"sum\"\n        }\n    ],\n    \"tables\": {\n        \"main.partners\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"primary_key\": [\n                \"partner_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"partner_name\"\n                    ]\n                }\n            }\n        },\n        \"main.campaigns\": {\n            \"type\": \"dimension\",\n            \"create_fields\": true,\n            \"parent\": \"main.partners\",\n            \"primary_key\": [\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"name\": {\n                    \"fields\": [\n                        \"campaign_name\"\n                    ]\n                },\n                \"partner_id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                }\n            }\n        },\n        \"main.aggregated_stats\": {\n            \"type\": \"metric\",\n            \"create_fields\": true,\n            \"use_full_column_names\": false,\n            \"primary_key\": [\n                \"partner_id\",\n                \"campaign_id\"\n            ],\n            \"columns\": {\n                \"partner_id\": {\n                    \"fields\": [\n                        \"partner_id\"\n                    ]\n                },\n                \"campaign_id\": {\n                    \"fields\": [\n                        \"campaign_id\"\n                    ]\n                },\n                \"sales\": {\n                    \"fields\": [\n                        \"sales\",\n                        \"aggr_sales\"\n                    ]\n                },\n                \"revenue\": {\n                    \"required_grain\": [\n                        \"partner_name\"\n                    ],\n                    \"fields\": [\n                        \"revenue\"\n                    ]\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "tests/test_table_config.json",
    "content": "{\n    \"type\": \"metric\",\n    \"priority\": 1,\n    \"create_fields\": true,\n    \"primary_key\": [\n        \"lead_id\"\n    ],\n    \"columns\": {\n        \"id\": {\n            \"fields\": [\n                \"lead_id\",\n                \"lead_count\",\n                \"lead_count_distinct\",\n                {\n                    \"name\": \"leads\",\n                    \"ds_formula\": \"COUNT(DISTINCT leads.id)\"\n                },\n                {\n                    \"name\": \"repeated_metric\",\n                    \"ds_formula\": \"COUNT(DISTINCT leads.id)\"\n                }\n            ]\n        },\n        \"name\": {\n            \"fields\": [\n                \"lead_name\"\n            ]\n        },\n        \"created_at\": {\n            \"allow_type_conversions\": true\n        },\n        \"campaign_id\": {\n            \"fields\": [\n                \"campaign_id\"\n            ]\n        }\n    }\n}"
  },
  {
    "path": "tests/test_utils.py",
    "content": "\"\"\"\nTo setup testing against local databases:\n\nmysql -u root -h 127.0.0.1 < zillion_test.mysql.sql\npsql -h 127.0.0.1 -U postgres zillion_test < zillion_test.postgres.sql\n\nrm /tmp/adhoc_large_db.db (if it exists)\n\"\"\"\n\nfrom collections import OrderedDict\nfrom contextlib import contextmanager\nimport copy\nimport logging\nimport os\nimport random\nimport sys\nfrom shutil import copyfile\n\nimport pymysql\nfrom tlbx import st, random_string, shell\nimport sqlalchemy as sa\n\nfrom zillion.configs import (\n    load_warehouse_config,\n    load_datasource_config,\n    zillion_config,\n    TableInfo,\n)\nfrom zillion.core import *\nfrom zillion.datasource import (\n    DataSource,\n    AdHocDataTable,\n    SQLiteDataTable,\n    get_adhoc_datasource_filename,\n    get_adhoc_datasource_url,\n)\nfrom zillion.field import DATETIME_CONVERSION_FIELDS\nfrom zillion.model import *\nfrom zillion.report import Report\nfrom zillion.warehouse import Warehouse\n\n\nif os.path.exists(\"tests\"):\n    sys.exit(\"ERROR: Please run tests from within the tests directory\")\n\nDEFAULT_TEST_DB = \"testdb1\"\nTEST_WH_CONFIG = load_warehouse_config(\"test_wh_config.json\")\nTEST_ADHOC_CONFIG = load_warehouse_config(\"test_adhoc_ds_config.json\")\nREMOTE_CONFIG_URL = \"https://raw.githubusercontent.com/totalhack/zillion/master/tests/test_wh_config.json\"\n\nlogging.getLogger().setLevel(logging.INFO)\ndefault_logger.setLevel(logging.INFO)\n\nlogging.info(f\"Config: {zillion_config}\")\ntest_config = zillion_config[\"TEST\"]\n\n\n@contextmanager\ndef update_zillion_config(updates):\n    \"\"\"Helper to make temporary updates to global config\"\"\"\n    old = {k: v for k, v in zillion_config.items() if k in updates}\n    try:\n        zillion_config.update(updates)\n        yield\n    finally:\n        zillion_config.update(old)\n\n\ndef mysql_data_init():\n    host = test_config[\"MySQLHost\"]\n    port = int(test_config[\"MySQLPort\"])\n    user = test_config[\"MySQLUser\"]\n    cmd = f\"mysql -u {user} -h {host} -P {port}\"\n    cmd += \" < setup/zillion_test.mysql.sql\"\n    res = shell(cmd)\n    assert res.returncode == 0, f\"Error initializing MySQL: {res.stderr}\"\n\n\ndef postgresql_data_init():\n    host = test_config[\"PostgreSQLHost\"]\n    port = int(test_config[\"PostgreSQLPort\"])\n    user = test_config[\"PostgreSQLUser\"]\n    schema = test_config[\"PostgreSQLTestSchema\"]\n    cmd = (\n        f\"psql -U {user} -h {host} -p {port} {schema} < setup/zillion_test.postgres.sql\"\n    )\n    res = shell(cmd)\n    assert res.returncode == 0, f\"Error initializing PostgreSQL: {res.stderr}\"\n\n\ndef duckdb_data_init(conn):\n    for table in [\"partners\", \"campaigns\", \"partner_sibling\", \"leads\", \"sales\"]:\n        print(f\"Creating table {table}\")\n        conn.execute(\n            f\"CREATE TABLE {table} AS SELECT * FROM read_csv_auto('setup/{table}.csv')\"\n        )\n\n\ndef get_pymysql_conn():\n    host = test_config[\"MySQLHost\"]\n    port = int(test_config[\"MySQLPort\"])\n    user = test_config[\"MySQLUser\"]\n    password = test_config.get(\"MySQLPassword\", None)\n    schema = test_config[\"MySQLTestSchema\"]\n    conn = pymysql.connect(\n        host=host,\n        port=port,\n        db=schema,\n        user=user,\n        passwd=password,\n        cursorclass=pymysql.cursors.DictCursor,\n    )\n    return conn\n\n\ndef get_sqlalchemy_mysql_engine():\n    host = test_config[\"MySQLHost\"]\n    port = int(test_config[\"MySQLPort\"])\n    user = test_config[\"MySQLUser\"]\n    password = test_config.get(\"MySQLPassword\", None)\n    schema = test_config[\"MySQLTestSchema\"]\n    if host in [\"localhost\", \"127.0.0.1\"] and not password:\n        conn_str = \"mysql+pymysql://%(user)s@%(host)s/%(schema)s\" % locals()\n    else:\n        conn_str = (\n            \"mysql+pymysql://%(user)s:%(password)s@%(host)s:%(port)s/%(schema)s\"\n            % locals()\n        )\n    engine = sa.create_engine(conn_str)\n    return engine\n\n\ndef get_sqlalchemy_mysql_conn():\n    engine = get_sqlalchemy_mysql_engine()\n    return engine.connect()\n\n\ndef get_sqlalchemy_postgresql_engine():\n    host = test_config[\"PostgreSQLHost\"]\n    port = int(test_config[\"PostgreSQLPort\"])\n    user = test_config[\"PostgreSQLUser\"]\n    schema = test_config[\"PostgreSQLTestSchema\"]\n    conn_str = \"postgresql+psycopg2://%(user)s@%(host)s:%(port)s/%(schema)s\" % locals()\n    engine = sa.create_engine(conn_str)\n    return engine\n\n\ndef get_sqlalchemy_postgresql_conn():\n    engine = get_sqlalchemy_postgresql_engine()\n    return engine.connect()\n\n\ndef get_sqlalchemy_duckdb_engine():\n    schema_base = test_config[\"DuckDBTestSchemaBase\"]\n    if sys.version_info >= (3, 12):\n        schema = f\"{schema_base}_1.x.duckdb\"\n    else:\n        schema = f\"{schema_base}_0.7.duckdb\"\n    conn_str = f\"duckdb:///{schema}\"\n    engine = sa.create_engine(conn_str)\n    return engine\n\n\ndef get_sqlalchemy_duckdb_conn():\n    engine = get_sqlalchemy_duckdb_engine()\n    return engine.connect()\n\n\n# NOTE: defaults to mysql, should be cleaned up\ndef get_sql(sql):\n    conn = get_pymysql_conn()\n    try:\n        cursor = conn.cursor()\n        cursor.execute(sql)\n        return cursor.fetchall()\n    finally:\n        conn.close()\n\n\ndef create_test_metadata(ds_config):\n    metadata = sa.MetaData()\n    metadata.bind = sa.create_engine(ds_config[\"connect\"])\n    metadata.reflect(schema=\"main\")\n\n    # Create zillion info directly on metadata\n    partners_info = TableInfo.create(\n        dict(type=TableTypes.DIMENSION, create_fields=True, primary_key=[\"partner_id\"])\n    )\n    campaigns_info = TableInfo.create(\n        dict(type=TableTypes.DIMENSION, create_fields=True, primary_key=[\"campaign_id\"])\n    )\n\n    metadata.tables[\"main.partners\"].info[\"zillion\"] = partners_info\n    metadata.tables[\"main.campaigns\"].info[\"zillion\"] = campaigns_info\n    return metadata\n\n\ndef drop_metadata_table_if_exists(metadata, table_name):\n    if table_name not in metadata.tables:\n        return\n    table = metadata.tables[table_name]\n    table.drop()\n    metadata.remove(table)\n\n\ndef create_adhoc_data(column_types, size):\n    data = []\n\n    def get_random_value(coltype):\n        if coltype == str:\n            return random_string()\n        elif coltype == int:\n            return random.randint(0, 1e2)\n        elif coltype == float:\n            return random.random() * 1e2\n        else:\n            assert False, \"Unsupported column type: %s\" % coltype\n\n    for i in range(0, int(size)):\n        row = dict()\n        for column_name, column_type in column_types.items():\n            row[column_name] = get_random_value(column_type)\n        data.append(row)\n\n    return data\n\n\ndef create_adhoc_datatable(name, table_config, primary_key, column_types, size):\n    assert table_config[\"columns\"].keys() == column_types.keys(), (\n        \"Mismatch between table_config columns and column_types\"\n    )\n\n    data = create_adhoc_data(column_types, size)\n\n    dt = AdHocDataTable(\n        name,\n        data,\n        table_config[\"type\"],\n        primary_key=primary_key,\n        columns=table_config.get(\"columns\", None),\n        if_exists=table_config.get(\"if_exists\", IfExistsModes.FAIL),\n        schema=\"main\",\n    )\n    return dt\n\n\ndef get_adhoc_table_config():\n    table_config = {\n        \"type\": TableTypes.METRIC,\n        \"if_exists\": IfExistsModes.REPLACE,\n        \"create_fields\": False,\n        \"columns\": OrderedDict(\n            partner_name={\"fields\": [\"partner_name\"]},\n            adhoc_metric={\"fields\": [\"adhoc_metric\"]},\n        ),\n    }\n    return table_config\n\n\ndef get_dma_zip_table_config():\n    table_config = {\n        \"type\": TableTypes.DIMENSION,\n        \"create_fields\": True,\n        \"columns\": OrderedDict(\n            Zip_Code={\"fields\": [\"zip_code\"]},\n            DMA_Code={\"fields\": [\"dma_code\"]},\n            DMA_Description={\"fields\": [\"dma_description\"]},\n        ),\n    }\n    return table_config\n\n\ndef get_adhoc_datasource(size=10, name=\"adhoc_table1\", reuse=False):\n    table_config = get_adhoc_table_config()\n    primary_key = [\"partner_name\"]\n    column_types = dict(partner_name=str, adhoc_metric=float)\n    config = {\n        \"metrics\": [\n            {\n                \"name\": \"adhoc_metric\",\n                \"type\": \"Numeric(10,2)\",\n                \"aggregation\": AggregationTypes.SUM,\n            }\n        ],\n        \"dimensions\": [{\"name\": \"partner_name\", \"type\": \"String(32)\"}],\n    }\n\n    if reuse:\n        fname = get_adhoc_datasource_filename(name)\n        if os.path.exists(fname):\n            info(\"Reusing datasource file %s\" % fname)\n            dt = SQLiteDataTable(\n                name,\n                None,\n                table_config[\"type\"],\n                primary_key=primary_key,\n                columns=table_config.get(\"columns\", None),\n                schema=\"main\",\n            )\n            return DataSource.from_datatables(name, [dt], config=config)\n\n    dt = create_adhoc_datatable(name, table_config, primary_key, column_types, size)\n    return DataSource.from_datatables(name, [dt], config=config)\n\n\ndef get_testdb_url(dbname=DEFAULT_TEST_DB):\n    return \"sqlite:///%s\" % dbname\n\n\nEXPECTED_DATE_CONVERSION_VALUES = [\n    (\"campaign_year\", 2019),\n    (\"campaign_quarter\", \"2019-Q1\"),\n    (\"campaign_quarter_of_year\", 1),\n    (\"campaign_month\", \"2019-03\"),\n    (\"campaign_month_name\", \"March\"),\n    (\"campaign_month_of_year\", 3),\n    (\"campaign_week\", \"2019-W13\"),\n    (\"campaign_week_of_year\", 13),\n    (\"campaign_week_of_month\", 5),\n    (\"campaign_period_of_month_7d\", 4),\n    (\"campaign_date\", \"2019-03-26\"),\n    (\"campaign_day_name\", \"Tuesday\"),\n    (\"campaign_day_of_week\", 2),\n    (\"campaign_is_weekday\", 1),\n    (\"campaign_day_of_month\", 26),\n    (\"campaign_day_of_year\", 85),\n    (\"campaign_hour\", \"2019-03-26 21:00:00\"),\n    (\"campaign_hour_of_day\", 21),\n    (\"campaign_minute\", \"2019-03-26 21:02:00\"),\n    (\"campaign_minute_of_hour\", 2),\n    (\"campaign_datetime\", \"2019-03-26 21:02:15\"),\n]\n\n\ndef get_date_conversion_test_params():\n    metrics = None\n    criteria = [(\"campaign_name\", \"=\", \"Campaign 2B\")]\n    dimensions = [\"campaign_%s\" % v.name for v in DATETIME_CONVERSION_FIELDS]\n    return dict(metrics=metrics, criteria=criteria, dimensions=dimensions)\n\n\nCRITERIA_CONVERSION_TESTS = [\n    # TODO: add value validation for every case\n    (\"campaign_date\", \"=\", \"2019-03-26\"),\n    (\"campaign_date\", \"!=\", \"2019-03-25\"),\n    (\"campaign_date\", \">\", \"2019-03-25\"),\n    (\"campaign_date\", \">=\", \"2019-03-26\"),\n    (\"campaign_date\", \"<\", \"2019-03-27\"),\n    (\"campaign_date\", \"<=\", \"2019-03-26\"),\n    (\"campaign_date\", \"between\", [\"2019-03-26\", \"2019-03-27\"]),\n    (\"campaign_date\", \"not between\", [\"2019-03-25\", \"2019-03-25\"]),\n    #\n    (\"campaign_year\", \"=\", \"2019\"),\n    (\"campaign_year\", \"!=\", \"2020\"),\n    (\"campaign_year\", \">\", \"2018\"),\n    (\"campaign_year\", \">=\", \"2019\"),\n    (\"campaign_year\", \"<\", \"2020\"),\n    (\"campaign_year\", \"<=\", \"2019\"),\n    (\"campaign_year\", \"between\", [\"2019\", \"2020\"]),\n    (\"campaign_year\", \"not between\", [\"2017\", \"2018\"]),\n    #\n    (\"campaign_month\", \"=\", \"2019-03\"),\n    (\"campaign_month\", \"!=\", \"2019-02\"),\n    (\"campaign_month\", \">\", \"2019-02\"),\n    (\"campaign_month\", \">=\", \"2019-03\"),\n    (\"campaign_month\", \"<\", \"2019-04\"),\n    (\"campaign_month\", \"<=\", \"2019-03\"),\n    (\"campaign_month\", \"between\", [\"2019-03\", \"2019-03\"]),\n    (\"campaign_month\", \"not between\", [\"2019-01\", \"2019-02\"]),\n    #\n    (\"campaign_hour\", \"=\", \"2019-03-26 21:00:00\"),\n    (\"campaign_hour\", \"!=\", \"2019-03-26 20:00:00\"),\n    (\"campaign_hour\", \">\", \"2019-03-26 04:00:00\"),\n    (\"campaign_hour\", \">=\", \"2019-03-26 21:00:00\"),\n    (\"campaign_hour\", \"<\", \"2019-03-26 22:00:00\"),\n    (\"campaign_hour\", \">=\", \"2019-03-26 21:00:00\"),\n    (\"campaign_hour\", \"between\", [\"2019-03-26 20:00:00\", \"2019-03-26 22:00:00\"]),\n    (\"campaign_hour\", \"not between\", [\"2019-03-26 04:00:00\", \"2019-03-26 05:00:00\"]),\n    #\n    (\"campaign_minute\", \"=\", \"2019-03-26 21:02:00\"),\n    (\"campaign_minute\", \"!=\", \"2019-03-26 21:01:00\"),\n    (\"campaign_minute\", \">\", \"2019-03-26 21:01:00\"),\n    (\"campaign_minute\", \">=\", \"2019-03-26 21:02:00\"),\n    (\"campaign_minute\", \"<\", \"2019-03-26 21:03:00\"),\n    (\"campaign_minute\", \">=\", \"2019-03-26 21:02:00\"),\n    (\"campaign_minute\", \"between\", [\"2019-03-26 21:01:00\", \"2019-03-26 21:02:00\"]),\n    (\"campaign_minute\", \"not between\", [\"2019-03-26 21:01:00\", \"2019-03-26 21:01:00\"]),\n    #\n    (\"campaign_datetime\", \"=\", \"2019-03-26 21:02:15\"),\n    (\"campaign_datetime\", \"!=\", \"2019-03-26 21:02:00\"),\n    (\"campaign_datetime\", \">\", \"2019-03-26 21:02:10\"),\n    (\"campaign_datetime\", \">=\", \"2019-03-26 21:02:15\"),\n    (\"campaign_datetime\", \"<\", \"2019-03-26 21:02:16\"),\n    (\"campaign_datetime\", \"<=\", \"2019-03-26 21:02:15\"),\n    (\"campaign_datetime\", \"between\", [\"2019-03-26 21:02:15\", \"2019-03-26 21:02:16\"]),\n    (\n        \"campaign_datetime\",\n        \"not between\",\n        [\"2019-03-26 21:00:01\", \"2019-03-26 21:00:02\"],\n    ),\n]\n\n\ndef wh_execute_args(d):\n    exec_params = set(\n        [\n            \"metrics\",\n            \"dimensions\",\n            \"criteria\",\n            \"row_filters\",\n            \"rollup\",\n            \"pivot\",\n            \"order_by\",\n            \"limit\",\n            \"limit_first\",\n            \"adhoc_datasources\",\n            \"allow_partial\",\n            \"disabled_tables\",\n        ]\n    )\n    return {k: v for k, v in d.items() if k in exec_params}\n\n\ndef wh_execute(wh, d):\n    return wh.execute(**wh_execute_args(d))\n"
  },
  {
    "path": "tests/test_wh_config.json",
    "content": "{\n  \"meta\": {\n    \"nlp\": {\n      \"collection_name\": null,\n      \"field_disabled_patterns\": [\"rpl_ma_5\"],\n      \"field_disabled_groups\": [\"No NLP\"]\n    }\n  },\n  \"metrics\": [\n    {\n      \"name\": \"rpl\",\n      \"display_name\": \"Revenue/Lead\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{leads}\",\n      \"description\": \"Revenue per Lead\",\n      \"meta\": {\n        \"metafield\": \"metavalue\",\n        \"nlp\": {\n          \"enabled\": true,\n          \"embedding_text\": \"Revenue per Lead Meta\"\n        }\n      }\n    },\n    {\n      \"name\": \"rpl_weighted\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{leads}\",\n      \"weighting_metric\": \"main_sales_quantity\",\n      \"meta\": {\n        \"nlp\": {\n          \"enabled\": false\n        }\n      }\n    },\n    {\n      \"name\": \"rpl_lead_weighted\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{leads}\",\n      \"weighting_metric\": \"leads\",\n      \"meta\": {\n        \"nlp\": {\n          \"embedding_text\": [\"rpl weighted 1\", \"rpl weighted 2\"]\n        }\n      }\n    },\n    {\n      \"name\": \"rpl_lead_formula_weighted\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{leads}\",\n      \"weighting_metric\": \"leads_formula\"\n    },\n    {\n      \"name\": \"rps_lead_weighted\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{sales}\",\n      \"weighting_metric\": \"leads\"\n    },\n    {\n      \"name\": \"rpl_squared\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{rpl}*{rpl}\"\n    },\n    {\n      \"name\": \"rpl_unsquared\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{rpl_squared}/{rpl}\",\n      \"meta\": {\n        \"group\": \"No NLP\"\n      }\n    },\n    {\n      \"name\": \"rpl_ma_5\",\n      \"aggregation\": \"mean\",\n      \"rounding\": 2,\n      \"formula\": \"{revenue}/{leads}\",\n      \"technical\": \"mean(5)\"\n    },\n    {\n      \"name\": \"revenue\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"divisors\": {\n        \"metrics\": [\"leads\", \"sales\"],\n        \"rounding\": 2,\n        \"formula\": \"1.0*IFNULL({metric},0)/{divisor}\"\n      }\n    },\n    {\n      \"name\": \"revenue_ma_5\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"mean(5)\"\n    },\n    {\n      \"name\": \"revenue_sum_5\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"sum(5)\"\n    },\n    {\n      \"name\": \"revenue_cumsum\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"cumsum\"\n    },\n    {\n      \"name\": \"revenue_boll_5\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"boll(5)\"\n    },\n    {\n      \"name\": \"revenue_diff\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"diff\"\n    },\n    {\n      \"name\": \"revenue_pct_diff\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2,\n      \"technical\": \"pct_change\"\n    },\n    {\n      \"name\": \"revenue_ds\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"rounding\": 2\n    },\n    {\n      \"name\": \"leads\",\n      \"type\": \"integer\",\n      \"aggregation\": \"sum\"\n    },\n    {\n      \"name\": \"leads_formula\",\n      \"formula\": \"{leads}\",\n      \"aggregation\": \"sum\"\n    },\n    {\n      \"name\": \"sales\",\n      \"type\": \"integer\",\n      \"aggregation\": \"sum\"\n    },\n    {\n      \"name\": \"sales_variant\",\n      \"aggregation\": {\n        \"mean\": {\n          \"type\": \"numeric(10,2)\",\n          \"rounding\": 2\n        },\n        \"sum\": {\n          \"name\": \"sales_sum_custom_name\",\n          \"type\": \"integer\"\n        }\n      },\n      \"divisors\": {\n        \"metrics\": [\"leads\"],\n        \"rounding\": 2,\n        \"formula\": \"1.0*IFNULL({metric},0)/{divisor}\"\n      }\n    },\n    {\n      \"name\": \"revenue_required_grain\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"required_grain\": [\"campaign_name\"]\n    },\n    {\n      \"name\": \"revenue_ifnull\",\n      \"type\": \"numeric(10,2)\",\n      \"aggregation\": \"sum\",\n      \"ifnull\": 0\n    },\n    {\n      \"name\": \"revenue_per_lead_required_grain\",\n      \"aggregation\": \"mean\",\n      \"formula\": \"1.0*{revenue}/{leads}\",\n      \"required_grain\": [\"campaign_name\"]\n    },\n    {\n      \"name\": \"revenue_formula_required_grain\",\n      \"aggregation\": \"mean\",\n      \"formula\": \"1.0*{revenue_required_grain}\"\n    },\n    {\n      \"name\": \"repeated_metric\",\n      \"type\": \"integer\",\n      \"aggregation\": \"sum\"\n    }\n  ],\n  \"dimensions\": [\n    {\n      \"name\": \"partner_name\",\n      \"type\": \"string(32)\",\n      \"values\": [\"Partner C\", \"Partner B\", \"Partner A\"],\n      \"sorter\": \"zillion.field.sort_by_value_order\"\n    },\n    {\n      \"name\": \"partner_name_formula\",\n      \"formula\": \"IFNULL({partner_name}, 'test')\"\n    },\n    {\n      \"name\": \"partner_name_formula_nested\",\n      \"formula\": \"{partner_name_formula}\"\n    }\n  ],\n  \"datasources\": {\n    \"testdb1\": {\n      \"connect\": \"sqlite:///testdb1\",\n      \"metrics\": [\n        {\n          \"name\": \"lead_count\",\n          \"type\": \"integer\",\n          \"aggregation\": \"count\"\n        },\n        {\n          \"name\": \"lead_count_distinct\",\n          \"type\": \"integer\",\n          \"aggregation\": \"count_distinct\"\n        },\n        {\n          \"name\": \"ds_sales\",\n          \"type\": \"integer\",\n          \"aggregation\": \"sum\"\n        },\n        {\n          \"name\": \"revenue_mean\",\n          \"type\": \"numeric(10,2)\",\n          \"aggregation\": \"mean\",\n          \"rounding\": 2,\n          \"weighting_metric\": \"main_sales_quantity\"\n        },\n        {\n          \"name\": \"revenue_mean_ds_weighted\",\n          \"type\": \"numeric(10,2)\",\n          \"aggregation\": \"mean\",\n          \"rounding\": 2,\n          \"weighting_metric\": \"main_sales_quantity\"\n        }\n      ],\n      \"dimensions\": [\n        {\n          \"name\": \"ds_partner_name\",\n          \"type\": \"string(50)\"\n        },\n        {\n          \"name\": \"campaign_name_length\",\n          \"type\": \"integer\"\n        },\n        {\n          \"name\": \"revenue_decile\",\n          \"type\": \"integer\"\n        }\n      ],\n      \"tables\": {\n        \"main.partners\": {\n          \"type\": \"dimension\",\n          \"create_fields\": true,\n          \"siblings\": [\"main.partner_sibling\"],\n          \"primary_key\": [\"partner_id\"],\n          \"columns\": {\n            \"id\": {\n              \"fields\": [\"partner_id\"]\n            },\n            \"name\": {\n              \"fields\": [\"partner_name\", \"ds_partner_name\"]\n            }\n          }\n        },\n        \"main.partner_sibling\": {\n          \"type\": \"dimension\",\n          \"create_fields\": true,\n          \"primary_key\": [\"partner_id\"],\n          \"columns\": {\n            \"partner_id\": {\n              \"fields\": [\"partner_id\"]\n            },\n            \"sibling_dim\": {\n              \"fields\": [\"partner_sibling_dim\"]\n            }\n          }\n        },\n        \"main.campaigns\": {\n          \"type\": \"dimension\",\n          \"create_fields\": true,\n          \"parent\": \"main.partners\",\n          \"primary_key\": [\"campaign_id\"],\n          \"columns\": {\n            \"id\": {\n              \"fields\": [\"campaign_id\"]\n            },\n            \"name\": {\n              \"fields\": [\n                \"campaign_name\",\n                {\n                  \"name\": \"campaign_name_length\",\n                  \"ds_formula\": \"LENGTH(campaigns.name)\"\n                }\n              ]\n            },\n            \"partner_id\": {\n              \"fields\": [\"partner_id\"]\n            },\n            \"created_at\": {\n              \"fields\": [\"campaign_created_at\"],\n              \"allow_type_conversions\": true,\n              \"type_conversion_prefix\": \"campaign_\",\n              \"disabled_type_conversions\": [\"hour\"]\n            }\n          }\n        },\n        \"main.leads\": \"test_table_config.json\",\n        \"main.sales\": {\n          \"type\": \"metric\",\n          \"priority\": 2,\n          \"create_fields\": true,\n          \"parent\": \"main.leads\",\n          \"primary_key\": [\"sale_id\"],\n          \"columns\": {\n            \"id\": {\n              \"fields\": [\n                \"sale_id\",\n                {\n                  \"name\": \"sales\",\n                  \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                },\n                {\n                  \"name\": \"ds_sales\",\n                  \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                },\n                {\n                  \"name\": \"repeated_metric\",\n                  \"ds_formula\": \"COUNT(DISTINCT sales.id)\"\n                }\n              ]\n            },\n            \"created_at\": {\n              \"allow_type_conversions\": true,\n              \"type_conversion_prefix\": \"sale_\"\n            },\n            \"lead_id\": {\n              \"fields\": [\n                {\n                  \"name\": \"lead_id\",\n                  \"ds_formula\": \"sales.lead_id\",\n                  \"ds_criteria_conversions\": {\n                    \"=\": [[\"=\", \"{}\"]]\n                  }\n                }\n              ]\n            },\n            \"revenue\": {\n              \"fields\": [\n                \"revenue\",\n                \"revenue_ma_5\",\n                \"revenue_sum_5\",\n                \"revenue_boll_5\",\n                \"revenue_cumsum\",\n                \"revenue_diff\",\n                \"revenue_pct_diff\",\n                \"revenue_mean\",\n                \"revenue_required_grain\",\n                \"revenue_ifnull\",\n                {\n                  \"name\": \"revenue_ds\",\n                  \"ds_formula\": \"IFNULL(sales.revenue, 0)\"\n                },\n                {\n                  \"name\": \"revenue_mean_ds_weighted\",\n                  \"ds_formula\": \"SUM(1.0*sales.revenue*sales.quantity)/SUM(sales.quantity)\"\n                },\n                {\n                  \"name\": \"revenue_decile\",\n                  \"ds_formula\": \"10*ROUND(sales.revenue/10.0, 0)\"\n                }\n              ]\n            }\n          }\n        }\n      }\n    },\n    \"testdb2\": \"test_sqlite_ds_config.json\"\n  }\n}\n"
  },
  {
    "path": "zillion/__init__.py",
    "content": "\"\"\"Zillion package\"\"\"\n\nfrom .version import __version__\nfrom .core import (\n    FieldTypes,\n    TableTypes,\n    AggregationTypes,\n    TechnicalTypes,\n    TechnicalModes,\n    RollupTypes,\n    DataSourceQueryModes,\n    IfExistsModes,\n    load_zillion_config,\n)\nfrom .configs import (\n    load_warehouse_config,\n    load_warehouse_config_from_env,\n    load_datasource_config,\n    load_datasource_config_from_env,\n)\nfrom .datasource import DataSource\nfrom .warehouse import Warehouse\nfrom .report import Report\n"
  },
  {
    "path": "zillion/configs.py",
    "content": "import sys\nfrom collections import OrderedDict, defaultdict\nimport os\nimport string\n\nfrom marshmallow import (\n    Schema,\n    fields as original_mfields,\n    ValidationError,\n    pre_load,\n    EXCLUDE,\n    RAISE,\n)\nimport pandas as pd\n\n# Monkey-patching for marshmallow.fields\nif sys.version_info >= (3, 12):\n    # No patching needed for Python 3.12+, use load_default directly\n    mfields = original_mfields\nelse:\n    # Patch marshmallow.fields for older Python versions\n    class PatchedField(original_mfields.Field):\n        def __init__(self, *args, **kwargs):\n            if \"load_default\" in kwargs:\n                kwargs[\"missing\"] = kwargs.pop(\"load_default\")\n                kwargs[\"default\"] = kwargs[\"missing\"]\n            elif \"missing\" in kwargs or \"default\" in kwargs:\n                if \"missing\" in kwargs:\n                    kwargs[\"load_default\"] = kwargs.pop(\"missing\")\n                if \"default\" in kwargs:\n                    kwargs[\"load_default\"] = kwargs.pop(\"default\")\n            super().__init__(*args, **kwargs)\n\n    # Replace specific fields that use 'missing' or 'default'\n    original_mfields.Dict = type(\"Dict\", (PatchedField, original_mfields.Dict), {})\n    original_mfields.List = type(\"List\", (PatchedField, original_mfields.List), {})\n    original_mfields.Str = type(\"Str\", (PatchedField, original_mfields.Str), {})\n    original_mfields.String = type(\n        \"String\", (PatchedField, original_mfields.String), {}\n    )\n    original_mfields.Boolean = type(\n        \"Boolean\", (PatchedField, original_mfields.Boolean), {}\n    )\n    original_mfields.Integer = type(\n        \"Integer\", (PatchedField, original_mfields.Integer), {}\n    )\n    original_mfields.Float = type(\"Float\", (PatchedField, original_mfields.Float), {})\n    original_mfields.Field = type(\"Field\", (PatchedField, original_mfields.Field), {})\n\n    # Re-assign mfields to the patched version\n    mfields = original_mfields\n\nfrom zillion.core import *\nfrom zillion.sql_utils import (\n    column_fullname,\n    type_string_to_sa_type,\n    InvalidSQLAlchemyTypeString,\n)\n\n\nFIELD_NAME_ALLOWED_CHARS_STR = (\n    string.ascii_uppercase + string.ascii_lowercase + string.digits + \"_\"\n)\nFIELD_NAME_ALLOWED_CHARS = set(FIELD_NAME_ALLOWED_CHARS_STR)\n\nFIELD_DISPLAY_NAME_ALLOWED_CHARS_STR = (\n    string.ascii_uppercase\n    + string.ascii_lowercase\n    + string.digits\n    + \"_-:/|<>+-=@[]{}()$%&*?,. \"\n)\nFIELD_DISPLAY_NAME_ALLOWED_CHARS = set(FIELD_DISPLAY_NAME_ALLOWED_CHARS_STR)\n\nTABLE_NAME_ALLOWED_CHARS_STR = (\n    string.ascii_uppercase + string.ascii_lowercase + string.digits + \"_\"\n)\nTABLE_NAME_ALLOWED_CHARS = set(TABLE_NAME_ALLOWED_CHARS_STR)\n\nDATASOURCE_NAME_ALLOWED_CHARS_STR = (\n    string.ascii_uppercase + string.ascii_lowercase + string.digits + \"_\"\n)\nDATASOURCE_NAME_ALLOWED_CHARS = set(DATASOURCE_NAME_ALLOWED_CHARS_STR)\nDATASOURCE_CONNECT_FUNC_DEFAULT = \"zillion.datasource.url_connect\"\n\n\ndef parse_schema_file(f, schema):\n    \"\"\"Parse a marshmallow schema file\n\n    **Parameters:**\n\n    * **f** - (*str or buffer*) A file path or buffer to read the raw schema\n    contents from. Both JSON and YAML are supported.\n    * **schema** - (*marshmallow schema*) The marshmallow schema to use to parse\n    the data\n\n    **Returns:**\n\n    (*dict*) - A dict structure loaded from the schema file\n\n    \"\"\"\n    raw = read_filepath_or_buffer(f)\n    try:\n        result = load_json_or_yaml_from_str(raw, f, schema=schema)\n    except ValidationError as e:\n        error(\"Schema Validation Error: %s\" % schema)\n        print(json.dumps(str(e), indent=2))\n        raise\n    return result\n\n\ndef load_warehouse_config(cfg):\n    \"\"\"Parse a warehouse JSON config\n\n    **Parameters:**\n\n    * **cfg** - (*dict, str, or buffer*) A warehouse config dict or a file\n    path/buffer to read the config contents from.\n\n    **Returns:**\n\n    (*dict*) - The parsed warehouse config\n\n    \"\"\"\n    if isinstance(cfg, dict):\n        return WarehouseConfigSchema().load(cfg)\n\n    return parse_schema_file(cfg, WarehouseConfigSchema())\n\n\ndef load_warehouse_config_from_env(var):\n    \"\"\"Parse a warehouse JSON config from a location stored in an environment\n    variable\"\"\"\n    f = os.environ.get(var)\n    return load_warehouse_config(f)\n\n\ndef load_datasource_config(cfg):\n    \"\"\"Parse a datasource JSON config\n\n    **Parameters:**\n\n    * **cfg** - (*dict, str, or buffer*) A datasource config dict or a file\n    path/buffer to read the config contents from.\n\n    **Returns:**\n\n    (*dict*) - The parsed datasource config\n\n    \"\"\"\n    if isinstance(cfg, dict):\n        return DataSourceConfigSchema().load(cfg)\n\n    return parse_schema_file(cfg, DataSourceConfigSchema())\n\n\ndef load_datasource_config_from_env(var):\n    \"\"\"Parse a datasource JSON config from a location stored in an environment\n    variable\"\"\"\n    f = os.environ.get(var)\n    return load_datasource_config(f)\n\n\ndef table_safe_name(name):\n    \"\"\"Replace characters with underscores if they are not in\n    TABLE_NAME_ALLOWED_CHARS\n\n    **Parameters:**\n\n    * **name** - (*str*) The field name to process\n\n    **Returns:**\n\n    (*str*) - The \"safe\" table name\n\n    \"\"\"\n    for char in name:\n        if char not in TABLE_NAME_ALLOWED_CHARS:\n            name = name.replace(char, \"_\")\n    return name\n\n\ndef field_safe_name(name):\n    \"\"\"Replace characters with underscores if they are not in\n    FIELD_NAME_ALLOWED_CHARS\n\n    **Parameters:**\n\n    * **name** - (*str*) The field name to process\n\n    **Returns:**\n\n    (*str*) - The \"safe\" field name\n\n    \"\"\"\n    for char in name:\n        if char not in FIELD_NAME_ALLOWED_CHARS:\n            name = name.replace(char, \"_\")\n    return name\n\n\ndef default_field_name(column):\n    \"\"\"Get the default field name from a SQLAlchemy column\n\n    **Parameters:**\n\n    * **column** - (*SQLAlchemy column*) A column to get the default field name\n    for\n\n    **Returns:**\n\n    (*str*) - The default field name for the column\n\n    \"\"\"\n    return field_safe_name(column_fullname(column))\n\n\ndef default_field_display_name(name):\n    \"\"\"Determine a default display name from the field name\n\n    **Parameters:**\n\n    * **name** - (*str*) The field name to process\n\n    **Returns:**\n\n    (*str*) - The field display name\n\n    \"\"\"\n    name = field_safe_name(name)\n    display_name = \" \".join(name.replace(\"_\", \" \").split()).title()\n    return display_name\n\n\ndef is_active(obj):\n    \"\"\"Helper to test if an object is an active part of the zillion config\"\"\"\n    if not getattr(obj, \"zillion\", None):\n        return False\n    if not obj.zillion.active:\n        return False\n    return True\n\n\ndef is_valid_table_type(val):\n    \"\"\"Validate table type\"\"\"\n    if val in TableTypes:\n        return True\n    raise ValidationError(\"Invalid table type: %s\" % val)\n\n\ndef is_valid_table_name(val):\n    \"\"\"Validate table name\"\"\"\n    if val.count(\".\") > 1:\n        raise ValidationError(\"Table name has more than one period: %s\" % val)\n    return True\n\n\ndef is_valid_if_exists(val):\n    \"\"\"Validate if_exists param\"\"\"\n    if val in IfExistsModes:\n        return True\n    raise ValidationError(\"Invalid if_exists value: %s\" % val)\n\n\ndef is_valid_field_name(val):\n    \"\"\"Validate field name\"\"\"\n    if val is None:\n        raise ValidationError(\"Field name can not be null\")\n    if val[0] in string.digits:\n        raise ValidationError(\"Field name can not start with a number\")\n    if set(val) <= FIELD_NAME_ALLOWED_CHARS:\n        return True\n    raise ValidationError(\n        'Field name \"%s\" has invalid characters. Allowed: %s'\n        % (val, FIELD_NAME_ALLOWED_CHARS_STR)\n    )\n\n\ndef is_valid_field_display_name(val):\n    \"\"\"Validate field display name\"\"\"\n    if val is None:\n        raise ValidationError(\"Field display name can not be null\")\n    if set(val) <= FIELD_DISPLAY_NAME_ALLOWED_CHARS:\n        return True\n    raise ValidationError(\n        'Field display name \"%s\" has invalid characters. Allowed: %s'\n        % (val, FIELD_DISPLAY_NAME_ALLOWED_CHARS_STR)\n    )\n\n\ndef is_valid_sqlalchemy_type(val):\n    \"\"\"Validate SQLAlchemy type string\"\"\"\n    if val is not None:\n        try:\n            type_string_to_sa_type(val)\n        except InvalidSQLAlchemyTypeString as e:\n            raise ValidationError(\"Invalid sqlalchemy type: %s\" % val)\n    return True\n\n\ndef has_valid_sqlalchemy_type_values(val):\n    \"\"\"Validate a mapping that has sqlalchemy type strings as values\"\"\"\n    if not val:\n        return True\n    if not isinstance(val, dict):\n        raise ValidationError(\"Expected dict: %s\" % val)\n    for v in val.values():\n        is_valid_sqlalchemy_type(v)\n\n\ndef is_valid_aggregation(val):\n    \"\"\"Validate aggregation type\"\"\"\n    if isinstance(val, dict):\n        valid = all(v in AggregationTypes for v in val)\n    else:\n        valid = val in AggregationTypes\n\n    if valid:\n        return True\n    raise ValidationError(\"Invalid aggregation: %s\" % val)\n\n\ndef is_valid_column_field_config(val):\n    \"\"\"Validate column field config\"\"\"\n    if isinstance(val, str):\n        return True\n    if isinstance(val, dict):\n        schema = ColumnFieldConfigSchema()\n        schema.load(val)\n        return True\n    raise ValidationError(\"Invalid column field config: %s\" % val)\n\n\ndef is_valid_technical_type(val):\n    \"\"\"Validate technical type\"\"\"\n    if val in TechnicalTypes:\n        return True\n    raise ValidationError(\"Invalid technical type: %s\" % val)\n\n\ndef is_valid_technical_mode(val):\n    \"\"\"Validate technical mode\"\"\"\n    if val in TechnicalModes:\n        return True\n    raise ValidationError(\"Invalid technical mode: %s\" % val)\n\n\ndef is_valid_technical(val):\n    \"\"\"Validate technical\"\"\"\n    try:\n        create_technical(val)\n    except InvalidTechnicalException as e:\n        raise ValidationError(\"Invalid technical: %s\" % val) from e\n    return True\n\n\ndef is_valid_dimension_values(val):\n    \"\"\"Validate dimension values\"\"\"\n    if isinstance(val, list):\n        return True\n    if isinstance(val, str):\n        return True\n    raise ValidationError(\"Invalid dimension values: %s\" % val)\n\n\ndef is_valid_datasource_criteria_conversions(val):\n    \"\"\"Validate datasource criteria conversions\"\"\"\n    if val is None:\n        return True\n    if not isinstance(val, dict):\n        raise ValidationError(\n            \"Invalid datasource criteria conversion, must be a dict \"\n            \"mapping criteria operations to criteria conversions: %s\" % val\n        )\n    for op, new_criteria in val.items():\n        if op not in CRITERIA_OPERATIONS:\n            raise ValidationError(\"Invalid criteria operation: %s\" % op)\n        if not isinstance(new_criteria, list):\n            raise ValidationError(\n                \"Criteria conversions must be a list of new criteria to apply: %s\"\n                % new_criteria\n            )\n        for row in new_criteria:\n            if not len(row) == 2:\n                raise ValidationError(\n                    \"Criteria conversion row must have 2 items: %s\" % row\n                )\n            row_op, row_formula = row\n            if not row_op in CRITERIA_OPERATIONS:\n                raise ValidationError(\"Invalid criteria operation: %s\" % row)\n            if callable(row_formula):\n                # No way to check this further, assumes the callable is returning\n                # a properly formated value that would satistify the check below.\n                continue\n            # We allow 2-item list/tuple for between/in criteria, otherwise\n            # it must be a string.\n            if not isinstance(row_formula, str):\n                allows_list = row_op in [\"between\", \"not between\", \"in\", \"not in\"]\n                valid_list = (\n                    isinstance(row_formula, (list, tuple)) and len(row_formula) == 2\n                )\n                if not allows_list or not valid_list:\n                    raise ValidationError(\n                        \"Invalid criteria conversion values: %s\" % row\n                    )\n    return True\n\n\ndef is_valid_connect_type(val):\n    \"\"\"Validate technical type\"\"\"\n    if isinstance(val, str):\n        try:\n            import_object(val)\n        except Exception as e:\n            raise ValidationError(\"Could not import connect type: %s\" % val) from e\n        return True\n    raise ValidationError(\"Invalid connect type: %s\" % val)\n\n\ndef is_valid_datasource_connect(val):\n    \"\"\"Validate datasource connect value\"\"\"\n    if isinstance(val, str):\n        return True\n    if isinstance(val, dict):\n        schema = DataSourceConnectSchema()\n        schema.load(val)\n        return True\n    raise ValidationError(\"Invalid datasource connect config: %s\" % val)\n\n\ndef is_valid_datasource_config(val):\n    \"\"\"Validate datasource config\"\"\"\n    if not isinstance(val, dict):\n        raise ValidationError(\"Invalid datasource config: %s\" % val)\n    schema = DataSourceConfigSchema()\n    val = schema.load(val)\n    return True\n\n\ndef is_valid_field_nlp_embedding_text_config(val):\n    \"\"\"Validate field nlp embedding text config\"\"\"\n    if isinstance(val, str):\n        return True\n    if isinstance(val, list) and all(isinstance(x, str) for x in val):\n        return True\n    raise ValidationError(\"Invalid nlp embedding_text field config: %s\" % val)\n\n\ndef is_valid_divisors_config(val):\n    \"\"\"Validate metric divisors\"\"\"\n    if isinstance(val, dict):\n        schema = DivisorsConfigSchema()\n        schema.load(val)\n        return True\n    raise ValidationError(\"Invalid metric divisors config: %s\" % val)\n\n\ndef get_divisor_metrics(metric):\n    \"\"\"Given a metric with a divisor config, generate the formula metrics\"\"\"\n\n    new_metrics = []\n    dconfig = metric.get(\"divisors\", {})\n    if not dconfig:\n        return []\n\n    raiseif(\n        metric[\"aggregation\"] == AggregationTypes.MEAN,\n        \"Divisor metrics not supported for metrics with aggregation type 'mean'\",\n    )\n\n    for divisor in dconfig[\"metrics\"]:\n        new_metric = {}\n\n        # Formula fields will get substituted at report time so we need to\n        # maintain braces around the fields name.\n        metric_ph = \"{\" + metric[\"name\"] + \"}\"\n        divisor_ph = \"{\" + divisor + \"}\"\n\n        if \"name\" in dconfig:\n            new_metric[\"name\"] = dconfig[\"name\"].format(divisor=f\"{divisor}\")\n        else:\n            # Naively try to convert from plural to singular by chopping 's'\n            new_metric[\"name\"] = f\"{metric['name']}_per_{divisor.rstrip('s')}\"\n\n        if \"formula\" in dconfig:\n            new_metric[\"formula\"] = dconfig[\"formula\"].format(\n                metric=f\"{metric_ph}\", divisor=f\"{divisor_ph}\"\n            )\n        else:\n            # TODO Assumes sqlite!\n            new_metric[\"formula\"] = f\"1.0*IFNULL({metric_ph},0)/{divisor_ph}\"\n\n        new_metric[\"aggregation\"] = \"mean\"\n        new_metric[\"weighting_metric\"] = divisor\n        new_metric[\"rounding\"] = dconfig.get(\"rounding\", metric.get(\"rounding\", None))\n        new_metric[\"description\"] = f\"Auto-generated {metric['name']} divisor metric\"\n        meta = (metric.get(\"meta\", {}) or {}).copy()\n        new_metric[\"meta\"] = meta or None\n        new_metrics.append(new_metric)\n\n    return new_metrics\n\n\ndef get_aggregation_metrics(metric):\n    \"\"\"Get the final metrics for a field that may have multiple aggregations\"\"\"\n    if not isinstance(metric.get(\"aggregation\", None), dict):\n        return [metric]\n\n    final = []\n    for agg, cfg in metric[\"aggregation\"].items():\n        m = metric.copy()\n        m[\"name\"] = f\"{metric['name']}_{agg}\"\n        m.update(cfg)\n        m[\"aggregation\"] = agg\n        final.append(m)\n\n    return final\n\n\n# Inspiration: https://gist.github.com/ramnes/89245fbd9f2dfff52a78\nclass PolyNested(mfields.Nested):\n    \"\"\"A polytype nested field that iterates through a list of possible types\"\"\"\n\n    def _deserialize(self, value, attr, data, partial=None, **kwargs):\n        raiseifnot(isinstance(self.nested, list), \"Expected list of schemas\")\n        errors = []\n        for schema in self.nested:\n            if isinstance(schema, type):\n                schema = schema()\n            try:\n                result = schema.load(value)\n            except ValidationError as e:\n                errors.append(e)\n                continue\n            return result\n        raise ValidationError(\n            \"Could not deserialize value with PolyNested schemas. Errors:%s Data:%s Schemas:%s\"\n            % (errors, value, self.nested)\n        )\n\n\nclass BaseSchema(Schema):\n    \"\"\"Base Schema with custom JSON module\n\n    **Attributes:**\n\n    * **meta** - (*dict, optional) A dict of additional custom attributes for\n    the config object\n\n    \"\"\"\n\n    meta = mfields.Dict(keys=mfields.Str(), load_default=None, required=False)\n\n    class Meta:\n        \"\"\"Use the json module as imported from tlbx\"\"\"\n\n        render_module = json\n\n\nclass TechnicalInfoSchema(BaseSchema):\n    \"\"\"The schema of a technical configuration\"\"\"\n\n    type = mfields.String(required=True, validate=is_valid_technical_type)\n    params = mfields.Dict(keys=mfields.Str(), load_default=None)\n    mode = mfields.String(validate=is_valid_technical_mode, load_default=None)\n\n\nclass TechnicalField(mfields.Field):\n    \"\"\"A field for defining technical calculations\"\"\"\n\n    def _validate(self, value):\n        is_valid_technical(value)\n        super()._validate(value)\n\n\nclass DataSourceCriteriaConversionsField(mfields.Field):\n    \"\"\"A field for defining column-level criteria conversions. This allows\n    for optimizing queries by converting values instead of applying a\n    function on the column to evaluate criteria, which can otherwise\n    prevent index usage.\"\"\"\n\n    def _validate(self, value):\n        is_valid_datasource_criteria_conversions(value)\n        super()._validate(value)\n\n\nclass DimensionValuesField(mfields.Field):\n    \"\"\"A field for defining dimension values\"\"\"\n\n    def _validate(self, value):\n        is_valid_dimension_values(value)\n        super()._validate(value)\n\n\nclass ColumnFieldConfigSchema(BaseSchema):\n    \"\"\"The schema of a column's field attribute\n\n    **Attributes:**\n\n    * **name** - (*str*) The name of the field\n    * **ds_formula** - (*str*) A formula used to calculate the field value at\n    the datasource query level. It must use syntax specific to the datasource.\n\n    \"\"\"\n\n    name = mfields.Str(required=True, validate=is_valid_field_name)\n    ds_formula = mfields.Str(required=True)\n    ds_criteria_conversions = DataSourceCriteriaConversionsField(load_default=None)\n\n\nclass ColumnFieldConfigField(mfields.Field):\n    \"\"\"A marshmallow field for the column's field attribute\"\"\"\n\n    def _validate(self, value):\n        is_valid_column_field_config(value)\n        super()._validate(value)\n\n\nclass ColumnInfoSchema(BaseSchema):\n    \"\"\"The schema of column info that ends up in the zillion column metadata\n\n    **Attributes:**\n\n    * **fields** - (*list of ColumnFieldConfigField, optional*) A list of field\n    names or definitions\n    * **allow_type_conversions** - (*bool, optional*) A flag denoting whether\n    additional fields may be inferred from this column based on its column type\n    (such as deriving year from a date).\n    * **type_conversion_prefix** - (*str, optional*) A prefix to apply to all\n    fields defined through automated type conversions.\n    * **disabled_type_conversions** - (*list of str, optional*) A list of\n    type conversion names to disable.\n    * **active** - (*bool, optional*) A flag denoting whether this column is\n    active.\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report that\n    aims to include this column.\n\n    \"\"\"\n\n    fields = mfields.List(ColumnFieldConfigField())\n    allow_type_conversions = mfields.Boolean(load_default=False)\n    type_conversion_prefix = mfields.String(load_default=None)\n    disabled_type_conversions = mfields.List(mfields.Str, load_default=None)\n    active = mfields.Boolean(load_default=True)\n    required_grain = mfields.List(mfields.Str, load_default=None)\n\n\nclass ColumnConfigSchema(ColumnInfoSchema):\n    \"\"\"The schema of a column configuration\"\"\"\n\n    pass\n\n\nclass TableTypeField(mfields.Field):\n    \"\"\"A field for the type of a table\"\"\"\n\n    def _validate(self, value):\n        is_valid_table_type(value)\n        super()._validate(value)\n\n\nclass TableInfoSchema(BaseSchema):\n    \"\"\"The schema of table info that ends up in the zillion table metadata\n\n    **Attributes:**\n\n    * **type** - (*str*) Specifies the TableType\n    * **active** - (*bool, optional*) A flag denoting whether this table is\n    active or not.\n    * **parent** - (*str, optional*) A reference to the full name of a parent\n    table. This impacts the possible join relationships of this table. It is\n    assumed to be safe to join back to any parent or ancestor table via shared\n    keys (the child table must have the primary key of the parent table).\n    * **siblings** - (*list, optional*) A list of references to the full names\n    of sibling tables. This impacts the possible join relationships of this table.\n    It is assumed to be safe to join back to any sibling table via shared\n    keys (the table must have the primary key of the sibling table).\n    * **create_fields** - (*bool, optional*) If true, try to create Field\n    objects from all columns in the table. Specifying the fields in a column\n    config will override this behavior. Metric vs Dimension fields are inferred\n    from the type. It is generally better to be explicit about your fields and\n    field types, but this option provides convenience for special cases,\n    particularly adhoc use cases.\n    * **use_full_column_names** - (*bool, optional*) If True and create_fields\n    is True, fully qualify the created field names using the full table and\n    column names. If false, assume it is safe to simply use the column name as\n    the field name.\n    * **primary_key** - (*list of str*) A list of fields representing the\n    primary key of the table\n    * **incomplete_dimensions** - (*list of str, optional*) If specified, a list\n    of dimensions that are not safe to use for joins.\n    * **priority** - (*int, optional*) Set the priority of this table relative to\n    other tables. All tables default to priority=1. When choosing the best table,\n    lower numbers are considered higher priority. Tables at the same priority level\n    use the length of their TableSet for the given query as the tie-breaker.\n    See `Warehouse._choose_best_table_set`.\n    * **prefix_with** - (*str, optional*) prefix all queries against this\n    Table using SQLAlchemy's prefix_with function. If a query contains multiple tables\n    with prefix_with set, the first in the join takes precedence.\n\n    \"\"\"\n\n    type = TableTypeField(required=True)\n    active = mfields.Boolean(load_default=True)\n    parent = mfields.Str(load_default=None)\n    siblings = mfields.List(mfields.Str, load_default=None)\n    create_fields = mfields.Boolean(load_default=False)\n    use_full_column_names = mfields.Boolean(load_default=True)\n    primary_key = mfields.List(mfields.Str, required=True)\n    incomplete_dimensions = mfields.List(mfields.Str, load_default=None)\n    priority = mfields.Integer(load_default=1)\n    prefix_with = mfields.Str(load_default=None)\n\n\nclass TableConfigSchema(TableInfoSchema):\n    \"\"\"The schema of a table configuration\n\n    **Attributes:**\n\n    * **columns** - (*dict, optional*) A dict mapping of column name to\n    ColumnConfigSchema\n    * **data_url** - (*str, optional*) A url used to download table data if this\n    is an adhoc table\n    * **if_exists** - (*str, optional*) Control whether to replace, fail, or\n    ignore when the table data already exists.\n    * **drop_dupes** - (*bool, optional*) Drop duplicate primary key rows when\n    loading a table from a data_url\n    * **convert_types** - (*dict, optional*) A mapping of column names to types\n    to convert to when loading a table from a data url. The types must be\n    strings representing valid sqlalchemy types. Ex: {\"col1\": \"date\", \"col2\": \"integer\"}\n    * **primary_key** - (*list of str, optional*) A list of fields representing\n    the primary key of the table\n    * **adhoc_table_options** - (*dict, optional*) A dict of additional params\n    to pass to the adhoc table class as kwargs\n\n    \"\"\"\n\n    columns = mfields.Dict(\n        keys=mfields.Str(),\n        values=mfields.Nested(ColumnConfigSchema),\n        load_default=None,\n        required=False,\n    )\n    data_url = mfields.String()\n    if_exists = mfields.String(validate=is_valid_if_exists)\n    drop_dupes = mfields.Boolean(load_default=False)\n    convert_types = mfields.Dict(\n        keys=mfields.Str(),\n        values=mfields.Str(),\n        load_default=None,\n        validate=has_valid_sqlalchemy_type_values,\n    )\n    primary_key = mfields.List(mfields.String())\n    adhoc_table_options = mfields.Dict(keys=mfields.Str())\n\n\nclass NLPEmbeddingTextField(mfields.Field):\n    \"\"\"A marshmallow field for the field's NLP embedding text setting\"\"\"\n\n    def _validate(self, value):\n        is_valid_field_nlp_embedding_text_config(value)\n        super()._validate(value)\n\n\nclass FieldMetaNLPConfigSchema(BaseSchema):\n    \"\"\"The schema of a warehouse's NLP settings in the meta dict\n\n    **Attributes:**\n\n    * **enabled** - (*bool, optional*) A flag denoting whether this field should\n    be included in NLP embeddings.\n    * **embedding_text** - (*str or list, optional*) A string or list of texts to use\n    when creating embeddings for this field. If not specified, the field's name will\n    be used.\n\n    \"\"\"\n\n    enabled = mfields.Boolean(load_default=True)\n    embedding_text = NLPEmbeddingTextField(load_default=None)\n\n\ndef check_field_meta_nlp_config(data):\n    \"\"\"Validate the NLP settings in the meta dict of a field config\"\"\"\n    meta = data.get(\"meta\", [])\n    if not meta:\n        return data\n    nlp = meta.get(\"nlp\", None)\n    if not nlp:\n        return data\n\n    schema = FieldMetaNLPConfigSchema()\n    schema.load(nlp)\n    return data\n\n\nclass FieldConfigSchema(BaseSchema):\n    \"\"\"The base schema of a field configuration\n\n    **Attributes:**\n\n    * **name** - (*str*) The name of the field\n    * **type** - (*str*) A string representing the data type of the field. This\n    will be converted to a SQLAlchemy type via `ast.literal_eval`.\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n\n    \"\"\"\n\n    name = mfields.String(required=True, validate=is_valid_field_name)\n    type = mfields.String(load_default=None, validate=is_valid_sqlalchemy_type)\n    display_name = mfields.String(\n        load_default=None, validate=is_valid_field_display_name\n    )\n    description = mfields.String(load_default=None)\n\n    @pre_load\n    def _check_meta(self, data, **kwargs):\n        \"\"\"Validate some particular keys in the meta field if present\"\"\"\n        return check_field_meta_nlp_config(data)\n\n\nclass FormulaFieldConfigSchema(BaseSchema):\n    \"\"\"The base schema of a formula field configuration\n\n    **Attributes:**\n\n    * **name** - (*str*) The name of the field\n    * **formula** - (*str, optional*) A formula used to compute the field value.\n    Formula fields are applied at the combined query layer, rather than in\n    datasources queries, so the syntax must match that of the combined query\n    layer database.\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n\n    \"\"\"\n\n    name = mfields.String(required=True, validate=is_valid_field_name)\n    formula = mfields.String(required=True)\n    display_name = mfields.String(\n        load_default=None, validate=is_valid_field_display_name\n    )\n    description = mfields.String(load_default=None)\n\n    @pre_load\n    def _check_meta(self, data, **kwargs):\n        \"\"\"Validate some particular keys in the meta field if present\"\"\"\n        return check_field_meta_nlp_config(data)\n\n\nclass MetricConfigSchemaMixin:\n    \"\"\"Common attributes and logic for metric configs\n\n    **Attributes:**\n\n    * **aggregation** - (*str, optional*) A string representing the aggregation\n    type to apply to this metric. See `zillion.core.AggregationTypes`.\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round to\n    * **weighting_metric** - (*str, optional*) A reference to a metric to use\n    for weighting when aggregating averages\n    * **technical** - (*str or dict, optional*) A string or dict that will be\n    parsed as a TechnicalField to define a technical computation to be applied\n    to the metric.\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report that\n    aims to include this metric.\n    * **ifnull** - (*float, optional*) A numeric value to use in place of NULLs\n    in the Combined Layer query.\n\n    \"\"\"\n\n    aggregation = mfields.Field(\n        load_default=AggregationTypes.SUM,\n        validate=is_valid_aggregation,\n    )\n    rounding = mfields.Integer(load_default=None)\n    weighting_metric = mfields.Str(load_default=None)\n    technical = TechnicalField(load_default=None)\n    required_grain = mfields.List(mfields.Str, load_default=None)\n\n    def _validate_weighting_aggregation(self, data):\n        if (\n            data[\"weighting_metric\"]\n            and not data[\"aggregation\"] == AggregationTypes.MEAN\n        ):\n            raise ValidationError(\n                'only \"%s\" aggregation type is allowed with weighting metrics: %s'\n                % (AggregationTypes.MEAN, data)\n            )\n\n\nclass DivisorsConfigSchema(BaseSchema):\n    \"\"\"The schema of metric divisor settings\n\n    **Attributes:**\n\n    * **metrics** - (*list of str*) A list of metric names to use as divisors\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round each new metric to.\n    * **name** - (*str, optional*) A template to use for the name where {divisor}\n    can be substituted for the divisor metric name. Defaults to \"{metric}_per_{divisor}\".\n    It will naively attempt to singularize the divisor name by stripping a trailing 's'.\n    * **formula** - (*str, optional*) A template to use for the formula where\n    {divisor} can be substituted for the divisor metric name.\n\n    \"\"\"\n\n    metrics = mfields.List(mfields.Str, required=True)\n    rounding = mfields.Integer(load_default=None)\n    name = mfields.String(load_default=None)\n    formula = mfields.String(load_default=None)\n\n\nclass DivisorsConfigField(mfields.Field):\n    \"\"\"The schema of a metric divisors field\"\"\"\n\n    def _validate(self, value):\n        is_valid_divisors_config(value)\n        super()._validate(value)\n\n\nclass MetricConfigSchema(FieldConfigSchema, MetricConfigSchemaMixin):\n    \"\"\"The schema of a metric configuration\n\n    **Attributes:**\n\n    * **ifnull** - (*float, optional*) A numeric value to use in place of NULLs\n    in the Combined Layer query.\n    * **divisors** - (*dict, optional*) Divisor config for this metric. This is\n    used to automatically add fields from this metric by dividing by other fields.\n    See DivisorsConfigField for more info on the format.\n\n    \"\"\"\n\n    ifnull = mfields.Float(load_default=None)\n    divisors = DivisorsConfigField(load_default=None)\n\n\nclass FormulaMetricConfigSchema(FormulaFieldConfigSchema, MetricConfigSchemaMixin):\n    \"\"\"The schema of a formula metric configuration\"\"\"\n\n    pass\n\n\nclass DimensionConfigSchemaMixin:\n    \"\"\"Common attributes and logic for dimension configs\n\n    **Attributes:**\n\n    * **values** - (*str or list, optional*) A list of allowed dimension\n    values or a name of a callable to provide a list of values. If a string\n    representing a callable is passed, it must be importable and the callable\n    must accept two arguments: (warehouse ID, dimension object). An example\n    callable would be `zillion.field.values_from_db` which reads allowed\n    dimension values from the dimension_values table in the Zillion\n    database.\n    * **sorter** - (*str, optional*) A reference to an importable callable\n    that accepts three arguments: (warehouse ID, dimension object, values).\n    Currently values is a pandas Series and the callable is expected to\n    return a Series. See `zillion.field.sort_by_value_order` for an example.\n\n    \"\"\"\n\n    values = DimensionValuesField(load_default=None)\n    sorter = mfields.Str(load_default=None)\n\n\nclass DimensionConfigSchema(FieldConfigSchema, DimensionConfigSchemaMixin):\n    \"\"\"The schema of a dimension configuration\"\"\"\n\n    pass\n\n\nclass FormulaDimensionConfigSchema(\n    FormulaFieldConfigSchema, DimensionConfigSchemaMixin\n):\n    \"\"\"The schema of a formula dimension configuration\"\"\"\n\n    pass\n\n\nclass AdHocFieldSchema(FormulaFieldConfigSchema):\n    \"\"\"Base schema for an adhoc field\"\"\"\n\n    pass\n\n\nclass AdHocMetricSchema(AdHocFieldSchema):\n    \"\"\"The schema of an adhoc metric\n\n    **Attributes:**\n\n    * **aggregation** - (*str, optional*) A string representing the aggregation\n    type to apply to this metric. See `zillion.core.AggregationTypes`.\n    * **technical** - (*str or dict, optional*) A string or dict that will be\n    parsed as a TechnicalField to define a technical computation to be applied\n    to the metric.\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round to\n    * **weighting_metric** - (*str, optional*) A reference to a metric to use\n    for weighting when aggregating averages\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report that\n    aims to include this metric.\n\n    \"\"\"\n\n    aggregation = mfields.String(\n        load_default=AggregationTypes.SUM,\n        validate=is_valid_aggregation,\n    )\n    technical = TechnicalField(load_default=None)\n    rounding = mfields.Integer(load_default=None)\n    weighting_metric = mfields.Str(load_default=None)\n    required_grain = mfields.List(mfields.Str, load_default=None)\n\n\nclass TableNameField(mfields.Str):\n    \"\"\"The schema of a table configuration represented as a marshmallow Field\"\"\"\n\n    def _validate(self, value):\n        is_valid_table_name(value)\n        super()._validate(value)\n\n\nclass DataSourceConnectSchema(BaseSchema):\n    \"\"\"The schema of a technical configuration\"\"\"\n\n    func = mfields.String(\n        validate=is_valid_connect_type,\n        load_default=DATASOURCE_CONNECT_FUNC_DEFAULT,\n    )\n    params = mfields.Dict(keys=mfields.Str(), load_default=None)\n\n\nclass DataSourceConnectField(mfields.Field):\n    \"\"\"The schema of a datasource connect field\"\"\"\n\n    def _validate(self, value):\n        is_valid_datasource_connect(value)\n        super()._validate(value)\n\n\ndef check_metric_configs(data):\n    \"\"\"Create and augment metrics as needed\"\"\"\n    final = []\n    metrics = data.get(\"metrics\", [])\n\n    for metric in metrics:\n        final.extend(get_aggregation_metrics(metric))\n\n    for metric in final[:]:\n        # If a metric has a technical, its aggregation might be implicit or not directly defined.\n        # We should skip the aggregation check for technical metrics.\n        if \"technical\" in metric:\n            continue\n\n        # TODO: if \"aggregation\" is not present, fail integrity check!\n        if (\n            metric.get(\"aggregation\") == AggregationTypes.MEAN\n        ):  # Use .get to avoid KeyError\n            continue\n        final.extend(get_divisor_metrics(metric))\n\n    data[\"metrics\"] = final\n    return data\n\n\nclass DataSourceConfigSchema(BaseSchema):\n    \"\"\"The schema of a datasource configuration\n\n    **Attributes:**\n\n    * **connect** - (*str or dict*) A connection string or dict for establishing\n    the datasource connection. This may have placeholders that get filled in\n    from the DATASOURCE_CONTEXTS of the zillion config. See\n    DataSourceConnectField for more details on passing a dict.\n    * **skip_conversion_fields** - (*bool, optional*) Don't add any conversion\n    fields when applying a config\n    * **prefix_with** - (*str, optional*) prefix all queries against this\n    DataSource using SQLAlchemy's prefix_with function. The table-level prefix_with\n    setting overrides this setting.\n    * **metrics** - (*marshmallow field, optional*) A list of MetricConfigSchema\n    * **dimensions** - (*marshmallow field, optional*) A list of\n    DimensionConfigSchema\n    * **tables** - (*marshmallow field, optional*) A dict mapping of\n    TableNameField -> TableConfigSchema\n\n    \"\"\"\n\n    connect = DataSourceConnectField(load_default=None)\n    skip_conversion_fields = mfields.Boolean(load_default=False)\n    prefix_with = mfields.Str(load_default=None)\n    metrics = mfields.List(PolyNested([MetricConfigSchema, FormulaMetricConfigSchema]))\n    dimensions = mfields.List(\n        PolyNested([DimensionConfigSchema, FormulaDimensionConfigSchema])\n    )\n    tables = mfields.Dict(\n        keys=TableNameField(), values=mfields.Nested(TableConfigSchema)\n    )\n\n    @pre_load\n    def _check_table_refs(self, data, **kwargs):\n        \"\"\"Load remote table configs before processing\"\"\"\n        for table_name, table_config in data.get(\"tables\", {}).items():\n            if not isinstance(table_config, str):\n                continue\n\n            raw = read_filepath_or_buffer(table_config)\n            config = load_json_or_yaml_from_str(\n                raw, f=table_config, schema=TableConfigSchema()\n            )\n            data[\"tables\"][table_name] = config\n\n        return data\n\n    @pre_load\n    def _check_metrics(self, data, **kwargs):\n        \"\"\"Create and augment metrics as needed\"\"\"\n\n        return check_metric_configs(data)\n\n\nclass DataSourceConfigField(mfields.Field):\n    \"\"\"The schema of a datasource configuration represented as a marshmallow\n    Field\"\"\"\n\n    def _validate(self, value):\n        is_valid_datasource_config(value)\n        super()._validate(value)\n\n\nclass WarehouseMetaNLPConfigSchema(BaseSchema):\n    \"\"\"The schema of a warehouse's NLP settings in the meta dict\n\n    **Attributes:**\n\n    * **collection_name** - (*str, optional*) The name of the field embedding collection. If\n    not provided the collection name will be set based on the warehouse name or as\n    a fallback name if no warehouse name has been set.\n    * **field_disabled_patterns** - (*list of str, optional*) A list of regex\n    patterns to control which fields to exclude from NLP processing.\n    * **field_disabled_groups** - (*list of str, optional*) A list of group\n    names to control which fields to exclude from NLP processing based on\n    the field's `meta[\"group\"]` setting if present.\n\n    \"\"\"\n\n    collection_name = mfields.Str(load_default=None)\n    field_disabled_patterns = mfields.List(mfields.Str(), load_default=None)\n    field_disabled_groups = mfields.List(mfields.Str(), load_default=None)\n\n\nclass WarehouseConfigSchema(BaseSchema):\n    \"\"\"The schema of a warehouse configuration.\n\n    **Attributes:**\n\n    * **includes** - (*marshmallow field, optional*) A list of warehouse files to\n    import. Later items in the list will override earlier items for overlapping keys.\n    Any settings in the warehouse config will take precedence.\n    * **metrics** - (*marshmallow field, optional*) A list of MetricConfigSchema\n    * **dimensions** - (*marshmallow field, optional*) A list of\n    DimensionConfigSchema\n    * **datasources** - (*marshmallow field*) A dict mapping of datasource name\n    -> DataSourceConfigField\n\n    \"\"\"\n\n    includes = mfields.List(mfields.Str(), load_default=None)\n    metrics = mfields.List(PolyNested([MetricConfigSchema, FormulaMetricConfigSchema]))\n    dimensions = mfields.List(\n        PolyNested([DimensionConfigSchema, FormulaDimensionConfigSchema])\n    )\n    datasources = mfields.Dict(\n        keys=mfields.Str(), values=DataSourceConfigField, required=True\n    )\n\n    @pre_load\n    def _check_meta(self, data, **kwargs):\n        \"\"\"Validate some particular keys in the meta field if present\"\"\"\n        meta = data.get(\"meta\", [])\n        if not meta:\n            return data\n        nlp = meta.get(\"nlp\", None)\n        if not nlp:\n            return data\n\n        schema = WarehouseMetaNLPConfigSchema()\n        schema.load(nlp)\n        return data\n\n    @pre_load\n    def _check_includes(self, data, **kwargs):\n        \"\"\"Load included warehouse configs as baseline, merge in later includes\n        and settings in this config as overrides\"\"\"\n        includes = data.get(\"includes\", [])\n        if not includes:\n            return data\n        for fname in includes.copy():\n            raw = read_filepath_or_buffer(fname)\n            config = load_json_or_yaml_from_str(raw, f=fname)\n            data = dictmerge(config, data, overwrite=True, extend=True)\n        return data\n\n    @pre_load\n    def _check_ds_refs(self, data, **kwargs):\n        \"\"\"Load remote datasource configs before processing\"\"\"\n        for ds_name, ds_config in data.get(\"datasources\", {}).items():\n            if not isinstance(ds_config, str):\n                continue\n\n            raw = read_filepath_or_buffer(ds_config)\n            config = load_json_or_yaml_from_str(\n                raw, f=ds_config, schema=DataSourceConfigSchema()\n            )\n            data[\"datasources\"][ds_name] = config\n\n        return data\n\n    @pre_load\n    def _check_metrics(self, data, **kwargs):\n        \"\"\"Create and augment metrics as needed\"\"\"\n\n        return check_metric_configs(data)\n\n\nclass ConfigMixin:\n    \"\"\"Mixin to allow validation against a marshmallow schema\"\"\"\n\n    schema = None\n\n    def __init__(self, *args, **kwargs):\n        \"\"\"Validate the object against a marshmallow schema\"\"\"\n        raiseifnot(self.schema, \"ConfigMixin requires a schema attribute\")\n        self.schema().load(self.__dict__, unknown=EXCLUDE)\n\n    def to_config(self):\n        \"\"\"Get the config for this object\"\"\"\n        return self.schema().load(self.__dict__, unknown=EXCLUDE)\n\n    @classmethod\n    def from_config(cls, config):\n        \"\"\"Create a the object from a config\"\"\"\n        return cls(**config)\n\n\nclass ZillionInfo(MappingMixin):\n    \"\"\"Information that defines a part of the zillion configuration. The\n    information may come from a JSON config file or directly from the SQLALchemy\n    object's `info.zillion` attribute. The JSON schema is parsed with a\n    marshmallow schema object. See the particular schema used with each subclass\n    for details on fields.\n\n    **Parameters:**\n\n    * **kwargs** - Parameters that will be parsed with the given marshmallow\n    schema.\n\n    **Attributes:**\n\n    * **schema** - (*marshmallow schema*) A class attribute that specifies the\n    marshmallow schema used to parse the input args on init.\n\n    \"\"\"\n\n    schema = None\n\n    @initializer\n    def __init__(self, **kwargs):\n        raiseifnot(self.schema, \"ZillionInfo subclass must have a schema defined\")\n        self.schema().load(self)\n\n    @classmethod\n    def schema_validate(cls, zillion_info, unknown=RAISE):\n        \"\"\"Validate an info dict against a schema.\n\n        **Parameters:**\n\n        * **zillion_info** - (*dict*) A dict to validate against the schema\n        * **unknown** - (*optional*) A flag passed through to marshmallow's\n        schema processing\n\n        \"\"\"\n        return cls.schema(unknown=unknown).validate(zillion_info)\n\n    @classmethod\n    def schema_load(cls, zillion_info, unknown=RAISE):\n        \"\"\"Load an info dict with a marshmallow schema\n\n        **Parameters:**\n\n        * **zillion_info** - (*dict*) A dict to load with the schema\n        * **unknown** - (*optional*) A flag passed through to marshmallow's\n        schema processing\n\n        **Returns:**\n\n        (*dict*) - The loaded schema result\n\n        \"\"\"\n        return cls.schema().load(zillion_info, unknown=unknown)\n\n    @classmethod\n    def create(cls, zillion_info, unknown=RAISE):\n        \"\"\"Factory to create a ZillionInfo object from the class schema\"\"\"\n        if isinstance(zillion_info, cls):\n            return zillion_info\n        raiseifnot(\n            isinstance(zillion_info, dict), \"Raw info must be a dict: %s\" % zillion_info\n        )\n        zillion_info = cls.schema().load(zillion_info, unknown=unknown)\n        return cls(**zillion_info)\n\n\nclass TableInfo(ZillionInfo, PrintMixin):\n    \"\"\"ZillionInfo for a table. See TableInfoSchema for more details about\n    fields.\"\"\"\n\n    repr_attrs = [\"type\", \"active\", \"create_fields\", \"parent\", \"priority\"]\n    schema = TableInfoSchema\n\n\nclass ColumnInfo(ZillionInfo, PrintMixin):\n    \"\"\"ZillionInfo for a column in a table. See ColumnInfoSchema for more\n    details about fields.\"\"\"\n\n    repr_attrs = [\"fields\", \"active\"]\n    schema = ColumnInfoSchema\n\n    def __init__(self, **kwargs):\n        super(ColumnInfo, self).__init__(**kwargs)\n        self._field_map = OrderedDict()\n        for field in self.fields:\n            self._add_field_to_map(field)\n\n    def has_field(self, field):\n        \"\"\"Determine if the column supports the given field\"\"\"\n        if not isinstance(field, str):\n            field = field[\"name\"]\n        if field in self._field_map:\n            return True\n        return False\n\n    def add_field(self, field):\n        \"\"\"Add the field to the column's fields\"\"\"\n        self._add_field_to_map(field)\n        self.fields.append(field)\n\n    def get_field(self, name):\n        \"\"\"Get the reference to the field defined on this column. This may\n        return a string or a dict depending on how the field was defined on the\n        column.\n\n        **Parameters:**\n\n        * **name** - (*str*) The name of the field\n\n        **Returns:**\n\n        (*str or dict*) - The name of the field or the dict defining the field\n\n        \"\"\"\n        raiseifnot(self.has_field(name), \"Field %s is not in column fields\" % name)\n        return self._field_map[name] or name\n\n    def get_fields(self):\n        \"\"\"Get all fields mapped on this column\"\"\"\n        return {k: v for k, v in self._field_map.items()}\n\n    def get_field_names(self):\n        \"\"\"Get the names of all fields mapped on this column\"\"\"\n        return self._field_map.keys()\n\n    def field_ds_formula(self, name):\n        \"\"\"Get the datasource-level formula for a field if it exists\"\"\"\n        field = self.get_field(name)\n        if isinstance(field, str):\n            return None\n        return field.get(\"ds_formula\", None)\n\n    def has_field_ds_formula(self, name):\n        \"\"\"True if a datasource-level formula for a field exists\"\"\"\n        field = self.get_field(name)\n        if isinstance(field, str):\n            return False\n        formula = field.get(\"ds_formula\", None)\n        return True if formula else False\n\n    def get_criteria_conversion(self, field_name, operation):\n        \"\"\"Get the datasource-level criteria conversion for a field/operation\"\"\"\n        field = self.get_field(field_name)\n        if not isinstance(field, dict):\n            return None\n        convs = field.get(\"ds_criteria_conversions\", None)\n        if not convs:\n            return None\n        return convs.get(operation, None)\n\n    def _add_field_to_map(self, field):\n        \"\"\"Add to the map of fields on this column\"\"\"\n        raiseif(self.has_field(field), \"Field %s is already added\" % field)\n        if isinstance(field, str):\n            self._field_map[field] = None\n        else:\n            raiseifnot(\n                isinstance(field, dict) and \"name\" in field,\n                \"Invalid field config: %s\" % field,\n            )\n            self._field_map[field[\"name\"]] = field\n\n\n# TODO: might be a better home for some of the Technical stuff\n\n\nclass Technical(MappingMixin, PrintMixin):\n    \"\"\"A technical computation on a DataFrame column\n\n    **Parameters:**\n\n    * **type** - (*str*) The TechnicalType\n    * **params** - (*dict*) Params for the technical computation\n    * **mode** - (*str*) The mode that controls how to apply the technical\n    computation across the data's dimensions. See TechnicalModes for options. If\n    None, the default mode will be set based on the technical type.\n\n    **Attributes:**\n\n    * **allowed_params** - (*set*) Define the allowed technical parameters\n\n    \"\"\"\n\n    repr_attrs = [\"type\", \"params\", \"mode\"]\n    allowed_params = set()\n\n    @initializer\n    def __init__(self, type, params, mode=None):\n        if mode is None:\n            self.mode = self.get_default_mode()\n        raiseifnot(\n            self.mode in TechnicalModes, \"Invalid Technical mode: %s\" % self.mode\n        )\n        self._check_params(params)\n\n    @classmethod\n    def _check_params(cls, params):\n        \"\"\"Validate the technical params\"\"\"\n        if not params:\n            return\n        for k, v in params.items():\n            if k not in cls.allowed_params:\n                raise InvalidTechnicalException(\"Invalid param for %s: %s\" % (cls, k))\n\n    @classmethod\n    def parse_technical_string_params(cls, val):\n        \"\"\"Return named params from a technical string\"\"\"\n        ttype, params, mode = _extract_technical_string_parts(val)\n        if params:\n            raise InvalidTechnicalException(\n                \"Invalid %s technical string: %s, no args allowed\" % (ttype, val)\n            )\n        return {}\n\n    @classmethod\n    def get_default_mode(cls):\n        \"\"\"Get the default mode for applying the technical calculation\"\"\"\n        return TechnicalModes.GROUP\n\n    def _apply(self, df_slice, column, rounding=None):\n        \"\"\"Apply the technical computation along a target slice of a\n        dataframe\"\"\"\n        raise NotImplementedError\n\n    def apply(self, df, column, rounding=None):\n        \"\"\"Apply a technical computation to a dataframe. If the dataframe has a\n        multilevel index and the technical is being applied in group mode, then\n        the data will be sliced along the second to last level and the technical\n        applied to each subgroup. Otherwise the technical is applied across the\n        entire dataframe. The technical is applied to the dataframe in place.\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) A DataFrame to apply a technical computation to\n        * **column** - (*str*) The name of the target column for the technical\n        computation\n        * **rounding** - (*dict, optional*) The rounding settings for the\n        report's columns\n\n        \"\"\"\n        if df.empty:\n            return\n\n        if self.type == TechnicalTypes.BOLL:  # Special handling for BollingerTechnical\n            if self.mode == TechnicalModes.GROUP and hasattr(df.index, \"levels\"):\n                group_by_level = list(range(df.index.nlevels - 1))\n                if not group_by_level:\n                    df_result = self._apply(df, column, rounding=rounding)\n                    df.loc[:, df_result.columns] = (\n                        df_result  # Assign back to original df\n                    )\n                    return\n\n                # Collect modified groups\n                modified_groups = []\n                for name, group in df.groupby(level=group_by_level):\n                    modified_groups.append(\n                        self._apply(group, column, rounding=rounding)\n                    )\n\n                # Concatenate modified groups and assign back to original df\n                df_result = pd.concat(modified_groups)\n                df.loc[:, df_result.columns] = df_result.reindex(df.index)\n            else:\n                df_result = self._apply(df, column, rounding=rounding)\n                df.loc[:, df_result.columns] = df_result\n        else:  # For other technicals, use transform\n            if self.mode == TechnicalModes.GROUP and hasattr(df.index, \"levels\"):\n                group_by_level = list(range(df.index.nlevels - 1))\n                if not group_by_level:\n                    df[column] = self._apply(df, column, rounding=rounding)\n                    return\n\n                df[column] = df.groupby(level=group_by_level)[column].transform(\n                    lambda x: self._apply(x, column, rounding=rounding)\n                )\n            else:\n                df[column] = self._apply(df[column], column, rounding=rounding)\n\n\nclass PandasTechnical(Technical):\n    \"\"\"A generic Technical runs a pandas method\"\"\"\n\n    def _apply(self, df_or_series_slice, column, rounding=None):\n        \"\"\"This assumes the Technical type string matches the pandas method\n        name\"\"\"\n        if isinstance(df_or_series_slice, pd.DataFrame):\n            series_to_operate_on = df_or_series_slice[df_or_series_slice.columns[0]]\n        else:  # It's a Series\n            series_to_operate_on = df_or_series_slice\n\n        method = getattr(series_to_operate_on, self.type.lower())\n        return method(**self.params)\n\n\nclass RankTechnical(PandasTechnical):\n    \"\"\"A Technical specific to the pandas rank function\"\"\"\n\n    def _apply(self, df_or_series_slice, column, rounding=None):\n        params = {}\n        if self.type == TechnicalTypes.PCT_RANK:\n            params = {\"pct\": True}\n\n        if isinstance(df_or_series_slice, pd.DataFrame):\n            series_to_operate_on = df_or_series_slice[df_or_series_slice.columns[0]]\n        else:  # It's a Series\n            series_to_operate_on = df_or_series_slice\n\n        return series_to_operate_on.rank(**params)\n\n\nclass DiffTechnical(PandasTechnical):\n    \"\"\"A Technical that computes a periodic diff on a DataFrame\"\"\"\n\n    allowed_params = set([\"periods\"])\n\n    @classmethod\n    def parse_technical_string_params(cls, val):\n        \"\"\"Return named params from a technical string\"\"\"\n        ttype, params, mode = _extract_technical_string_parts(val)\n        if len(params) > 1:\n            raise InvalidTechnicalException(\n                \"Invalid %s technical string: %s, only 1 arg allowed\" % (ttype, val)\n            )\n        if params and params[0] is not None:\n            return dict(periods=int(params[0]))\n        return {}\n\n\nclass RollingTechnical(Technical):\n    \"\"\"A Technical that uses the pandas rolling feature\"\"\"\n\n    allowed_params = set([\"window\", \"min_periods\", \"center\"])\n\n    def _apply(self, df_or_series_slice, column, rounding=None):\n        \"\"\"Apply a rolling function to a column of a DataFrame\"\"\"\n        if isinstance(df_or_series_slice, pd.DataFrame):\n            series_to_operate_on = df_or_series_slice[df_or_series_slice.columns[0]]\n        else:  # It's a Series\n            series_to_operate_on = df_or_series_slice\n\n        rolling = series_to_operate_on.rolling(**self.params)\n        method = getattr(rolling, self.type.lower())\n        return method()\n\n    @classmethod\n    def parse_technical_string_params(cls, val):\n        \"\"\"Return named params from a technical string\"\"\"\n        ttype, params, mode = _extract_technical_string_parts(val)\n        if len(params) not in (1, 2):\n            raise InvalidTechnicalException(\n                \"Invalid %s technical string: %s, 1 or 2 args allowed\" % (ttype, val)\n            )\n        result = dict(window=int(params[0]), min_periods=1)\n        if len(params) == 2:\n            result[\"min_periods\"] = int(params[1])\n        return result\n\n\nclass BollingerTechnical(RollingTechnical):\n    \"\"\"Compute a rolling average and bollinger bands for a column. This adds\n    additional columns to the input dataframe.\"\"\"\n\n    def _apply(self, df_slice, column, rounding=None):\n        # df_slice is now a DataFrame (either the whole df or a group)\n        # We need to operate on the column within this df_slice\n        original_column_name = df_slice.columns[0]\n        series_to_operate_on = df_slice[original_column_name]\n\n        rolling = series_to_operate_on.rolling(**self.params)\n        ma = rolling.mean()\n        std = rolling.std()\n        lower = ma - 2 * std\n        upper = ma + 2 * std\n        col_lower = column + \"_lower\"\n        col_upper = column + \"_upper\"\n\n        # Modify df_slice in place\n        df_slice[column] = ma\n        if (\n            rounding and original_column_name in rounding\n        ):  # Use original_column_name for rounding key\n            df_slice[col_lower] = round(lower, rounding[original_column_name])\n            df_slice[col_upper] = round(upper, rounding[original_column_name])\n        else:\n            df_slice[col_lower] = lower\n            df_slice[col_upper] = upper\n        return df_slice\n\n\nROLLING_TECHNICALS = set(\n    [\n        TechnicalTypes.MEAN,\n        TechnicalTypes.SUM,\n        TechnicalTypes.MEDIAN,\n        TechnicalTypes.MIN,\n        TechnicalTypes.MAX,\n        TechnicalTypes.STD,\n        TechnicalTypes.VAR,\n        TechnicalTypes.BOLL,\n    ]\n)\n\nDIFF_TECHNICALS = set([TechnicalTypes.DIFF, TechnicalTypes.PCT_CHANGE])\n\nRANK_TECHNICALS = set([TechnicalTypes.RANK, TechnicalTypes.PCT_RANK])\n\nTECHNICAL_CLASS_MAP = defaultdict(lambda: PandasTechnical)\nTECHNICAL_CLASS_MAP.update({k: RollingTechnical for k in ROLLING_TECHNICALS})\nTECHNICAL_CLASS_MAP.update({k: DiffTechnical for k in DIFF_TECHNICALS})\nTECHNICAL_CLASS_MAP.update({k: RankTechnical for k in RANK_TECHNICALS})\n\nTECHNICAL_CLASS_MAP[TechnicalTypes.BOLL] = BollingerTechnical\n\n\ndef _extract_technical_string_parts(val):\n    \"\"\"Extract params for a technical from shorthand string\n\n    General format: TYPE(PARAM1, ...):MODE  Params and mode are optional.\n\n    \"\"\"\n    params = []\n    mode = None\n\n    if \":\" in val:\n        tech_params, mode = val.split(\":\")\n    else:\n        tech_params = val\n\n    if \"(\" in tech_params:\n        parts = tech_params.rstrip(\")\").split(\"(\")\n        ttype = parts[0]\n        params = [x.strip() for x in parts[1].split(\",\") if x]\n    else:\n        ttype = tech_params\n\n    raiseifnot(ttype, \"No technical type could be parsed from string: %s\" % val)\n    return ttype, params, mode\n\n\ndef parse_technical_string(val):\n    \"\"\"Parse Technical args from a shorthand string\n\n    **Parameters:**\n\n    * **val** - (*str*) The technical string to parse. The general format is:\n    `type(*args):mode`. The type must be a valid value in TechnicalTypes. The\n    argument requirements vary by type, and are optional in some cases. The mode\n    controls whether the computation is done across the last group or the full\n    data. The mode is optional, and will default to a value specific to that\n    technical type (usually \"group\" mode). Examples:\n\n        * \"mean(5)\" for moving average, window=5\n        * \"mean(5,2)\" for moving average, window=5, min_period=2\n        * \"cumsum\" for cumulative sum (no args)\n        * \"cumsum:all\" for cumulative sum across all data, regardless of dimension\n\n    **Returns:**\n\n    (*dict*) - A dict of Technical args\n\n    \"\"\"\n    ttype, params, mode = _extract_technical_string_parts(val)\n    if not ttype in TechnicalTypes:\n        raise InvalidTechnicalException(\"Invalid technical type: %s\" % ttype)\n    result = dict(type=ttype, params={}, mode=mode)\n    cls = TECHNICAL_CLASS_MAP[ttype]\n    result[\"params\"] = cls.parse_technical_string_params(val)\n    return result\n\n\ndef create_technical(info):\n    \"\"\"Create a technical instance from the input object\n\n    **Parameters:**\n\n    * **info** - (*str or dict*) If str, parse as atechnical string. If a dict,\n    parse as TechnicalInfoSchema.\n\n    **Returns:**\n\n    (*Technical*) - A Technical object based on the input.\n\n    \"\"\"\n    if isinstance(info, Technical):\n        return info\n    if isinstance(info, str):\n        info = parse_technical_string(info)\n    raiseifnot(isinstance(info, dict), \"Raw info must be a dict: %s\" % info)\n\n    info = TechnicalInfoSchema().load(info)\n    if info[\"type\"] not in TechnicalTypes:\n        raise InvalidTechnicalException(\"Invalid technical type: %s\" % info[\"type\"])\n\n    cls = TECHNICAL_CLASS_MAP[info[\"type\"]]\n    return cls(info[\"type\"], info.get(\"params\", {}), info.get(\"mode\", None))\n"
  },
  {
    "path": "zillion/core.py",
    "content": "# pylint: disable=unused-import,missing-class-docstring\nfrom collections.abc import MutableMapping\nfrom itertools import chain, combinations\nimport logging\nimport os\nimport requests\nimport sys\nimport time\n\nnlp_installed = False\n\ntry:\n    import langchain\n    import qdrant_client\n\n    nlp_installed = True\nexcept ImportError:\n    pass\n\nfrom tlbx import (\n    st,\n    dbg as _dbg,\n    dbgsql as _dbgsql,\n    info as _info,\n    warn as _warn,\n    error as _error,\n    pf,\n    pp,\n    format_msg,\n    sqlformat,\n    rmfile,\n    get_caller,\n    open_filepath_or_buffer,\n    get_string_format_args,\n    json,\n    chunks,\n    iter_or,\n    is_int,\n    orderedsetify,\n    initializer,\n    PrintMixin,\n    MappingMixin,\n    ClassValueContainsMeta,\n    get_class_var_values,\n    get_class_vars,\n    import_object,\n)\nimport yaml\n\n# Last unicode char - this helps get the rollup rows to sort last, but may\n# need to be replaced for presentation.\nROLLUP_INDEX_LABEL = chr(1114111)\n# HACK: pandas can't group MultiIndex NaN values, so we replace them with a\n# value we *hope* to never see in the index as a workaround.\nNAN_DIMENSION_VALUE_LABEL = chr(1114110)\n# This is more friendly for front-end viewing, but has a better chance of\n# conflicting with actual report data.\nROLLUP_INDEX_DISPLAY_LABEL = \"::\"\n\nADHOC_DS_URL = \"adhoc\"  # A placeholder to denote its an adhoc datasource\nRESERVED_FIELD_NAMES = set([\"row_hash\"])\nDEFAULT_REPLACE_AFTER = \"1 days\"\nCRITERIA_OPERATIONS = set(\n    [\n        \">\",\n        \">=\",\n        \"<\",\n        \"<=\",\n        \"=\",\n        \"!=\",\n        \"in\",\n        \"not in\",\n        \"in report\",\n        \"not in report\",\n        \"between\",\n        \"not between\",\n        \"like\",\n        \"not like\",\n    ]\n)\nROW_FILTER_OPERATIONS = set([\">\", \">=\", \"<\", \"<=\", \"=\", \"!=\"])\n\n\nclass ZillionException(Exception):\n    pass\n\n\nclass InvalidTechnicalException(ZillionException):\n    pass\n\n\nclass WarehouseException(ZillionException):\n    pass\n\n\nclass InvalidWarehouseIdException(ZillionException):\n    pass\n\n\nclass ReportException(ZillionException):\n    pass\n\n\nclass InvalidReportIdException(ZillionException):\n    pass\n\n\nclass UnsupportedGrainException(ZillionException):\n    pass\n\n\nclass UnsupportedKillException(ZillionException):\n    pass\n\n\nclass FailedKillException(ZillionException):\n    pass\n\n\nclass DataSourceQueryTimeoutException(ZillionException):\n    pass\n\n\nclass ExecutionKilledException(ZillionException):\n    pass\n\n\nclass ExecutionLockException(ZillionException):\n    pass\n\n\nclass InvalidFieldException(ZillionException):\n    pass\n\n\nclass InvalidDimensionValueException(ZillionException):\n    pass\n\n\nclass DisallowedSQLException(ZillionException):\n    pass\n\n\nclass MaxFormulaDepthException(ZillionException):\n    pass\n\n\nclass FieldTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed field types\"\"\"\n\n    DIMENSION = \"dimension\"\n    METRIC = \"metric\"\n\n\nclass TableTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed table types\"\"\"\n\n    DIMENSION = \"dimension\"\n    METRIC = \"metric\"\n\n\nclass AggregationTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed aggregation types. These aggregations are limited by what can be\n    done in most SQL databases\"\"\"\n\n    MEAN = \"mean\"\n    SUM = \"sum\"\n    MIN = \"min\"\n    MAX = \"max\"\n    COUNT = \"count\"\n    COUNT_DISTINCT = \"count_distinct\"\n\n\nclass TechnicalTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed technical types\"\"\"\n\n    MEAN = \"mean\"\n    SUM = \"sum\"\n    MEDIAN = \"median\"\n    STD = \"std\"\n    VAR = \"var\"\n    MIN = \"min\"\n    MAX = \"max\"\n    BOLL = \"boll\"\n    DIFF = \"diff\"\n    PCT_CHANGE = \"pct_change\"\n    CUMSUM = \"cumsum\"\n    CUMMIN = \"cummin\"\n    CUMMAX = \"cummax\"\n    RANK = \"rank\"\n    PCT_RANK = \"pct_rank\"\n\n\nclass TechnicalModes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed Technical modes\n\n    **Attributes:**\n\n    * **GROUP** - (*str*) Apply the technical to the last grouping of the data\n    for a multi-dimensional report\n    * **ALL** - (*str*) Apply the technical across all result data\n\n    \"\"\"\n\n    GROUP = \"group\"\n    ALL = \"all\"\n\n\nclass RollupTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed Rollup Types\"\"\"\n\n    TOTALS = \"totals\"\n    ALL = \"all\"\n\n\nclass OrderByTypes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed Order By Types\"\"\"\n\n    ASC = \"asc\"\n    DESC = \"desc\"\n\n\nclass DataSourceQueryModes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed datasource query modes\"\"\"\n\n    SEQUENTIAL = \"sequential\"\n    MULTITHREAD = \"multithread\"\n\n\nclass ExecutionState:\n    \"\"\"Allowed report/query execution states\"\"\"\n\n    READY = \"ready\"\n    QUERYING = \"querying\"\n    KILLED = \"killed\"\n\n\nclass IfExistsModes(metaclass=ClassValueContainsMeta):\n    \"\"\"Allowed modes when creating tables from data. This is based off of pandas\n    `if_exists` param in the `DataFrame.to_sql` method, with the addition of an\n    \"ignore\" option. The \"append\" option is also removed for now since there\n    isn't a safe/generic way to guarantee a proper primary key has been set on\n    the table.\"\"\"\n\n    FAIL = \"fail\"\n    REPLACE = \"replace\"\n    # APPEND = \"append\"\n    IGNORE = \"ignore\"\n\n\nclass IfFileExistsModes(IfExistsModes):\n    \"\"\"An extension of the modes above specific to downloaded files. This\n    allows the config to specify that a downloaded file should be replaced\n    after a certain amount of time. See code that uses this for implementation\n    details.\n    \"\"\"\n\n    REPLACE_AFTER = \"replace_after\"\n\n\n# ---- TODO: move below to utils file\n\n\ndef powerset(iterable, max_combo_len=None):\n    \"\"\"powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)\"\"\"\n    s = list(iterable)\n    if max_combo_len is None:\n        max_combo_len = len(s)\n    return chain.from_iterable(combinations(s, r) for r in range(max_combo_len + 1))\n\n\ndef raiseif(cond, msg=\"\", exc=ZillionException):\n    \"\"\"Convenience assert-like utility\"\"\"\n    if cond:\n        raise exc(msg)\n\n\ndef raiseifnot(cond, msg=\"\", exc=ZillionException):\n    \"\"\"Convenience assert-like utility\"\"\"\n    if not cond:\n        raise exc(msg)\n\n\ndef igetattr(obj, attr, *args):\n    \"\"\"Case-insensitive getattr\"\"\"\n    for a in dir(obj):\n        if a.lower() == attr.lower():\n            return getattr(obj, a)\n    if args:\n        return args[0]\n    raise AttributeError(\"type object '%s' has no attribute '%s'\" % (type(obj), attr))\n\n\ndef read_filepath_or_buffer(f, open_flags=\"r\", compression=None):\n    \"\"\"Open and read files or buffers, local or remote\"\"\"\n    f, handles, close = open_filepath_or_buffer(\n        f, open_flags=open_flags, compression=compression\n    )\n    try:\n        data = f.read()\n    finally:\n        if close:\n            try:\n                f.close()\n            except ValueError:\n                pass\n    return data\n\n\ndef download_file(url, outfile=None):\n    \"\"\"Utility to download a datafile\"\"\"\n    if not outfile:\n        outfile = url.split(\"/\")[-1]\n    dbg(\"Downloading %s to %s\" % (url, outfile))\n    with requests.get(url, stream=True) as r:\n        r.raise_for_status()\n        with open(outfile, \"wb\") as f:\n            for chunk in r.iter_content(chunk_size=8192):\n                f.write(chunk)\n    return outfile\n\n\ndef get_modified_time(fname):\n    \"\"\"Utility to get the modified time of a file\"\"\"\n    return os.stat(fname).st_mtime\n\n\ndef get_time_since_modified(fname):\n    \"\"\"Utility to get the time since a file was last modified\"\"\"\n    return time.time() - get_modified_time(fname)\n\n\ndef load_yaml(fname):\n    \"\"\"Wrapper to safe_load that also expands environment vars\"\"\"\n    with open(fname) as f:\n        val = yaml.safe_load(os.path.expandvars(f.read()))\n    return val\n\n\ndef load_json_or_yaml_from_str(string, f=None, schema=None):\n    \"\"\"Load the file as json or yaml depending on the extension (if f is a string)\n    or by trying both (if f is not a string). If you know ahead of time that your\n    data is one or the other, you should use yaml or json load directly.\n\n    **Parameters:**\n\n    * **string** - (*str*) The raw json or yaml string\n    * **f** - (*str or buffer*) A file path or buffer where contents were read from\n    * **schema** - (*optional*) Validate against this schema\n\n    **Returns:**\n\n    (*dict*) - A dict structure loaded from the json/yaml\n\n    \"\"\"\n\n    load_result = None\n    if f and isinstance(f, str):  # f is assumed to be a filename\n        f = f.lower()\n        if f.endswith(\"yaml\") or f.endswith(\"yml\"):\n            load_result = yaml.safe_load(string)\n        elif f.endswith(\"json\"):\n            load_result = json.loads(string)\n\n    if load_result is None:\n        # f is not a filename, we try json and then fall back to yaml\n        try:\n            load_result = json.loads(string)\n        except Exception as ej:\n            try:\n                load_result = yaml.safe_load(string)\n            except Exception as ey:\n                raise Exception(\"Could not load string as json or yaml\")\n\n    if schema:\n        return schema.load(load_result)\n    return load_result\n\n\ndef dictmerge(x, y, path=None, overwrite=False, extend=False):\n    \"\"\"Adapted version of tlbx's dictmerge that supports extending lists\"\"\"\n    if path is None:\n        path = []\n    for key in y:\n        if key in x:\n            if isinstance(x[key], (dict, MutableMapping)) and isinstance(\n                y[key], (dict, MutableMapping)\n            ):\n                dictmerge(\n                    x[key],\n                    y[key],\n                    path + [str(key)],\n                    overwrite=overwrite,\n                    extend=extend,\n                )\n            elif x[key] == y[key]:\n                pass  # same leaf value\n            else:\n                if not overwrite:\n                    raise Exception(\"Conflict at %s\" % \".\".join(path + [str(key)]))\n                if isinstance(x[key], list) and isinstance(y[key], list) and extend:\n                    x[key].extend(y[key])\n                else:\n                    x[key] = y[key]\n        else:\n            x[key] = y[key]\n    return x\n\n\ndef load_zillion_config():\n    \"\"\"If the ZILLION_CONFIG environment variable is defined, read the YAML\n    config from this file. Environment variable substitution is supported\n    in the yaml file. Otherwise return a default config. Environment variables\n    prefixed with \"ZILLION_\"  will also be read in (with the prefix stripped)\n    and take precedence.\n\n    **Returns:**\n\n    (*dict*) - The zillion config dict.\n\n    \"\"\"\n    zillion_config_fname = os.environ.get(\"ZILLION_CONFIG\", None)\n    if zillion_config_fname:\n        # Load with support for filling in env var values\n        config = load_yaml(zillion_config_fname)\n        for k, v in config.copy().items():\n            # Hack: some older config items had ZILLION prefixed. As a workaround\n            # we now always remove that prefix and map to the key without the prefix.\n            if k.startswith(\"ZILLION_\"):\n                config[k.replace(\"ZILLION_\", \"\")] = v\n                del config[k]\n    else:\n        # Check if dev_config.yml exists in the current or parent directory\n        dev_config_path = None\n        for path in [os.getcwd(), os.path.dirname(os.getcwd())]:\n            potential_path = os.path.join(path, \"dev_config.yml\")\n            if os.path.exists(potential_path):\n                dev_config_path = potential_path\n                break\n\n        if dev_config_path:\n            print(f\"No ZILLION_CONFIG specified, using {dev_config_path}\")\n            config = load_yaml(dev_config_path)\n        else:\n            print(\"No ZILLION_CONFIG specified, using default settings\")\n            config = dict(\n                DEBUG=False,\n                LOG_LEVEL=\"WARNING\",\n                DB_URL=\"sqlite:////tmp/zillion.db\",\n                ADHOC_DATASOURCE_DIRECTORY=\"/tmp\",\n                LOAD_TABLE_CHUNK_SIZE=5000,\n                OPENAI_API_KEY=None,\n                OPENAI_MODEL=\"gpt-3.5-turbo\",\n                QDRANT_HOST=None,\n                DATASOURCE_QUERY_MODE=DataSourceQueryModes.SEQUENTIAL,\n                DATASOURCE_QUERY_TIMEOUT=None,\n                DATASOURCE_MAX_JOIN_CANDIDATES=100,\n                DATASOURCE_MAX_JOINS=None,\n                DATASOURCE_CONTEXTS={},\n            )\n\n    for k, v in os.environ.items():\n        if k.startswith(\"ZILLION_\"):\n            config[k.replace(\"ZILLION_\", \"\")] = v\n\n    if isinstance(config.get(\"DATASOURCE_CONTEXTS\", None), str):\n        config[\"DATASOURCE_CONTEXTS\"] = load_json_or_yaml_from_str(\n            config[\"DATASOURCE_CONTEXTS\"]\n        )\n\n    return config\n\n\nzillion_config = load_zillion_config()\n\n\ndef get_zillion_config_log_level():\n    return getattr(logging, zillion_config.get(\"LOG_LEVEL\", \"WARNING\").upper())\n\n\ndefault_logger = logging.getLogger(\"zillion\")\n\n\ndef set_log_level_from_config(cfg):\n    global default_logger\n    if str(cfg.get(\"DEBUG\", \"false\")).lower() in (\"true\", \"1\"):\n        # Make sure logs can show up in testing\n        handler = logging.StreamHandler(sys.stdout)\n        default_logger.handlers = []\n        default_logger.propagate = False\n        default_logger.addHandler(handler)\n        default_logger.setLevel(logging.DEBUG)\n        print(\"---- Zillion debug logging enabled ----\")\n    else:\n        default_logger.setLevel(get_zillion_config_log_level())\n\n\nset_log_level_from_config(zillion_config)\n\n\ndef set_log_level(level):\n    \"\"\"Set the log level for the zillion logger\"\"\"\n    global default_logger\n    default_logger.setLevel(level)\n\n\ndef dbg(msg, **kwargs):\n    \"\"\"Call tlbx dbg with zillion logger\"\"\"\n    kwargs[\"logger\"] = kwargs.get(\"logger\", default_logger)\n    kwargs[\"label\"] = kwargs.get(\"label\", get_caller())\n    _dbg(msg, **kwargs)\n\n\ndef dbgsql(msg, **kwargs):\n    \"\"\"Call tlbx dbgsql with zillion logger\"\"\"\n    kwargs[\"logger\"] = kwargs.get(\"logger\", default_logger)\n    kwargs[\"label\"] = kwargs.get(\"label\", get_caller())\n    _dbgsql(msg, **kwargs)\n\n\ndef info(msg, **kwargs):\n    \"\"\"Call tlbx info with zillion logger\"\"\"\n    kwargs[\"logger\"] = kwargs.get(\"logger\", default_logger)\n    kwargs[\"label\"] = kwargs.get(\"label\", get_caller())\n    _info(msg, **kwargs)\n\n\ndef warn(msg, **kwargs):\n    \"\"\"Call tlbx warn with zillion logger\"\"\"\n    kwargs[\"logger\"] = kwargs.get(\"logger\", default_logger)\n    kwargs[\"label\"] = kwargs.get(\"label\", get_caller())\n    _warn(msg, **kwargs)\n\n\ndef error(msg, **kwargs):\n    \"\"\"Call tlbx error with zillion logger\"\"\"\n    kwargs[\"logger\"] = kwargs.get(\"logger\", default_logger)\n    kwargs[\"label\"] = kwargs.get(\"label\", get_caller())\n    _error(msg, **kwargs)\n"
  },
  {
    "path": "zillion/datasource.py",
    "content": "from collections import defaultdict\nimport datetime\nimport os\nimport random\nfrom urllib.parse import urlparse, urlunparse, parse_qs\n\nimport pandas as pd\nfrom pandas.io.sql import SQLTable, pandasSQL_builder\nimport networkx as nx\nfrom ordered_set import OrderedSet\nimport sqlalchemy as sa\n\nfrom zillion.configs import (\n    load_datasource_config,\n    DATASOURCE_NAME_ALLOWED_CHARS,\n    DATASOURCE_NAME_ALLOWED_CHARS_STR,\n    TableInfo,\n    ColumnInfo,\n    DataSourceConnectSchema,\n    TableConfigSchema,\n    default_field_name,\n    default_field_display_name,\n    table_safe_name,\n    is_valid_field_name,\n    is_valid_datasource_criteria_conversions,\n    is_active,\n    EXCLUDE,\n)\nfrom zillion.core import *\nfrom zillion.field import (\n    Metric,\n    Dimension,\n    get_table_metrics,\n    get_table_fields,\n    get_table_field_column,\n    get_dialect_type_conversions,\n    table_field_allows_grain,\n    FieldManagerMixin,\n)\nfrom zillion.nlp import get_nlp_table_info\nfrom zillion.sql_utils import (\n    column_fullname,\n    contains_sql_keywords,\n    infer_aggregation_and_rounding,\n    is_probably_metric,\n    get_schema_and_table_name,\n    get_schemas,\n    filter_dialect_schemas,\n    check_metadata_url,\n    type_string_to_sa_type,\n)\n\nDEFAULT_DB_ENGINE_POOL_SIZE = 10\nDEFAULT_DB_ENGINE_MAX_OVERFLOW = 20\n\n\ndef entity_name_from_file(filename):\n    return os.path.basename(filename.split(\"?\")[0]).split(\".\")[0]\n\n\ndef get_ds_config_context(name):\n    \"\"\"Helper to get datasource context from the zillion config\"\"\"\n    return zillion_config.get(\"DATASOURCE_CONTEXTS\", {}).get(name, {})\n\n\ndef populate_url_context(url, ds_name):\n    \"\"\"Helper to do variable replacement in URLs\"\"\"\n    ds_config_context = get_ds_config_context(ds_name)\n    if get_string_format_args(url):\n        url = url.format(**ds_config_context)\n    return url\n\n\ndef get_engine_extra_kwargs(url):\n    \"\"\"Get the extra kwargs for the SQLAlchemy engine based on the URL\"\"\"\n    if \"sqlite\" in url:\n        return {}\n\n    return {\n        \"pool_size\": zillion_config.get(\n            \"DB_ENGINE_POOL_SIZE\", DEFAULT_DB_ENGINE_POOL_SIZE\n        ),\n        \"max_overflow\": zillion_config.get(\n            \"DB_ENGINE_MAX_OVERFLOW\", DEFAULT_DB_ENGINE_MAX_OVERFLOW\n        ),\n    }\n\n\ndef connect_url_to_metadata(url, ds_name=None):\n    \"\"\"Create a bound SQLAlchemy MetaData object from a database URL. The\n    ds_name param is used to determine datasource config context for variable\n    substitution.\"\"\"\n    if ds_name:\n        url = populate_url_context(url, ds_name)\n    check_metadata_url(url)\n    metadata = sa.MetaData()\n    metadata.bind = sa.create_engine(\n        url,\n        pool_pre_ping=True,\n        **get_engine_extra_kwargs(url),\n    )\n    return metadata\n\n\ndef parse_replace_after(replace_after):\n    \"\"\"Parse a case-insensitive interval string of the format \"number interval\".\n    The number may be a float, and the inverval options are: seconds, minutes,\n    hours, days, weeks.\n    \"\"\"\n    parts = replace_after.lower().strip().split()\n    raiseifnot(\n        len(parts) == 2,\n        \"Invalid replace_after format: '%s' expected: 'number interval'\",\n    )\n\n    multipliers = dict(\n        seconds=1, minutes=60, hours=60 * 60, days=24 * 60 * 60, weeks=7 * 24 * 60 * 60\n    )\n\n    try:\n        num = float(parts[0])\n    except ValueError:\n        raise ZillionException(\"Invalid replace_after numeric value: %s\" % parts[0])\n\n    try:\n        multiplier = multipliers[parts[1]]\n    except KeyError:\n        raise ZillionException(\"Invalid replace_after interval value: %s\" % parts[1])\n\n    return num * multiplier\n\n\ndef data_url_to_metadata(\n    data_url,\n    ds_name,\n    if_exists=IfFileExistsModes.FAIL,\n    replace_after=DEFAULT_REPLACE_AFTER,\n):\n    \"\"\"Create a bound SQLAlchemy MetaData object from a data URL. The ds_name\n    param is used to determine datasource config context for variable\n    substitution.\"\"\"\n    dbfile = get_adhoc_datasource_filename(ds_name)\n\n    skip = False\n    if os.path.isfile(dbfile):\n        raiseif(if_exists == IfFileExistsModes.FAIL, \"File %s already exists\" % dbfile)\n        if if_exists == IfFileExistsModes.IGNORE:\n            skip = True\n        if if_exists == IfFileExistsModes.REPLACE_AFTER:\n            seconds = parse_replace_after(replace_after)\n            if get_time_since_modified(dbfile) < seconds:\n                skip = True\n\n    if not skip:\n        data_url = populate_url_context(data_url, ds_name)\n        f = download_file(data_url, outfile=dbfile)\n\n    connect_url = get_adhoc_datasource_url(ds_name)\n    engine = sa.create_engine(\n        connect_url,\n        echo=False,\n        pool_pre_ping=True,\n        **get_engine_extra_kwargs(connect_url),\n    )\n    metadata = sa.MetaData()\n    metadata.bind = engine\n    return metadata\n\n\ndef metadata_from_connect(connect, ds_name):\n    \"\"\"Create a bound SQLAlchemy MetaData object from a \"connect\" param. The\n    connect value may be a connection string or a DataSourceConnectSchema dict.\n    See the DataSourceConnectSchema docs for more details on that format.\"\"\"\n    if isinstance(connect, str):\n        return connect_url_to_metadata(connect, ds_name=ds_name)\n\n    schema = DataSourceConnectSchema()\n    connect = schema.load(connect)\n    func = import_object(connect[\"func\"])\n    params = connect.get(\"params\", {})\n    result = func(ds_name, **params)\n    raiseifnot(\n        isinstance(result, sa.MetaData),\n        \"Connect function did not return a MetaData object: %s\" % result,\n    )\n    raiseifnot(\n        result.is_bound(),\n        \"Connect function did not return a bound MetaData object: %s\" % result,\n    )\n    return result\n\n\ndef reflect_metadata(metadata, reflect_only=None):\n    \"\"\"Reflect the metadata object from the connection. If reflect_only is\n    passed, reflect only the tables specified in that list\"\"\"\n\n    raiseifnot(metadata.is_bound(), \"MetaData must be bound to an engine\")\n    only_schema_tables = defaultdict(list)\n    only_tables = []\n\n    if reflect_only:\n        for table_name in reflect_only:\n            schema, table_name = get_schema_and_table_name(table_name)\n            if schema:\n                only_schema_tables[schema].append(table_name)\n            else:\n                only_tables.append(table_name)\n\n    dialect = metadata.bind.dialect.name\n    schemas = get_schemas(metadata.bind)\n    schemas = filter_dialect_schemas(schemas, dialect)\n\n    for schema in schemas:\n        only = only_schema_tables.get(schema, []) or []\n        if only_tables:\n            only.extend(only_tables)\n        metadata.reflect(schema=schema, views=True, only=only or None)\n\n\ndef get_adhoc_datasource_filename(ds_name):\n    \"\"\"Get the filename where the adhoc datasource will be located\"\"\"\n    dir_name = zillion_config[\"ADHOC_DATASOURCE_DIRECTORY\"]\n    return \"%s/%s.db\" % (dir_name, ds_name)\n\n\ndef get_adhoc_datasource_url(ds_name):\n    \"\"\"Get a connection URL for the datasource\"\"\"\n    return \"sqlite:///%s\" % get_adhoc_datasource_filename(ds_name)\n\n\ndef url_connect(\n    ds_name,\n    connect_url=None,\n    data_url=None,\n    if_exists=IfFileExistsModes.FAIL,\n    replace_after=DEFAULT_REPLACE_AFTER,\n):\n    \"\"\"A URL-based datasource connector. This is meant to be used as the \"func\"\n    value of a DataSourceConnectSchema. Only one of connect_url or data_url may\n    be specified.\n\n    **Parameters:**\n\n    * **ds_name** - (*str*) The name of the datasource to get a connection for\n    * **connect_url** - (*str, optional*) If a connect_url is passed, it will\n    create a bound MetaData object from that connection string.\n    * **data_url** - (*str, optional*) If a data_url is passed, it will first\n    download that data (or make sure it is already downloaded) and then create a\n    connection to that data file, which is assumed to be a SQLite database. The\n    name of the database file will be based on the name of the datasource passed\n    in.\n    * **if_exists** - (*str, optional*) If a data_url is in use, this will\n    control handling of existing data under the same filename. If \"fail\", an\n    exception will be raised if the file already exists. If \"ignore\", it will\n    skip downloading the file if it exists. If \"replace\", it will create or\n    replace the file. If \"replace_after\" it will check the age of the file and\n    replace it after the age interval provided in the `replace_after` param.\n    * **replace_after** - (*str, optional*) If `if_exists` is \"replace_after, use\n    this value to determine the age threshold. The format is \"number interval\",\n    where the number may be an int or float and the interval options are: seconds,\n    minutes, hours, days, weeks. Note that this only occurs when `url_connect` is\n    called, which is typically on datasource init; it does not replace itself\n    periodically while the datasource is instantiated.\n\n    \"\"\"\n    raiseif(connect_url and data_url, \"Only one of connect_url or data_url may be set\")\n    raiseifnot(connect_url or data_url, \"One of connect_url or data_url must be set\")\n    if if_exists and data_url:\n        raiseifnot(\n            if_exists in IfFileExistsModes, \"Invalid if_exists value: %s\" % if_exists\n        )\n\n    if data_url:\n        return data_url_to_metadata(\n            data_url, ds_name, if_exists=if_exists, replace_after=replace_after\n        )\n\n    return connect_url_to_metadata(connect_url, ds_name=ds_name)\n\n\nclass TableSet(PrintMixin):\n    \"\"\"A set of tables in a datasource that can meet a grain and provide target\n    fields.\n\n    **Parameters:**\n\n    * **datasource** - (*DataSource*) The DataSource containing all tables\n    * **ds_table** - (*Table*) A table containing a desired metric or dimension\n    * **join** - (*Join*) A join to related tables that satisfies the grain and\n    provides the target fields\n    * **grain** - (*list of str*) A list of dimensions that must be supported by\n    the join\n    * **target_fields** - (*list of str*) A list of fields being targeted\n\n    \"\"\"\n\n    repr_attrs = [\"datasource\", \"join\", \"grain\", \"target_fields\"]\n\n    @initializer\n    def __init__(self, datasource, ds_table, join, grain, target_fields):\n        pass\n\n    def get_covered_metrics(self, wh):\n        \"\"\"Get a list of metrics covered by this table set\n\n        **Parameters:**\n\n        * **wh** - (*Warehouse*) The warehouse to use as a reference for metric\n        fields\n\n        **Returns:**\n\n        (*list of str*) - A list of metric names covered in this TableSet\n\n        \"\"\"\n        adhoc_dses = []\n        if self.datasource.name not in wh.datasource_names:\n            adhoc_dses = [self.datasource]\n        covered_metrics = get_table_metrics(wh, self.ds_table, adhoc_fms=adhoc_dses)\n        return covered_metrics\n\n    def get_covered_fields(self):\n        \"\"\"Get a list of all covered fields in this table set\"\"\"\n        return get_table_fields(self.ds_table)\n\n    def __len__(self):\n        if not self.join:\n            return 1\n        return len(self.join.table_names)\n\n\nclass JoinPart(PrintMixin):\n    \"\"\"A part of a join that defines a join between two particular tables\"\"\"\n\n    repr_attrs = [\"datasource\", \"table_names\", \"join_fields\"]\n\n    @initializer\n    def __init__(self, datasource, table_names, join_fields):\n        pass\n\n\nclass Join(PrintMixin):\n    \"\"\"Represents a join (potentially multi-part) that will be part of a\n    query\n\n    **Parameters:**\n\n    * **join_parts** - (*list of JoinParts*) A list of JoinParts that will\n    make up a single Join\n    * **field_map** - (*dict*) The requested fields this join is meant to\n    satisfy\n\n    \"\"\"\n\n    repr_attrs = [\"datasource\", \"table_names\", \"field_map\"]\n\n    @initializer\n    def __init__(self, join_parts, field_map):\n        \"\"\"Initialize the Join from the given join parts\"\"\"\n        self.datasource = None\n        self.table_names = OrderedSet()\n        for join_part in self.join_parts:\n            self.add_join_part_tables(join_part)\n\n    def __key(self):\n        return tuple(self.table_names)\n\n    def __hash__(self):\n        return hash(self.__key())\n\n    def __eq__(self, other):\n        return isinstance(self, type(other)) and self.__key() == other.__key()\n\n    def __len__(self):\n        return len(self.table_names)\n\n    def add_join_part_tables(self, join_part):\n        \"\"\"Add tables from join parts to the table list\"\"\"\n        if not self.datasource:\n            self.datasource = join_part.datasource\n        else:\n            raiseifnot(\n                join_part.datasource.name == self.datasource.name,\n                (\n                    \"Can not form %s using join_parts from different datasources\"\n                    % self.__class__\n                ),\n            )\n        for table_name in join_part.table_names:\n            self.table_names.add(table_name)\n\n    def get_covered_fields(self):\n        \"\"\"Generate a list of all possible fields this can cover\"\"\"\n        fields = set()\n        for table_name in self.table_names:\n            table = self.datasource.metadata.tables[table_name]\n            covered_fields = get_table_fields(table)\n            fields = fields | covered_fields\n        return fields\n\n    def add_field(self, field):\n        \"\"\"Denote that this field is covered in this join\"\"\"\n        raiseif(field in self.field_map, \"Field %s is already in field map\" % field)\n        for table_name in self.table_names:\n            table = self.datasource.metadata.tables[table_name]\n            covered_fields = get_table_fields(table)\n            if field in covered_fields:\n                column = get_table_field_column(table, field)\n                self.field_map[field] = column\n                return\n        raise ZillionException(\n            \"Field %s is not in any join tables: %s\" % (field, self.table_names)\n        )\n\n    def add_fields(self, fields):\n        \"\"\"Add multiple fields as covered in this join\"\"\"\n        for field in fields:\n            if field not in self.field_map:\n                self.add_field(field)\n\n    def join_parts_for_table(self, table_name):\n        \"\"\"Get a list of JoinParts that reference a particular table\"\"\"\n        return [jp for jp in self.join_parts if table_name in jp.table_names]\n\n    def join_fields_for_table(self, table_name):\n        \"\"\"Get a list of join fields for a particular table in the join\"\"\"\n        result = set()\n        for jp in self.join_parts_for_table(table_name):\n            if jp.join_fields:\n                result |= set(jp.join_fields)\n        return result\n\n    @classmethod\n    def combine(cls, join1, join2):\n        \"\"\"Create a new Join object that combines the parts and fields of the given joins\"\"\"\n        raiseifnot(\n            join1.datasource == join2.datasource,\n            \"Can not combine joins from different datasources\",\n        )\n        new_join = cls(\n            [x for x in join1.join_parts], {k: v for k, v in join1.field_map.items()}\n        )\n\n        for join_part in join2.join_parts:\n            new_join.add_join_part_tables(join_part)\n            new_join.join_parts.append(join_part)\n\n        for field in join2.field_map:\n            if field not in new_join.field_map:\n                new_join.add_field(field)\n\n        return new_join\n\n\ndef join_from_path(ds, path, field_map=None):\n    \"\"\"Given a path in the datasource graph, get the corresponding Join\n\n    **Parameters:**\n\n    * **ds** - (*DataSource*) The datasource for the join\n    * **path** - (*list of str*) A list of tables that form a join path\n    * **field_map** - (*dict, optional*) Passed through to Join init\n\n    **Returns:**\n\n    (*Join*) - A Join between all tables in the path\n\n    \"\"\"\n    join_parts = []\n    if len(path) == 1:\n        # A placeholder join that is really just a single table\n        join_part = JoinPart(ds, path, None)\n        join_parts.append(join_part)\n    else:\n        for i, node in enumerate(path):\n            if i == (len(path) - 1):\n                break\n            start, end = path[i], path[i + 1]\n            edge = ds._graph.edges[start, end]\n            join_part = JoinPart(ds, [start, end], edge[\"join_fields\"])\n            join_parts.append(join_part)\n    return Join(join_parts, field_map=field_map)\n\n\nclass NeighborTable(PrintMixin):\n    \"\"\"Represents a neighboring node in the datasource graph\"\"\"\n\n    repr_attrs = [\"table_name\", \"join_fields\"]\n\n    @initializer\n    def __init__(self, table, join_fields):\n        self.table_name = table.fullname\n\n\nclass DataSource(FieldManagerMixin, PrintMixin):\n    \"\"\"A component of a warehouse that houses one or more related tables\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the datasource\n    * **metadata** - (*SQLAlchemy metadata, optional*) A SQLAlchemy metadata\n    object that may have zillion configuration information defined in the table\n    and column `info.zillion` attribute\n    * **config** - (*dict, str, or buffer, optional*) A dict adhering to the\n    DataSourceConfigSchema or a file location to load the config from\n    * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n    fields\n\n    \"\"\"\n\n    repr_attrs = [\"name\"]\n\n    def __init__(self, name, metadata=None, config=None, nlp=False):\n        self.name = self._check_or_create_name(name)\n        self._metrics = {}\n        self._dimensions = {}\n        self._graph = None\n        self.prefix_with = None\n        reflect = False\n\n        if config:\n            config = load_datasource_config(config)\n        else:\n            config = {}\n\n        connect = config.get(\"connect\", None)\n\n        raiseifnot(metadata or connect, \"You must pass metadata or config->connect\")\n        raiseif(\n            connect and metadata,\n            \"Only one of metadata or config->connect may be specified\",\n        )\n\n        if connect:\n            self.metadata = metadata_from_connect(connect, self.name)\n            reflect = True\n        else:\n            raiseifnot(\n                isinstance(metadata, sa.MetaData),\n                \"Invalid MetaData object: %s\" % metadata,\n            )\n            self.metadata = metadata\n            raiseifnot(\n                self.metadata.bind,\n                \"MetaData object must have a bind (engine) attribute specified\",\n            )\n\n        self.apply_config(config, reflect=reflect, nlp=nlp)\n\n    @property\n    def metric_tables(self):\n        \"\"\"A mapping of metric table names to table objects\"\"\"\n        return {\n            table_name: table\n            for table_name, table in self.metadata.tables.items()\n            if is_active(table) and table.zillion.type == TableTypes.METRIC\n        }\n\n    @property\n    def dimension_tables(self):\n        \"\"\"A dimension of metric table names to table objects\"\"\"\n        return {\n            table_name: table\n            for table_name, table in self.metadata.tables.items()\n            if is_active(table) and table.zillion.type == TableTypes.DIMENSION\n        }\n\n    def has_table(self, table, check_active=True):\n        \"\"\"Check whether the table is in this datasource's metadata\n\n        **Parameters:**\n\n        * **table** - (*SQLAlchemy Table*) A SQLAlchemy table\n        * **check_active** - (*bool, optional*) If true, check that the table\n        is active\n\n        **Returns:**\n\n        (*bool*) - True if the table's fullname is in the metadata.tables map\n\n        \"\"\"\n        if isinstance(table, str):\n            name = table\n        else:\n            name = table.fullname\n        if name not in self.metadata.tables:\n            return False\n        if not check_active:\n            return True\n        return is_active(self.metadata.tables[name])\n\n    def get_table(self, fullname, check_active=True):\n        \"\"\"Get the table object from the datasource's metadata\n\n        **Parameters:**\n\n        * **fullname** - (*str*) The full name of the table\n        * **check_active** - (*bool, optional*) If true, check that the table\n\n\n        **Returns:**\n\n        (*Table*) - The SQLAlchemy table object from the metadata\n\n        \"\"\"\n        table = self.metadata.tables[fullname]\n        if check_active and not is_active(table):\n            raise ZillionException(\"Table %s is not active\" % fullname)\n        return table\n\n    def get_tables_with_field(self, field_name, table_type=None):\n        \"\"\"Get a list of Tables that have a field\n\n        **Parameters:**\n\n        * **field_name** - (*str*) The name of the field to check for\n        * **table_type** - (*str, optional*) Check only this TableType\n\n        **Returns:**\n\n        (*list*) - A list of Table objects\n\n        \"\"\"\n        tables = []\n        for table in self.metadata.tables.values():\n            if not is_active(table):\n                continue\n            if table_type and table.zillion.type != table_type:\n                continue\n            if field_name in get_table_fields(table):\n                tables.append(table)\n        return tables\n\n    def get_metric_tables_with_metric(self, metric_name):\n        \"\"\"Get a list of metric table objects with the given metric\"\"\"\n        return self.get_tables_with_field(metric_name, table_type=TableTypes.METRIC)\n\n    def get_dim_tables_with_dim(self, dim_name):\n        \"\"\"Get a list of dimension table objects with the given dimension\"\"\"\n        return self.get_tables_with_field(dim_name, table_type=TableTypes.DIMENSION)\n\n    def get_columns_with_field(self, field_name):\n        \"\"\"Get a list of column objects that support a field\"\"\"\n        columns = []\n        for table in self.metadata.tables.values():\n            if not is_active(table):\n                continue\n\n            for col in table.c:\n                if not is_active(col):\n                    continue\n                if field_name in col.zillion.get_field_names():\n                    columns.append(col)\n        return columns\n\n    def apply_config(self, config, reflect=False, nlp=False):\n        \"\"\"Apply a datasource config to this datasource's metadata. This will\n        also ensure zillion info is present on the metadata, populate global\n        fields, and rebuild the datasource graph.\n\n        **Parameters:**\n\n        * **config** - (*dict*) The datasource config to apply\n        * **reflect** - (*bool, optional*) If true, use SQLAlchemy to reflect\n        the database. Table-level reflection will also occur if any tables are\n        created from data URLs\n        * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        \"\"\"\n        raiseifnot(self.metadata, \"apply_config called with no datasource metadata\")\n\n        reflect_only = None\n        adhoc_tables = self._load_adhoc_tables(config)\n        if adhoc_tables and not reflect:\n            reflect = True\n            reflect_only = adhoc_tables\n\n        if reflect:\n            reflect_metadata(self.metadata, reflect_only=reflect_only)\n            if config.get(\"tables\", None):\n                # HACK: Backup in case the engine in use does not support reflection,\n                # such as certain versions of duckdb_engine\n                for table_name in config[\"tables\"].keys():\n                    if contains_sql_keywords(table_name):\n                        raise DisallowedSQLException(\n                            f\"Table name %s contains SQL keywords: {table_name}\"\n                        )\n                    if table_name not in self.metadata.tables:\n                        dbg(f\"Manually reflecting missing table: {table_name}\")\n                        schema, name = get_schema_and_table_name(table_name)\n                        sa.Table(\n                            name,\n                            self.metadata,\n                            schema=schema,\n                            autoload_with=self.metadata.bind,\n                        )\n\n        if config.get(\"tables\", None):\n            self._apply_table_configs(config[\"tables\"])\n\n        self._ensure_metadata_info()\n\n        if not config.get(\"skip_conversion_fields\", False):\n            self._add_conversion_fields()\n\n        self.prefix_with = config.get(\"prefix_with\", None)\n\n        self._populate_fields(config, nlp=nlp)\n\n        self._build_graph()\n\n    def find_neighbor_tables(self, table):\n        \"\"\"Find tables that can be joined to or are parents of the given table\n\n        **Parameters:**\n\n        * **table** - (*SQLAlchemy Table*) The table to find neighbors for\n\n        **Returns:**\n\n        (*list*) - A list of NeighborTables\n\n        \"\"\"\n        neighbor_tables = []\n        fields = get_table_fields(table)\n\n        def check_pk_fields(pk_fields, t, ttype):\n            for pk_field in pk_fields:\n                raiseifnot(\n                    pk_field in fields,\n                    (\n                        \"Table %s is %s of %s but primary key %s is not in both\"\n                        % (t.fullname, ttype, table.fullname, pk_fields)\n                    ),\n                )\n\n        if table.zillion.type == TableTypes.METRIC:\n            # Find dimension tables whose primary key is contained in the\n            # metric table\n            for dim_table in self.dimension_tables.values():\n                dt_pk_fields = dim_table.zillion.primary_key\n                can_join = True\n                for field in dt_pk_fields:\n                    if field not in fields:\n                        can_join = False\n                        break\n                if can_join:\n                    neighbor_tables.append(NeighborTable(dim_table, dt_pk_fields))\n\n        # Add parent table if present\n        parent_name = table.zillion.parent\n        if parent_name:\n            try:\n                parent = self.metadata.tables[parent_name]\n            except KeyError:\n                raise AssertionError(\n                    \"Parent %s of %s not defined\" % (parent_name, table.fullname)\n                )\n\n            pk_fields = parent.zillion.primary_key\n            check_pk_fields(pk_fields, parent, \"parent\")\n            neighbor_tables.append(NeighborTable(parent, pk_fields))\n\n            if parent.zillion.type == TableTypes.DIMENSION and parent.zillion.siblings:\n                # Add parent dimension sibling tables if present\n                for sibling_name in parent.zillion.siblings:\n                    try:\n                        sibling = self.metadata.tables[sibling_name]\n                    except KeyError:\n                        raise AssertionError(\n                            \"Sibling %s of %s not defined\"\n                            % (sibling_name, parent.fullname)\n                        )\n\n                    raiseifnot(\n                        sibling.zillion.type == TableTypes.DIMENSION,\n                        \"Sibling tables can only be dimension tables\",\n                    )\n                    pk_fields = sibling.zillion.primary_key\n                    check_pk_fields(pk_fields, sibling, \"sibling\")\n                    neighbor_tables.append(NeighborTable(sibling, pk_fields))\n\n        return neighbor_tables\n\n    def find_descendent_tables(self, table):\n        \"\"\"Find graph descendents of the table\"\"\"\n        return nx.descendants(self._graph, table.fullname)\n\n    def get_possible_joins(self, table, grain):\n        \"\"\"This takes a given table (usually a metric table) and tries to find\n        one or more joins to each dimension of the grain. It's possible some of\n        these joins satisfy other parts of the grain too which leaves room for\n        consolidation, but it's also possible to have it generate independent,\n        non-overlapping joins to meet the grain.\n\n        **Parameters:**\n\n        * **table** - (*SQLAlchemy Table*) Table to analyze for joins to grain\n        * **grain** - (*iterable*) An iterable of dimension names that the given\n        table must join to\n\n        **Returns:**\n\n        (*dict*) - A mapping of dimension -> dimension joins\n\n        \"\"\"\n        raiseifnot(\n            self.has_table(table),\n            \"Could not find table %s in datasource %s\" % (table.fullname, self.name),\n        )\n\n        if not grain:\n            dbg(\"No grain specified, ignoring joins\")\n            return None\n\n        possible_dim_joins = {}\n        for dimension in grain:\n            dim_joins = self._find_joins_to_dimension(table, dimension)\n            if not dim_joins:\n                dbg(\n                    \"table %s can not satisfy dimension %s\"\n                    % (table.fullname, dimension)\n                )\n                return None\n\n            possible_dim_joins[dimension] = dim_joins\n\n        possible_joins = self._consolidate_field_joins(table, grain, possible_dim_joins)\n        dbg(\"possible joins:\")\n        dbg(possible_joins)\n        return possible_joins\n\n    def find_possible_table_sets(\n        self, ds_tables_with_field, field, grain, dimension_grain\n    ):\n        \"\"\"Find table sets that meet the grain\n\n        **Parameters:**\n\n        * **ds_tables_with_field** - (*list of tables*) A list of datasource\n        tables that have the target field\n        * **field** - (*str*) The target field we are trying to cover\n        * **grain** - (*iterable*) The grain the table set must support\n        * **dimension_grain** - The subset of the grain that are requested\n        dimensions\n\n        **Returns:**\n\n        (*list*) - A list of TableSets\n\n        \"\"\"\n        table_sets = []\n        for field_table in ds_tables_with_field:\n            if not table_field_allows_grain(field_table, field, dimension_grain):\n                continue\n\n            if (not grain) or grain.issubset(get_table_fields(field_table)):\n                table_set = TableSet(self, field_table, None, grain, set([field]))\n                table_sets.append(table_set)\n                dbg(\"full grain (%s) covered in %s\" % (grain, field_table.fullname))\n                continue\n\n            joins = self.get_possible_joins(field_table, grain)\n            if not joins:\n                dbg(\"table %s can not join at grain %s\" % (field_table.fullname, grain))\n                continue\n\n            dbg(\n                \"adding %d possible join(s) to table %s\"\n                % (len(joins), field_table.fullname)\n            )\n            for join, covered_dims in joins.items():\n                table_set = TableSet(self, field_table, join, grain, set([field]))\n                table_sets.append(table_set)\n\n        return table_sets\n\n    def get_dialect_name(self):\n        \"\"\"Get the name of the SQLAlchemy metadata dialect\"\"\"\n        return self.metadata.bind.dialect.name\n\n    def get_params(self):\n        \"\"\"Get a simple dict representation of the datasource params. This is\n        currently not sufficient to completely rebuild the datasource.\"\"\"\n        # TODO: does this need to store entire config?\n        return dict(name=self.name)\n\n    def print_info(self):\n        \"\"\"Print the structure of the datasource\"\"\"\n        print(\"---- Datasource %s\" % self.name)\n        print(\"metrics:\")\n        self.print_metrics(indent=2)\n        print(\"dimensions:\")\n        self.print_dimensions(indent=2)\n\n        print()\n        for table in self.metadata.tables.values():\n            print(format_msg(\"table: %s\" % table.fullname, label=None))\n            zillion_info = table.info.get(\"zillion\", None)\n            if not zillion_info:\n                print(format_msg(\"table has no zillion info\", label=None, indent=2))\n                continue\n\n            for column in table.c:\n                print(format_msg(\"column: %s\" % column.name, label=None, indent=2))\n                zillion_info = column.info.get(\"zillion\", None)\n                if not zillion_info:\n                    print(\n                        format_msg(\"column has no zillion info\", label=None, indent=4)\n                    )\n                    continue\n\n                print(format_msg(column.info[\"zillion\"], label=None, indent=4))\n\n    def _load_adhoc_tables(self, config):\n        \"\"\"Extract and init the adhoc tables in the DS config. This will return\n        a list of processed adhoc tables by name\"\"\"\n        ds_config_context = get_ds_config_context(self.name)\n        adhoc_tables = []\n\n        for table_name, table_config in config.get(\"tables\", {}).items():\n            cfg = table_config.copy()\n            data_url = cfg.get(\"data_url\", None)\n            if not data_url:\n                continue\n\n            adhoc_tables.append(table_name)\n\n            # TODO: we currently ignore this with adhoc tables since we\n            # don't want to accidentally leak secrets from the DS context.\n            # It's allowed for datasource connect urls since those form the\n            # entire datasource so it's possible to apply an appropriate\n            # context. Here we probably need a way to specify which context\n            # is allowed for adhoc tables within each DS context.\n            #\n            # if get_string_format_args(cfg[\"data_url\"]):\n            #     cfg[\"data_url\"] = cfg[\"data_url\"].format(**ds_config_context)\n\n            schema, table_name = get_schema_and_table_name(table_name)\n            dt = datatable_from_config(table_name, cfg, schema=schema)\n            dt.to_sql(self.metadata.bind)\n\n        return adhoc_tables\n\n    def _apply_table_configs(self, table_configs):\n        \"\"\"Take configs and apply them to the table/column metadata\"\"\"\n\n        for table in self.metadata.tables.values():\n            if table.fullname not in table_configs:\n                continue\n\n            table_config = table_configs[table.fullname]\n            table_info = TableInfo.schema_load(table_config, unknown=EXCLUDE)\n\n            zillion_info = table.info.get(\"zillion\", {})\n            # Config takes precedence over values on table objects\n            zillion_info.update(table_info)\n            table.info[\"zillion\"] = TableInfo.create(zillion_info)\n\n            column_configs = table_config.get(\"columns\", None)\n            if not column_configs:\n                continue\n\n            for column in table.columns:\n                if column.name not in column_configs:\n                    continue\n\n                column_config = column_configs[column.name]\n                zillion_info = column.info.get(\"zillion\", {})\n                # Config takes precedence over values on column objects\n                zillion_info.update(column_config)\n\n                if table.info[\"zillion\"].use_full_column_names:\n                    field_name = default_field_name(column)\n                else:\n                    field_name = column.name\n                is_valid_field_name(field_name)\n\n                zillion_info[\"fields\"] = zillion_info.get(\"fields\", [field_name])\n                column.info[\"zillion\"] = ColumnInfo.create(zillion_info)\n\n    def _ensure_metadata_info(self):\n        \"\"\"Ensure that all zillion info are of proper type\"\"\"\n        for table in self.metadata.tables.values():\n            zillion_info = table.info.get(\"zillion\", None)\n            if not zillion_info:\n                setattr(table, \"zillion\", None)\n                continue\n\n            table.info[\"zillion\"] = TableInfo.create(zillion_info)\n            setattr(table, \"zillion\", table.info[\"zillion\"])\n\n            column_count = 0\n\n            for column in table.c:\n                zillion_info = column.info.get(\"zillion\", None) or {}\n                if not zillion_info:\n                    if not table.zillion.create_fields:\n                        raiseif(\n                            column.primary_key,\n                            (\n                                \"Primary key column %s must have zillion info defined\"\n                                % column_fullname(column)\n                            ),\n                        )\n                        # If create_fields IS set the zillion info would\n                        # automatically get created on the column and fields\n                        # would automatically be created from the columns.\n                        # Since it is NOT set, we just set the attribute to\n                        # None and move on.\n                        setattr(column, \"zillion\", None)\n                        continue\n\n                if table.zillion.use_full_column_names:\n                    field_name = default_field_name(column)\n                else:\n                    field_name = column.name\n                is_valid_field_name(field_name)\n\n                zillion_info[\"fields\"] = zillion_info.get(\"fields\", [field_name])\n                if column.primary_key:\n                    raiseifnot(\n                        zillion_info[\"fields\"],\n                        (\n                            \"Primary key column %s must have fields defined and\"\n                            \"one must be a valid dimension\"\n                        )\n                        % column_fullname(column),\n                    )\n                column.info[\"zillion\"] = ColumnInfo.create(zillion_info)\n                setattr(column, \"zillion\", column.info[\"zillion\"])\n                column_count += 1\n\n            raiseifnot(\n                column_count,\n                \"Table %s has no columns with zillion info defined\" % table.fullname,\n            )\n\n    def _add_conversion_fields(self):\n        \"\"\"Add conversion fields where they are supported\"\"\"\n        for table in self.metadata.tables.values():\n            if not is_active(table):\n                continue\n\n            table_fields = get_table_fields(table)\n            types_converted = set()\n\n            for column in table.c:\n                if not is_active(column):\n                    continue\n\n                if not column.zillion.allow_type_conversions:\n                    continue\n\n                convs = get_dialect_type_conversions(self.get_dialect_name(), column)\n                if convs:\n                    raiseif(\n                        type(column.type) in types_converted,\n                        (\n                            \"Table %s has multiple columns of same type allowing conversions\"\n                            % table.fullname\n                        ),\n                    )\n                    types_converted.add(type(column.type))\n\n                for conv in convs:\n                    field = conv[\"field\"]\n\n                    if column.zillion.disabled_type_conversions:\n                        if field.name in column.zillion.disabled_type_conversions:\n                            dbg(\n                                f\"Skipping conversion field {field.name} for column {column.name}\"\n                            )\n                            continue\n\n                    ds_formula = conv[\"ds_formula\"]\n                    ds_criteria_conversions = conv[\"ds_criteria_conversions\"]\n                    is_valid_datasource_criteria_conversions(ds_criteria_conversions)\n                    field_def = field.copy()\n                    field_name = field_def.name\n\n                    if not field_def.description:\n                        field_def.description = \"Automatic conversion field\"\n\n                    if column.zillion.type_conversion_prefix:\n                        field_name = column.zillion.type_conversion_prefix + field_name\n                        is_valid_field_name(field_name)\n                        field_def.name = field_name\n                        field_def.display_name = default_field_display_name(field_name)\n\n                    if field_name in table_fields:\n                        dbg(\n                            \"Skipping conversion field %s for column %s, already in table\"\n                            % (field_name, column_fullname(column))\n                        )\n                        continue\n                    dbg(\n                        \"Adding conversion field %s for column %s\"\n                        % (field_name, column_fullname(column))\n                    )\n                    column.zillion.add_field(\n                        dict(\n                            name=field_name,\n                            ds_formula=ds_formula,\n                            ds_criteria_conversions=ds_criteria_conversions,\n                        )\n                    )\n\n                    if not self.has_field(field_name):\n                        if isinstance(field_def, Dimension):\n                            self.add_dimension(field_def)\n                        else:\n                            self.add_metric(field_def)\n\n    def _add_metric_column(self, column, field, aggregation=None, rounding=None):\n        \"\"\"Add a metric to the datasource from a column\"\"\"\n        if not self.has_metric(field):\n            dbg(\n                \"Adding metric %s from column %s.%s\"\n                % (field, self.name, column_fullname(column))\n            )\n            _aggregation, _rounding = infer_aggregation_and_rounding(column)\n            aggregation = (\n                aggregation.lower() if aggregation is not None else _aggregation\n            )\n            rounding = int(rounding) if rounding is not None else _rounding\n            metric = Metric(\n                field, column.type, aggregation=aggregation, rounding=rounding\n            )\n            self.add_metric(metric)\n\n    def _add_dimension_column(self, column, field):\n        \"\"\"Add a dimension to the datasource from a column\"\"\"\n        if not self.has_dimension(field):\n            dbg(\n                \"Adding dimension %s from column %s.%s\"\n                % (field, self.name, column_fullname(column))\n            )\n            dimension = Dimension(field, column.type)\n            self.add_dimension(dimension)\n\n    def _add_metric_table_fields(self, table, nlp=False):\n        \"\"\"Populate fields from a metric table\"\"\"\n\n        nlp_table_info = get_nlp_table_info(table) if nlp else {}\n\n        for column in table.c:\n            if not is_active(column):\n                continue\n\n            for field, field_def in column.zillion.get_fields().items():\n                if self.has_field(field):\n                    continue\n\n                if not table.zillion.create_fields:\n                    # If create_fields is False we do not automatically create fields\n                    # from columns. The field would have to be explicitly defined\n                    # in the metrics/dimensions of the datasource.\n                    continue\n\n                formula = (\n                    field_def.get(\"ds_formula\", None)\n                    if isinstance(field_def, dict)\n                    else None\n                )\n                nlp_column_info = nlp_table_info.get(column.name, {})\n                if is_probably_metric(\n                    column, formula=formula, nlp_column_info=nlp_column_info\n                ):\n                    self._add_metric_column(\n                        column,\n                        field,\n                        aggregation=nlp_column_info.get(\"aggregation\", None),\n                        rounding=nlp_column_info.get(\"rounding\", None),\n                    )\n                else:\n                    self._add_dimension_column(column, field)\n\n    def _add_dimension_table_fields(self, table):\n        \"\"\"Populate fields from a dimension table\"\"\"\n        for column in table.c:\n            if not is_active(column):\n                continue\n\n            for field in column.zillion.get_field_names():\n                if self.has_metric(field):\n                    raise ZillionException(\n                        \"Dimension table has metric field: %s\" % field\n                    )\n\n                if self.has_dimension(field):\n                    continue\n\n                if not table.zillion.create_fields:\n                    # If create_fields is False we do not automatically create fields\n                    # from columns. The field would have to be explicitly defined\n                    # in the metrics/dimensions of the datasource.\n                    continue\n\n                self._add_dimension_column(column, field)\n\n    def _populate_fields(self, config, nlp=False):\n        \"\"\"Populate fields from a datasource config\"\"\"\n        self._populate_global_fields(config, force=True)\n\n        for table in self.metadata.tables.values():\n            if not is_active(table):\n                continue\n            if table.zillion.type == TableTypes.METRIC:\n                self._add_metric_table_fields(table, nlp=nlp)\n            elif table.zillion.type == TableTypes.DIMENSION:\n                self._add_dimension_table_fields(table)\n            else:\n                raise ZillionException(\"Invalid table type: %s\" % table.zillion.type)\n\n    def _build_graph(self):\n        \"\"\"Build a directional graph representing the relationships between\n        tables in the datasource\"\"\"\n\n        graph = nx.DiGraph()\n        self._graph = graph\n        for table in self.metadata.tables.values():\n            if not is_active(table):\n                continue\n\n            self._graph.add_node(table.fullname)\n            neighbors = self.find_neighbor_tables(table)\n            for neighbor in neighbors:\n                self._graph.add_node(neighbor.table.fullname)\n                self._graph.add_edge(\n                    table.fullname,\n                    neighbor.table.fullname,\n                    join_fields=neighbor.join_fields,\n                )\n\n    def _invert_field_joins(self, field_joins):\n        \"\"\"Take a map of fields to relevant joins and invert it\"\"\"\n        join_fields = defaultdict(set)\n        for field, joins in field_joins.items():\n            for join in joins:\n                if join in join_fields:\n                    dbg(\"join %s already used, adding field %s\" % (join, field))\n                join_fields[join].add(field)\n        return join_fields\n\n    def _populate_max_join_field_coverage(self, join_fields, grain):\n        \"\"\"Populate the relevant grain fields a join can cover\"\"\"\n        for join, covered_fields in join_fields.items():\n            for field in grain:\n                if field in covered_fields:\n                    continue\n                all_covered_fields = join.get_covered_fields()\n                if field in all_covered_fields:\n                    covered_fields.add(field)\n\n    def _eliminate_redundant_joins(self, sorted_join_fields, main_table):\n        \"\"\"Eliminate joins that aren't providing unique fields or are just table\n        supersets of other joins\"\"\"\n        joins_to_delete = set()\n        for join, covered_fields in sorted_join_fields:\n            if join in joins_to_delete:\n                continue\n\n            dbg(\n                \"Finding redundant joins for %s / %s\"\n                % (join.table_names, covered_fields)\n            )\n            for other_join, other_covered_fields in sorted_join_fields:\n                if join == other_join or join in joins_to_delete:\n                    continue\n\n                is_superset = join.table_names.issubset(other_join.table_names)\n                has_unique_fields = other_covered_fields - covered_fields\n                if is_superset and not has_unique_fields:\n                    dbg(\n                        \"Removing redundant join %s / %s\"\n                        % (other_join.table_names, other_covered_fields),\n                        indent=4,\n                    )\n                    joins_to_delete.add(other_join)\n\n                # If this join goes through a table that contains the PK of the\n                # main table, remove joins that cover the same grain but don't\n                # have that PK. This is assumed to lead to more efficient joins\n                # and match the intent of the schema.\n                if (\n                    other_covered_fields == covered_fields\n                    and len(join) > 1\n                    and len(other_join) > 1\n                ):\n                    main_pk = main_table.zillion.primary_key\n                    join_table_two_pk = self.get_table(\n                        join.table_names[1]\n                    ).zillion.primary_key\n                    other_table_two_pk = self.get_table(\n                        other_join.table_names[1]\n                    ).zillion.primary_key\n                    if join_table_two_pk == main_pk and other_table_two_pk != main_pk:\n                        dbg(\n                            \"Removing redundant join %s / %s\"\n                            % (other_join.table_names, other_covered_fields),\n                            indent=4,\n                        )\n                        joins_to_delete.add(other_join)\n\n        dbg(f\"Removing {len(joins_to_delete)} redundant joins\")\n        sorted_join_fields = [\n            (join, fields)\n            for join, fields in sorted_join_fields\n            if join not in joins_to_delete\n        ]\n        return sorted_join_fields\n\n    def _find_join_combinations(self, sorted_join_fields, grain):\n        \"\"\"Find candidate joins that cover the entire grain\"\"\"\n        candidates = []\n        required_joins = []\n        optional_joins = []\n        max_joins = zillion_config.get(\"DATASOURCE_MAX_JOINS\", None)\n        max_candidates = zillion_config.get(\"DATASOURCE_MAX_JOIN_CANDIDATES\", None)\n\n        # First find joins that provide unique components of the grain\n        # as they will be required. Do this by looking at the covered fields\n        # of the join to see if any are unique among all joins.\n        for join, covered_fields in sorted_join_fields:\n            unique_covered = covered_fields.copy()\n            for other_join, other_covered_fields in sorted_join_fields:\n                if join == other_join:\n                    continue\n                unique_covered -= other_covered_fields\n            if unique_covered:\n                required_joins.append((join, covered_fields))\n            else:\n                optional_joins.append((join, covered_fields))\n\n        dbg(f\"{len(sorted_join_fields)} total joins, {len(required_joins)} required\")\n        optional_powerset = powerset(optional_joins, max_combo_len=max_joins)\n\n        for i, optional_join_combo in enumerate(optional_powerset):\n            join_combo = list(optional_join_combo) + required_joins\n\n            if not join_combo:\n                continue\n\n            if i > 0 and i % 10000 == 0:\n                warn(f\"{i} join combos and counting, {len(candidates)} candidates...\")\n\n            covered = set()\n            has_subsets = False\n            for join, covered_dims in join_combo:\n                covered |= covered_dims\n                # If any of the other joins are a subset of this join we\n                # ignore it. The powerset has every combination so it will\n                # eventually hit the case where there are only distinct joins.\n                for other_join, _ in join_combo:\n                    if join == other_join:\n                        continue\n                    if other_join.table_names.issubset(join.table_names):\n                        has_subsets = True\n                        break\n                if has_subsets:\n                    break\n\n            if has_subsets:\n                continue\n\n            if len(covered) != len(grain):\n                # dbg(f\"does not cover grain: {covered} / {grain}\")\n                continue\n\n            # This combination of joins covers the entire grain. Add it as\n            # a candidate if there isn't an existing candidate that is a\n            # subset of these joins\n            skip = False\n            joins = {x[0] for x in join_combo}\n            for other_join_combo in candidates:\n                other_joins = {x[0] for x in other_join_combo}\n                if other_joins.issubset(joins):\n                    skip = True\n                    break\n\n            if skip:\n                # dbg(\"Skipping subset join list combination\")\n                continue\n\n            # dbg(\"Adding join combo\")\n            candidates.append(join_combo)\n            if max_candidates and len(candidates) >= max_candidates:\n                warn(f\"Hit max join candidates, returning {len(candidates)}\")\n                break\n\n        return candidates\n\n    def _combine_orthogonal_joins(self, candidates):\n        \"\"\"Combine any joins that orthogonally stem from a common table.\n\n        NOTE: this needs more thorough review, and there may be a better way\n        to handle this or combine joins at a different step in the process.\n        \"\"\"\n\n        result = []\n        for join_combo in candidates:\n            root_joins = {}\n\n            for join, covered_fields in join_combo:\n                root_table = join.table_names[0]\n                if root_table not in root_joins:\n                    root_joins[root_table] = (join, covered_fields)\n                else:\n                    existing_join, existing_fields = root_joins[root_table]\n                    dbg(\n                        f\"Combining join {join.table_names} into {existing_join.table_names}\"\n                    )\n                    new_join = Join.combine(existing_join, join)\n                    new_fields = existing_fields | covered_fields\n                    root_joins[root_table] = (new_join, new_fields)\n\n            final_combo = tuple([x for x in root_joins.values()])\n            for row in final_combo:\n                dbg(f\"Final combo join: {row[0].table_names}\")\n            result.append(final_combo)\n\n        return result\n\n    def _choose_best_join_combination(self, candidates):\n        \"\"\"Choose the best join combination from the candidates. Currently\n        \"best\" is just defined as the candidate with the fewest tables.\"\"\"\n        ordered = sorted(\n            candidates, key=lambda x: len(iter_or([y[0].table_names for y in x]))\n        )\n        chosen = ordered[0]\n        join_fields = {}\n        for join, covered_fields in chosen:\n            join_fields[join] = covered_fields\n            dbg(f\"join {join.table_names} covers {covered_fields}\")\n            join.add_fields(covered_fields)\n        return join_fields\n\n    def _consolidate_field_joins(self, table, grain, field_joins):\n        \"\"\"This takes a mapping of fields to joins that satisfy each field and\n        returns a minimized map of joins to fields satisfied by that join.\"\"\"\n\n        # Some preliminary shuffling of the inputs to support later logic\n        join_fields = self._invert_field_joins(field_joins)\n        self._populate_max_join_field_coverage(join_fields, grain)\n\n        # Sort by number of dims covered desc, number of tables involved asc\n        sorted_join_fields = sorted(\n            join_fields.items(), key=lambda kv: (len(kv[1]), -len(kv[0])), reverse=True\n        )\n\n        if len(sorted_join_fields[0][1]) == len(grain):\n            # Single join covers entire grain. It should be ~optimal based on sorting.\n            join = sorted_join_fields[0][0]\n            covered_fields = sorted_join_fields[0][1]\n            join.add_fields(covered_fields)\n            return {join: covered_fields}\n\n        sorted_join_fields = self._eliminate_redundant_joins(sorted_join_fields, table)\n        candidates = self._find_join_combinations(sorted_join_fields, grain)\n        candidates = self._combine_orthogonal_joins(candidates)\n        join_fields = self._choose_best_join_combination(candidates)\n        return join_fields\n\n    def _find_joins_to_dimension(self, table, dimension):\n        \"\"\"Find joins to a dimension from a table\"\"\"\n        joins = []\n\n        dim_columns = self.get_columns_with_field(dimension)\n        dim_column_table_map = {c.table.fullname: c for c in dim_columns}\n\n        for column in dim_columns:\n            if column.table == table:\n                paths = [[table.fullname]]\n            else:\n                paths = nx.all_simple_paths(\n                    self._graph, table.fullname, column.table.fullname\n                )\n\n            if not paths:\n                continue\n\n            for path in paths:\n                # For each path, if this dim can be found earlier in the path then\n                # reference it in the earlier (child) table\n                field_map = None\n                for table_name in path:\n                    if table_name in dim_column_table_map:\n                        field_map = {dimension: dim_column_table_map[table_name]}\n                        break\n\n                raiseifnot(\n                    field_map, \"Could not map dimension %s to column\" % dimension\n                )\n                join = join_from_path(self, path, field_map=field_map)\n                if table.zillion.incomplete_dimensions:\n                    join_fields = join.join_fields_for_table(table.fullname)\n                    if set(table.zillion.incomplete_dimensions) & join_fields:\n                        dbg(\n                            \"Skipping table %s join due to incomplete dimensions\"\n                            % table.fullname\n                        )\n                        continue\n                joins.append(join)\n\n        dbg(\"Found joins to dim %s for table %s:\" % (dimension, table.fullname))\n        dbg(joins)\n        return joins\n\n    @classmethod\n    def from_db_file(\n        cls,\n        file,\n        name=None,\n        config=None,\n        if_exists=IfFileExistsModes.FAIL,\n        replace_after=DEFAULT_REPLACE_AFTER,\n        nlp=False,\n    ):\n        \"\"\"Create a DataSource from a sqlite db file path or url\n\n        **Parameters:**\n\n        * **file** - (*str*) A file path/url pointing to a SQLite database\n        * **name** - (*str, optional*) The name to give the datasource. If blank it\n        will be derived from the file name.\n        * **config** - (*dict, optional*) A DataSourceConfigSchema dict config.\n        Note that the connect param of this config will be overwritten if\n        present!\n        * **if_exists** - (*str, optional*) Control behavior when the database\n        already exists\n        * **replace_after** - (*str, optional*) Replace the data file after this\n        interval if `if_exists` is \"replace_after\". See `url_connect` docs for\n        more information.\n        * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        **Returns:**\n\n        (*DataSource*) - A DataSource created from the db and config\n\n        \"\"\"\n        config = (config or {}).copy()\n        connect = config.get(\"connect\", {})\n        if connect:\n            connect = {}\n            warn(\"Overwriting datasource connect settings for from_db_file()\")\n        connect[\"func\"] = \"zillion.datasource.url_connect\"\n\n        if os.path.isfile(file):\n            url = \"sqlite:///\" + os.path.abspath(file)\n            connect[\"params\"] = dict(connect_url=url, if_exists=if_exists)\n        else:\n            connect[\"params\"] = dict(data_url=file, if_exists=if_exists)\n            if replace_after:\n                connect[\"params\"][\"replace_after\"] = replace_after\n\n        config[\"connect\"] = connect\n\n        name = name or entity_name_from_file(file)\n        return cls(name, config=config, nlp=nlp)\n\n    @classmethod\n    def from_datatables(cls, name, datatables, config=None, nlp=False):\n        \"\"\"Create a DataSource from a list of datatables\n\n        **Parameters:**\n\n        * **name** - (*str*) The name to give the datasource\n        * **datatables** - (*list of AdHocDataTables*) A list of AdHocDataTables\n        to use to create the DataSource\n        * **config** - (*dict, optional*) A DataSourceConfigSchema dict config\n        * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        **Returns:**\n\n        (*DataSource*) - A DataSource created from the datatables and config\n\n        \"\"\"\n        config = config or dict(tables={})\n        ds_name = cls._check_or_create_name(name)\n\n        if config.get(\"connect\", None):\n            metadata = metadata_from_connect(config[\"connect\"], name)\n            engine = metadata.bind\n            del config[\"connect\"]  # will pass metadata directly\n        else:\n            # No connection URL specified, let's create an adhoc SQLite DB\n            conn_url = get_adhoc_datasource_url(ds_name)\n            engine = sa.create_engine(\n                conn_url,\n                echo=False,\n                pool_pre_ping=True,\n                **get_engine_extra_kwargs(conn_url),\n            )\n            metadata = sa.MetaData()\n            metadata.bind = engine\n\n        for dt in datatables:\n            dt.to_sql(engine)\n            config.setdefault(\"tables\", {})[dt.fullname] = dt.table_config\n\n        reflect_metadata(metadata)\n        return cls(ds_name, metadata=metadata, config=config, nlp=nlp)\n\n    @classmethod\n    def from_data_file(\n        cls,\n        file,\n        primary_key,\n        ds_name=None,\n        schema=\"main\",\n        table_name=None,\n        # TODO infer table type from columns if not provided\n        table_type=\"metric\",\n        nlp=False,\n        **kwargs,\n    ):\n        \"\"\"Create a DataSource from a data file path/url that represents a single table\n\n        **Parameters:**\n\n        * **file** - (*str*) A file path/url pointing to a data file. If remote the\n        file will be downloaded to the adhoc data directory.\n        * **primary_key** - (*list of str*)  A list of fields representing the\n        primary key of the table\n        * **ds_name** - (*str, optional*) The name to give the datasource\n        * **schema** - (*str, optional*) The schema to create the table in\n        * **table_name** - (*str, optional*) The name to give the table. If blank it will be\n        derived from the file name.\n        * **table_type** - (*str, optional*) Specifies the TableType\n        * **kwargs** - (*dict, optional*) Additional keyword arguments to pass to\n        the the AdHocDataTable\n        * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        **Returns:**\n\n        (*DataSource*) - A DataSource created from the file data and config\n\n        \"\"\"\n        raiseifnot(schema, \"Schema must be specified\")\n        table_name = table_name or table_safe_name(entity_name_from_file(file))\n        table_config = dict(\n            data_url=file,\n            type=table_type,\n            primary_key=primary_key,\n            **kwargs,\n        )\n        dt = datatable_from_config(table_name, table_config, schema=schema)\n        return cls.from_datatables(ds_name, [dt], nlp=nlp)\n\n    @classmethod\n    def _check_or_create_name(cls, name):\n        \"\"\"Validate the datasource name or create one if necessary\"\"\"\n        if not name:\n            datestr = datetime.datetime.utcnow().strftime(\"%Y%m%d%H%M%S\")\n            name = \"zillion_ds_%s_%s\" % (datestr, random.randint(0, int(1e9)))\n            return name\n        raiseifnot(\n            set(name) <= DATASOURCE_NAME_ALLOWED_CHARS,\n            (\n                'DataSource name \"%s\" has invalid characters. Allowed: %s'\n                % (name, DATASOURCE_NAME_ALLOWED_CHARS_STR)\n            ),\n        )\n        return name\n\n\nclass AdHocDataTable(PrintMixin):\n    \"\"\"Create an adhoc table from raw data that can be added to a DataSource\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the table\n    * **data** - (*iterable, DataFrame, or str*) The data to create the adhoc\n    table from\n    * **table_type** - (*str*) Specify the TableType\n    * **columns** - (*dict, optional*) Column configuration for the table\n    * **primary_key** - (*list of str, optional*) A list of fields that make\n    up the primary key of the table\n    * **parent** - (*str, optional*) A reference to a parent table in the\n    same datasource\n    * **if_exists** - (*str, optional*) Control behavior when datatables\n    already exist in the database\n    * **drop_dupes** - (*bool, optional*) Drop duplicate primary key rows when\n    loading the table\n    * **convert_types** - (*dict, optional*) A mapping of column names to types\n    to convert to when loading the table. The types must be strings representing\n    valid sqlalchemy types. Ex: {\"col1\": \"date\", \"col2\": \"integer\"}\n    * **fillna_value** - (*str or int, optional*) Fill null values in primary\n    key columns with this value before writing to a SQL database.\n    * **schema** - (*str, optional*) The schema in which the table resides\n    * **kwargs** - Keyword arguments passed to\n    pandas.DataFrame.from_records if a DataFrame is created from iterable\n    data\n\n    \"\"\"\n\n    repr_attrs = [\"name\", \"primary_key\", \"table_config\"]\n\n    @initializer\n    def __init__(\n        self,\n        name,\n        data,\n        table_type,\n        columns=None,\n        primary_key=None,\n        parent=None,\n        if_exists=IfExistsModes.FAIL,\n        drop_dupes=False,\n        convert_types=None,\n        fillna_value=\"\",\n        use_full_column_names=False,\n        schema=None,\n        **kwargs,\n    ):\n        \"\"\"Initializes the datatable by parsing its config, but does not\n        actually add it to a particular DB yet. It is assumed the DataSource\n        will do that later.\n        \"\"\"\n        self.df_kwargs = kwargs or {}\n        self.fillna_value = fillna_value or \"\"\n\n        self.primary_key_columns = None\n        if primary_key:\n            if not columns:\n                # Assume specified primary key fields match column names\n                self.primary_key_columns = self.primary_key\n            else:\n                pk_columns = []\n                for pk in self.primary_key:\n                    found = False\n                    for column_name, column_config in columns.items():\n                        if pk in column_config.get(\"fields\", []):\n                            pk_columns.append(column_name)\n                            found = True\n                            break\n                    if not found:\n                        pk_columns.append(pk)\n                self.primary_key_columns = pk_columns\n\n        self.table_config = TableConfigSchema().load(\n            dict(\n                type=table_type,\n                columns=self.columns,\n                create_fields=True,\n                parent=parent,\n                if_exists=if_exists,\n                drop_dupes=drop_dupes,\n                convert_types=convert_types,\n                primary_key=primary_key,\n                use_full_column_names=use_full_column_names,\n            )\n        )\n\n    @property\n    def fullname(self):\n        \"\"\"Table full name\"\"\"\n        if self.schema:\n            return \"%s.%s\" % (self.schema, self.name)\n        return self.name\n\n    def get_dataframe(self):\n        \"\"\"Get the DataFrame representation of the data\"\"\"\n        if isinstance(self.data, pd.DataFrame):\n            return self.data\n\n        kwargs = self.df_kwargs.copy()\n        if self.columns:\n            kwargs[\"columns\"] = self.columns\n        return pd.DataFrame.from_records(\n            self.data, index=self.primary_key_columns, **kwargs\n        )\n\n    def table_exists(self, engine):\n        \"\"\"Determine if this table exists\"\"\"\n        return engine.has_table(self.name)\n\n    def to_sql(self, engine, method=\"multi\", chunksize=int(1e3)):\n        \"\"\"Use pandas to push the adhoc table data to a SQL database.\n\n        **Parameters:**\n\n        * **engine** - (*SQLAlchemy connection engine*) The engine used to\n        connect to the database\n        * **method** - (*str, optional*) Passed through to pandas\n        * **chunksize** - (*int, optional*) Passed through to pandas\n\n        \"\"\"\n        if_exists = self.if_exists\n        if sa.inspect(engine).has_table(self.name, schema=self.schema):\n            if if_exists == IfExistsModes.FAIL:\n                raise ValueError(f\"Table {self.fullname} already exists.\")\n            if if_exists == IfExistsModes.IGNORE:\n                return\n            if if_exists == IfExistsModes.REPLACE:\n                meta = sa.MetaData(bind=engine)\n                table = sa.Table(self.name, meta, schema=self.schema)\n                table.drop(engine, checkfirst=True)\n\n        df = self.get_dataframe()\n\n        if self.primary_key_columns:\n            if isinstance(df.index, pd.MultiIndex):\n                df.index = pd.MultiIndex.from_frame(\n                    df.index.to_frame().fillna(self.fillna_value)\n                )\n            else:\n                df.index = df.index.fillna(self.fillna_value)\n\n        if (not df.empty) and self.drop_dupes:\n            orig_len = len(df)\n            df = df[~df.reset_index().duplicated(subset=self.primary_key).values]\n            if len(df) != orig_len:\n                warn(\n                    \"DataFrame size dropped from %s to %s due to duplicates\"\n                    % (orig_len, len(df))\n                )\n\n        columns = []\n        # Handle columns from DataFrame\n        for c in df.columns:\n            col_type = (\n                self.convert_types.get(c)\n                if self.convert_types and c in self.convert_types\n                else str(df.dtypes[c])\n            )\n            columns.append(sa.Column(c, type_string_to_sa_type(col_type)))\n        # Handle index columns\n        if df.index.names[0] is not None:\n            for name, series in df.index.to_frame().items():\n                col_type = (\n                    self.convert_types.get(name)\n                    if self.convert_types and name in self.convert_types\n                    else str(series.dtype)\n                )\n                columns.append(sa.Column(name, type_string_to_sa_type(col_type)))\n\n        meta = sa.MetaData(bind=engine)\n        table = sa.Table(\n            self.name,\n            meta,\n            *columns,\n            sa.PrimaryKeyConstraint(*df.index.names, name=f\"pk_{self.name}\"),\n            schema=self.schema,\n        )\n\n        meta.create_all(engine, tables=[table], checkfirst=True)\n\n        # Insert the data into the table\n        with engine.connect() as connection:\n            raw_connection = connection.connection\n            cursor = raw_connection.cursor()\n\n            # Use backticks for MySQL, double quotes for SQLite\n            dialect_name = engine.dialect.name\n            if dialect_name == \"mysql\":\n                col_quote = lambda x: f\"`{x}`\"  # noqa: E731\n            else:\n                col_quote = lambda x: f'\"{x}\"'  # noqa: E731\n\n            cols = \",\".join([col_quote(c) for c in df.columns])\n            ix_cols = \",\".join([col_quote(i) for i in df.index.names if i is not None])\n            if ix_cols and cols:\n                cols = f\"{ix_cols},{cols}\"\n            elif ix_cols:\n                cols = f\"{ix_cols}\"\n            elif not cols:\n                raise ValueError(\"No columns found for SQL insert.\")\n\n            # Determine placeholder style based on dialect\n            dialect_name = engine.dialect.name\n            if dialect_name == \"sqlite\":\n                placeholder = \"?\"\n            else:\n                placeholder = \"%s\"\n            placeholders = \",\".join(\n                [placeholder] * (len(df.columns) + len(df.index.names))\n            )\n\n            sql = f\"INSERT INTO {self.fullname} ({cols}) VALUES ({placeholders})\"\n\n            data = [\n                tuple(row)\n                for row in df.reset_index().itertuples(index=False, name=None)\n            ]\n\n            cursor.executemany(sql, data)\n            raw_connection.commit()\n\n\nclass SQLiteDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from an existing sqlite database on the local filesystem\n\n    Note: the \"data\" param to AdHocDataTable is ignored. This is simply a\n    workaround to get an AdHocDataTable reference for an existing SQLite DB\n    without having to recreate anything from data.\n\n    \"\"\"\n\n    def get_dataframe(self):\n        raise NotImplementedError\n\n    def to_sql(self, engine, **kwargs):\n        raiseifnot(self.table_exists(engine), \"SQLiteDataTable table does not exist\")\n\n\nclass CSVDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from a JSON file using pandas.read_csv\"\"\"\n\n    def get_dataframe(self):\n        info(\"Reading CSV from %s\" % self.data)\n        return pd.read_csv(\n            self.data,\n            index_col=self.primary_key_columns,\n            usecols=list(self.columns.keys()) if self.columns else None,\n            **self.df_kwargs,\n        )\n\n\nclass ExcelDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from a JSON file using pandas.read_excel\"\"\"\n\n    def get_dataframe(self):\n        info(\"Reading Excel File from %s\" % self.data)\n        df = pd.read_excel(\n            self.data,\n            usecols=list(self.columns.keys()) if self.columns else None,\n            **self.df_kwargs,\n        )\n        if self.primary_key_columns and df.index.names != self.primary_key_columns:\n            df = df.set_index(self.primary_key_columns)\n        return df\n\n\nclass JSONDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from a JSON file using pandas.read_json\"\"\"\n\n    def get_dataframe(self, orient=\"table\"):\n        info(\"Reading JSON from %s\" % self.data)\n        df = pd.read_json(self.data, orient=orient, **self.df_kwargs)\n        if self.primary_key_columns and df.index.names != self.primary_key_columns:\n            df = df.set_index(self.primary_key_columns)\n        return df\n\n\nclass HTMLDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from an html table using pandas.read_html. By default it\n    expects a table in the same format as produced by:\n    `df.reset_index().to_html(\"table.html\", index=False)`\"\"\"\n\n    def get_dataframe(self):\n        info(\"Reading HTML from %s\" % self.data)\n        dfs = pd.read_html(self.data, **self.df_kwargs)\n        raiseifnot(dfs, \"No html table found\")\n        raiseifnot(len(dfs) == 1, \"More than one html table found\")\n        df = dfs[0]\n        if self.primary_key_columns and df.index.names != self.primary_key_columns:\n            df = df.set_index(self.primary_key_columns)\n        return df\n\n\nclass GoogleSheetsDataTable(AdHocDataTable):\n    \"\"\"AdHocDataTable from a google sheet. Parsed as a CSVDataTable.\"\"\"\n\n    def get_dataframe(self):\n        parsed = urlparse(self.data)\n        params = parse_qs(parsed.query)\n        if params.get(\"format\", None) == [\"csv\"]:\n            pass\n        elif parsed.path.endswith(\"/edit\"):\n            parsed = parsed._replace(\n                path=parsed.path.replace(\"/edit\", \"/export\"), query=\"format=csv\"\n            )\n            url = urlunparse(parsed)\n        else:\n            raise ZillionException(\"Unsupported google docs URL: %s\" % url)\n\n        info(\"Reading Google Sheets CSV from %s\" % url)\n        return pd.read_csv(\n            url,\n            index_col=self.primary_key_columns,\n            usecols=list(self.columns.keys()) if self.columns else None,\n            **self.df_kwargs,\n        )\n\n\ndef datatable_from_config(name, config, schema=None, **kwargs):\n    \"\"\"Factory to create an AdHocDataTable from a given config. The type of the\n    AdHocDataTable created will be inferred from the config[\"url\"] param.\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the table\n    * **config** - (*dict*) The configuration of the table\n    * **schema** - (*str, optional*) The schema in which the table resides\n    * **kwargs** - Passed to init of the particular AdHocDataTable class\n\n    **Returns:**\n\n    (*AdHocDataTable*) - Return the created AdHocDataTable (subclass)\n\n    \"\"\"\n    url = config[\"data_url\"]\n    if url.endswith(\"csv\"):\n        cls = CSVDataTable\n    elif url.endswith(\"xlsx\") or url.endswith(\"xls\"):\n        cls = ExcelDataTable\n    elif url.endswith(\"json\"):\n        cls = JSONDataTable\n    elif url.endswith(\"html\"):\n        cls = HTMLDataTable\n    elif \"docs.google.com\" in url:\n        cls = GoogleSheetsDataTable\n    else:\n        raise AssertionError(\"Unrecognized data url extension: %s\" % url)\n\n    kwargs.update(config.get(\"adhoc_table_options\", {}))\n\n    return cls(\n        name,\n        url,\n        config[\"type\"],\n        config.get(\"columns\", None),\n        primary_key=config.get(\"primary_key\", None),\n        parent=config.get(\"parent\", None),\n        if_exists=config.get(\"if_exists\", IfExistsModes.FAIL),\n        drop_dupes=config.get(\"drop_dupes\", False),\n        convert_types=config.get(\"convert_types\", None),\n        fillna_value=config.get(\"fillna_value\", None),\n        use_full_column_names=config.get(\"use_full_column_names\", False),\n        schema=schema,\n        **kwargs,\n    )\n"
  },
  {
    "path": "zillion/dialects/__init__.py",
    "content": "from .duckdb import *\nfrom .mysql import *\nfrom .postgresql import *\nfrom .sqlite import *\n"
  },
  {
    "path": "zillion/dialects/conversions.py",
    "content": "import sqlalchemy as sa\n\n\nclass DialectDateConversions:\n    @classmethod\n    def f(cls, func, i=0):\n        \"\"\"Generate a callable of a conversion function taking a specific index from\n        the input data\"\"\"\n        return lambda x, cls=cls, i=i: getattr(cls, func)(x[i])\n\n    @classmethod\n    def raw_value(cls, v):\n        return sa.literal(v)\n\n    @classmethod\n    def date_year_start(cls, v):\n        raise NotImplementedError\n\n    @classmethod\n    def date_year_plus_year(cls, v):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_year_end(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def date_month_start(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def date_month_plus_month(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_month_end(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def date_plus_day(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_day_end(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_hour_plus_hour(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_hour_end(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_minute_plus_minute(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def datetime_minute_end(cls, x):\n        raise NotImplementedError\n\n    @classmethod\n    def get_year_criteria_conversions(cls):\n        return {\n            \"=\": [\n                [\">=\", cls.f(\"date_year_start\")],\n                [\"<\", cls.f(\"date_year_plus_year\")],\n            ],\n            # NOTE: all of the conditions in the criteria replacement lists get AND'd together\n            # so we can't simply do \"x < 2020-01-01 or x >= 2021-01-01\"\n            \"!=\": [\n                [\"not between\", [cls.f(\"date_year_start\"), cls.f(\"datetime_year_end\")]]\n            ],\n            \">\": [[\">=\", cls.f(\"date_year_plus_year\")]],\n            \">=\": [[\">=\", cls.f(\"date_year_start\")]],\n            \"<\": [[\"<\", cls.f(\"date_year_start\")]],\n            \"<=\": [[\"<\", cls.f(\"date_year_plus_year\")]],\n            \"between\": [\n                [\">=\", cls.f(\"date_year_start\")],\n                [\"<\", cls.f(\"date_year_plus_year\", i=1)],\n            ],\n            \"not between\": [\n                [\n                    \"not between\",\n                    [cls.f(\"date_year_start\"), cls.f(\"datetime_year_end\", i=1)],\n                ]\n            ],\n        }\n\n    @classmethod\n    def get_month_criteria_conversions(cls):\n        return {\n            \"=\": [\n                [\">=\", cls.f(\"date_month_start\")],\n                [\"<\", cls.f(\"date_month_plus_month\")],\n            ],\n            \"!=\": [\n                [\n                    \"not between\",\n                    [cls.f(\"date_month_start\"), cls.f(\"datetime_month_end\")],\n                ]\n            ],\n            \">\": [[\">=\", cls.f(\"date_month_plus_month\")]],\n            \">=\": [[\">=\", cls.f(\"date_month_start\")]],\n            \"<\": [[\"<\", cls.f(\"date_month_start\")]],\n            \"<=\": [[\"<\", cls.f(\"date_month_plus_month\")]],\n            \"between\": [\n                [\">=\", cls.f(\"date_month_start\")],\n                [\"<\", cls.f(\"date_month_plus_month\", i=1)],\n            ],\n            \"not between\": [\n                [\n                    \"not between\",\n                    [cls.f(\"date_month_start\"), cls.f(\"datetime_month_end\", i=1)],\n                ]\n            ],\n        }\n\n    @classmethod\n    def get_date_criteria_conversions(cls):\n        return {\n            \"=\": [[\">=\", cls.f(\"raw_value\")], [\"<\", cls.f(\"date_plus_day\")]],\n            \"!=\": [[\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_day_end\")]]],\n            \">\": [[\">=\", cls.f(\"date_plus_day\")]],\n            \">=\": [[\">=\", cls.f(\"raw_value\")]],\n            \"<\": [[\"<\", cls.f(\"raw_value\")]],\n            \"<=\": [[\"<\", cls.f(\"date_plus_day\")]],\n            \"between\": [[\">=\", cls.f(\"raw_value\")], [\"<\", cls.f(\"date_plus_day\", i=1)]],\n            \"not between\": [\n                [\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_day_end\", i=1)]]\n            ],\n        }\n\n    @classmethod\n    def get_hour_criteria_conversions(cls):\n        return {\n            \"=\": [[\">=\", cls.f(\"raw_value\")], [\"<\", cls.f(\"datetime_hour_plus_hour\")]],\n            \"!=\": [[\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_hour_end\")]]],\n            \">\": [[\">=\", cls.f(\"datetime_hour_plus_hour\")]],\n            \">=\": [[\">=\", cls.f(\"raw_value\")]],\n            \"<\": [[\"<\", cls.f(\"raw_value\")]],\n            \"<=\": [[\"<\", cls.f(\"datetime_hour_plus_hour\")]],\n            \"between\": [\n                [\">=\", cls.f(\"raw_value\")],\n                [\"<\", cls.f(\"datetime_hour_plus_hour\", i=1)],\n            ],\n            \"not between\": [\n                [\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_hour_end\", i=1)]]\n            ],\n        }\n\n    @classmethod\n    def get_minute_criteria_conversions(cls):\n        return {\n            \"=\": [\n                [\">=\", cls.f(\"raw_value\")],\n                [\"<\", cls.f(\"datetime_minute_plus_minute\")],\n            ],\n            \"!=\": [[\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_minute_end\")]]],\n            \">\": [[\">=\", cls.f(\"datetime_minute_plus_minute\")]],\n            \">=\": [[\">=\", cls.f(\"raw_value\")]],\n            \"<\": [[\"<\", cls.f(\"raw_value\")]],\n            \"<=\": [[\"<\", cls.f(\"datetime_minute_plus_minute\")]],\n            \"between\": [\n                [\">=\", cls.f(\"raw_value\")],\n                [\"<\", cls.f(\"datetime_minute_plus_minute\", i=1)],\n            ],\n            \"not between\": [\n                [\"not between\", [cls.f(\"raw_value\"), cls.f(\"datetime_minute_end\", i=1)]]\n            ],\n        }\n\n    @classmethod\n    def get_datetime_criteria_conversions(cls):\n        return {\n            \"=\": [[\"=\", cls.f(\"raw_value\")]],\n            \"!=\": [[\"!=\", cls.f(\"raw_value\")]],\n            \">\": [[\">\", cls.f(\"raw_value\")]],\n            \">=\": [[\">=\", cls.f(\"raw_value\")]],\n            \"<\": [[\"<\", cls.f(\"raw_value\")]],\n            \"<=\": [[\"<=\", cls.f(\"raw_value\")]],\n            \"between\": [[\"between\", [cls.f(\"raw_value\"), cls.f(\"raw_value\", i=1)]]],\n            \"not between\": [\n                [\"not between\", [cls.f(\"raw_value\"), cls.f(\"raw_value\", i=1)]]\n            ],\n        }\n"
  },
  {
    "path": "zillion/dialects/duckdb.py",
    "content": "import sys\nimport sqlalchemy as sa\nfrom sqlalchemy import func\nfrom sqlalchemy.dialects.postgresql import DATE, TIMESTAMP\nfrom sqlalchemy.sql.elements import Grouping\nfrom tlbx import st\n\nfrom zillion.dialects.conversions import DialectDateConversions\n\n# Have to add all the sa.literals to avoid compile errors while printing\n# queries: https://github.com/sqlalchemy/sqlalchemy/issues/5859\n\n\nclass DuckDBDialectDateConversions(DialectDateConversions):\n    @classmethod\n    def date_year_start(cls, x):\n        return func.CAST(sa.literal(str(x) + \"-01-01\"), DATE)\n\n    @classmethod\n    def date_year_plus_year(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x) + \"-01-01\"), DATE) + func.to_years(1)\n        )\n\n    @classmethod\n    def datetime_year_end(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x) + \"-01-01\"), TIMESTAMP)\n            + func.to_years(1)\n            - func.to_seconds(1)\n        )\n\n    @classmethod\n    def date_month_start(cls, x):\n        if sys.version_info >= (3, 12):\n            return func.CAST(sa.literal(str(x) + \"-01\"), DATE)\n        return func.strftime(func.CAST(sa.literal(str(x) + \"-01\"), DATE), \"%Y-%m\")\n\n    @classmethod\n    def date_month_plus_month(cls, x):\n        if sys.version_info >= (3, 12):\n            return Grouping(\n                func.CAST(sa.literal(str(x) + \"-01\"), DATE) + func.to_months(1)\n            )\n        return func.strftime(\n            func.CAST(sa.literal(str(x) + \"-01\"), DATE) + func.to_months(1), \"%Y-%m\"\n        )\n\n    @classmethod\n    def datetime_month_end(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x) + \"-01\"), TIMESTAMP)\n            + func.to_months(1)\n            - func.to_seconds(1)\n        )\n\n    @classmethod\n    def date_plus_day(cls, x):\n        return Grouping(func.CAST(sa.literal(str(x)), DATE) + func.to_days(1))\n\n    @classmethod\n    def datetime_day_end(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x)), TIMESTAMP)\n            + func.to_days(1)\n            - func.to_seconds(1)\n        )\n\n    @classmethod\n    def datetime_hour_plus_hour(cls, x):\n        return Grouping(func.CAST(sa.literal(str(x)), TIMESTAMP) + func.to_hours(1))\n\n    @classmethod\n    def datetime_hour_end(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x)), TIMESTAMP)\n            + func.to_hours(1)\n            - func.to_seconds(1)\n        )\n\n    @classmethod\n    def datetime_minute_plus_minute(cls, x):\n        return Grouping(func.CAST(sa.literal(str(x)), TIMESTAMP) + func.to_minutes(1))\n\n    @classmethod\n    def datetime_minute_end(cls, x):\n        return Grouping(\n            func.CAST(sa.literal(str(x)), TIMESTAMP)\n            + func.to_minutes(1)\n            - func.to_seconds(1)\n        )\n\n\nDUCKDB_DIALECT_CONVERSIONS = {\n    \"year\": {\n        \"ds_formula\": \"EXTRACT(YEAR FROM {})\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_year_criteria_conversions(),\n    },\n    \"quarter\": \"strftime({}, '%Y-Q')  || date_part('quarter', {})\",\n    \"quarter_of_year\": \"EXTRACT(QUARTER FROM {})\",\n    \"month\": {\n        \"ds_formula\": \"strftime({}, '%Y-%m')\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_month_criteria_conversions(),\n    },\n    \"month_name\": \"strftime({}, '%B')\",\n    \"month_of_year\": \"EXTRACT(MONTH FROM {})\",\n    \"week\": \"strftime({}, '%Y-W')  || EXTRACT(WEEK FROM {})\",\n    \"week_of_month\": \"EXTRACT(WEEK FROM {}) - EXTRACT(WEEK FROM CAST(DATE_TRUNC('month', {}) as date)) + 1\",\n    \"week_of_year\": \"EXTRACT(WEEK FROM {})\",  # HACK: attempt to get tests compatible with mysql and sqlite\n    \"period_of_month_7d\": \"FLOOR((EXTRACT(DAY FROM {}) - 1) / 7) + 1\",\n    \"date\": {\n        \"ds_formula\": \"strftime({}, '%Y-%m-%d')\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_date_criteria_conversions(),\n    },\n    \"day_name\": \"strftime({}, '%A')\",\n    \"day_of_week\": \"EXTRACT(ISODOW FROM {})\",  # Monday = 1\n    \"is_weekday\": (\n        \"CASE EXTRACT(ISODOW FROM {}) \"\n        \"WHEN 1 THEN 1 \"\n        \"WHEN 2 THEN 1 \"\n        \"WHEN 3 THEN 1 \"\n        \"WHEN 4 THEN 1 \"\n        \"WHEN 5 THEN 1 \"\n        \"WHEN 6 THEN 0 \"\n        \"WHEN 7 THEN 0 \"\n        \"ELSE NULL \"\n        \"END\"\n    ),\n    \"day_of_month\": \"EXTRACT(DAY FROM {})\",\n    \"day_of_year\": \"EXTRACT(DOY FROM {})\",\n    \"hour\": {\n        \"ds_formula\": \"strftime({}, '%Y-%m-%d %H:00:00')\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_hour_criteria_conversions(),\n    },\n    \"hour_of_day\": \"EXTRACT(HOUR FROM {})\",\n    \"minute\": {\n        \"ds_formula\": \"strftime({}, '%Y-%m-%d %H:%M:00')\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_minute_criteria_conversions(),\n    },\n    \"minute_of_hour\": \"EXTRACT(MINUTE FROM {})\",\n    \"datetime\": {\n        \"ds_formula\": \"strftime({}, '%Y-%m-%d %H:%M:%S')\",\n        \"ds_criteria_conversions\": DuckDBDialectDateConversions.get_datetime_criteria_conversions(),\n    },\n    \"unixtime\": \"EXTRACT(epoch from {})\",\n}\n"
  },
  {
    "path": "zillion/dialects/mysql.py",
    "content": "from sqlalchemy import func, text\n\nfrom zillion.dialects.conversions import DialectDateConversions\n\n\nclass MySQLDialectDateConversions(DialectDateConversions):\n    @classmethod\n    def date_year_start(cls, x):\n        return func.CONCAT(x, \"-01-01\")\n\n    @classmethod\n    def date_year_plus_year(cls, x):\n        return func.DATE_ADD(str(x) + \"-01-01\", text(\"INTERVAL 1 YEAR\"))\n\n    @classmethod\n    def datetime_year_end(cls, x):\n        return func.DATE_SUB(\n            func.DATE_ADD(str(x) + \"-01-01\", text(\"INTERVAL 1 YEAR\")),\n            text(\"INTERVAL 1 SECOND\"),\n        )\n\n    @classmethod\n    def date_month_start(cls, x):\n        return func.CONCAT(x, \"-01\")\n\n    @classmethod\n    def date_month_plus_month(cls, x):\n        return func.DATE_ADD(str(x) + \"-01\", text(\"INTERVAL 1 MONTH\"))\n\n    @classmethod\n    def datetime_month_end(cls, x):\n        return func.DATE_SUB(\n            func.DATE_ADD(str(x) + \"-01\", text(\"INTERVAL 1 MONTH\")),\n            text(\"INTERVAL 1 SECOND\"),\n        )\n\n    @classmethod\n    def date_plus_day(cls, x):\n        return func.DATE_ADD(x, text(\"INTERVAL 1 DAY\"))\n\n    @classmethod\n    def datetime_day_end(cls, x):\n        return func.DATE_SUB(\n            func.DATE_ADD(x, text(\"INTERVAL 1 DAY\")), text(\"INTERVAL 1 SECOND\")\n        )\n\n    @classmethod\n    def datetime_hour_plus_hour(cls, x):\n        return func.DATE_ADD(x, text(\"INTERVAL 1 HOUR\"))\n\n    @classmethod\n    def datetime_hour_end(cls, x):\n        return func.DATE_SUB(\n            func.DATE_ADD(x, text(\"INTERVAL 1 HOUR\")), text(\"INTERVAL 1 SECOND\")\n        )\n\n    @classmethod\n    def datetime_minute_plus_minute(cls, x):\n        return func.DATE_ADD(x, text(\"INTERVAL 1 MINUTE\"))\n\n    @classmethod\n    def datetime_minute_end(cls, x):\n        return func.DATE_SUB(\n            func.DATE_ADD(x, text(\"INTERVAL 1 MINUTE\")), text(\"INTERVAL 1 SECOND\")\n        )\n\n\nMYSQL_DIALECT_CONVERSIONS = {\n    \"year\": {\n        \"ds_formula\": \"EXTRACT(YEAR FROM {})\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_year_criteria_conversions(),\n    },\n    \"quarter\": \"CONCAT(YEAR({}), '-Q', QUARTER({}))\",\n    \"quarter_of_year\": \"EXTRACT(QUARTER FROM {})\",\n    \"month\": {\n        \"ds_formula\": \"DATE_FORMAT({}, '%Y-%m')\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_month_criteria_conversions(),\n    },\n    \"month_name\": \"MONTHNAME({})\",\n    \"month_of_year\": \"EXTRACT(MONTH FROM {})\",\n    \"week\": \"CONCAT(YEAR({}), '-W', LPAD(WEEK({}, 1), 2, '0'))\",\n    \"week_of_month\": \"WEEK({}, 1) - WEEK(DATE_FORMAT({},'%Y-%m-01'), 1) + 1\",\n    \"week_of_year\": \"WEEK({}, 1)\",  # Monday week start\n    \"period_of_month_7d\": \"FLOOR((DAYOFMONTH({}) - 1) / 7) + 1\",\n    \"date\": {\n        \"ds_formula\": \"DATE_FORMAT({}, '%Y-%m-%d')\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_date_criteria_conversions(),\n    },\n    \"day_name\": \"DAYNAME({})\",\n    \"day_of_week\": \"WEEKDAY({}) + 1\",  # Monday = 1\n    \"is_weekday\": \"IF((WEEKDAY({}) + 1) < 6, 1, 0)\",  # Monday = 1\n    \"day_of_month\": \"EXTRACT(DAY FROM {})\",\n    \"day_of_year\": \"DAYOFYEAR({})\",\n    \"hour\": {\n        \"ds_formula\": \"DATE_FORMAT({}, '%Y-%m-%d %H:00:00')\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_hour_criteria_conversions(),\n    },\n    \"hour_of_day\": \"EXTRACT(HOUR FROM {})\",\n    \"minute\": {\n        \"ds_formula\": \"DATE_FORMAT({}, '%Y-%m-%d %H:%i:00')\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_minute_criteria_conversions(),\n    },\n    \"minute_of_hour\": \"EXTRACT(MINUTE FROM {})\",\n    \"datetime\": {\n        \"ds_formula\": \"DATE_FORMAT({}, '%Y-%m-%d %H:%i:%S')\",\n        \"ds_criteria_conversions\": MySQLDialectDateConversions.get_datetime_criteria_conversions(),\n    },\n    \"unixtime\": \"UNIX_TIMESTAMP({})\",\n}\n"
  },
  {
    "path": "zillion/dialects/postgresql.py",
    "content": "from sqlalchemy import func, text\nfrom sqlalchemy.dialects.postgresql import INTERVAL\nfrom sqlalchemy.sql.functions import concat\n\nfrom zillion.dialects.conversions import DialectDateConversions\n\n\ndef get_interval(n, t):\n    return func.cast(concat(n, f\" {t}\"), INTERVAL)\n\n\nclass PostgreSQLDialectDateConversions(DialectDateConversions):\n    @classmethod\n    def date_year_start(cls, x):\n        return func.TO_DATE(str(x) + \"-01-01\", \"YYYY-MM-DD\")\n\n    @classmethod\n    def date_year_plus_year(cls, x):\n        return func.TO_DATE(str(x) + \"-01-01\", \"YYYY-MM-DD\") + get_interval(1, \"YEARS\")\n\n    @classmethod\n    def datetime_year_end(cls, x):\n        return (\n            func.TO_DATE(str(x) + \"-01-01\", \"YYYY-MM-DD\")\n            + get_interval(1, \"YEARS\")\n            - get_interval(1, \"SECONDS\")\n        )\n\n    @classmethod\n    def date_month_start(cls, x):\n        return func.TO_DATE(str(x) + \"-01\", \"YYYY-MM\")\n\n    @classmethod\n    def date_month_plus_month(cls, x):\n        return func.TO_DATE(str(x) + \"-01\", \"YYYY-MM\") + get_interval(1, \"MONTHS\")\n\n    @classmethod\n    def datetime_month_end(cls, x):\n        return (\n            func.TO_DATE(str(x) + \"-01\", \"YYYY-MM\")\n            + get_interval(1, \"MONTHS\")\n            - get_interval(1, \"SECONDS\")\n        )\n\n    @classmethod\n    def date_plus_day(cls, x):\n        return func.TO_DATE(x, \"YYYY-MM-DD\") + get_interval(1, \"DAYS\")\n\n    @classmethod\n    def datetime_day_end(cls, x):\n        return (\n            func.TO_DATE(x, \"YYYY-MM-DD\")\n            + get_interval(1, \"DAYS\")\n            - get_interval(1, \"SECONDS\")\n        )\n\n    @classmethod\n    def datetime_hour_plus_hour(cls, x):\n        return func.TO_TIMESTAMP(x, \"YYYY-MM-DD HH24:MI:SS\") + get_interval(1, \"HOURS\")\n\n    @classmethod\n    def datetime_hour_end(cls, x):\n        return (\n            func.TO_TIMESTAMP(x, \"YYYY-MM-DD HH24:MI:SS\")\n            + get_interval(1, \"HOURS\")\n            - get_interval(1, \"SECONDS\")\n        )\n\n    @classmethod\n    def datetime_minute_plus_minute(cls, x):\n        return func.TO_TIMESTAMP(x, \"YYYY-MM-DD HH24:MI:SS\") + get_interval(\n            1, \"MINUTES\"\n        )\n\n    @classmethod\n    def datetime_minute_end(cls, x):\n        return (\n            func.TO_TIMESTAMP(x, \"YYYY-MM-DD HH24:MI:SS\")\n            + get_interval(1, \"MINUTES\")\n            - get_interval(1, \"SECONDS\")\n        )\n\n\nPOSTGRESQL_DIALECT_CONVERSIONS = {\n    \"year\": {\n        \"ds_formula\": \"EXTRACT(YEAR FROM {})\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_year_criteria_conversions(),\n    },\n    \"quarter\": \"TO_CHAR({}, 'FMYYYY-\\\"Q\\\"Q')\",\n    \"quarter_of_year\": \"EXTRACT(QUARTER FROM {})\",\n    \"month\": {\n        \"ds_formula\": \"TO_CHAR({}, 'FMYYYY-MM')\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_month_criteria_conversions(),\n    },\n    \"month_name\": \"TO_CHAR({}, 'FMMonth')\",\n    \"month_of_year\": \"EXTRACT(MONTH FROM {})\",\n    \"week\": \"TO_CHAR({}, 'FMYYYY-\\\"W\\\"IW')\",\n    \"week_of_month\": \"EXTRACT(WEEK FROM {}) - EXTRACT(WEEK FROM CAST(DATE_TRUNC('month', {}) as date)) + 1\",\n    \"week_of_year\": \"EXTRACT(WEEK FROM {})\",  # HACK: attempt to get tests compatible with mysql and sqlite\n    \"period_of_month_7d\": \"FLOOR((EXTRACT(DAY FROM {}) - 1) / 7) + 1\",\n    \"date\": {\n        \"ds_formula\": \"TO_CHAR({}, 'FMYYYY-MM-DD')\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_date_criteria_conversions(),\n    },\n    \"day_name\": \"TO_CHAR({}, 'FMDay')\",\n    \"day_of_week\": \"EXTRACT(ISODOW FROM {})\",  # Monday = 1\n    \"is_weekday\": (\n        \"CASE EXTRACT(ISODOW FROM {}) \"\n        \"WHEN 1 THEN 1 \"\n        \"WHEN 2 THEN 1 \"\n        \"WHEN 3 THEN 1 \"\n        \"WHEN 4 THEN 1 \"\n        \"WHEN 5 THEN 1 \"\n        \"WHEN 6 THEN 0 \"\n        \"WHEN 7 THEN 0 \"\n        \"ELSE NULL \"\n        \"END\"\n    ),\n    \"day_of_month\": \"EXTRACT(DAY FROM {})\",\n    \"day_of_year\": \"EXTRACT(DOY FROM {})\",\n    \"hour\": {\n        \"ds_formula\": \"TO_CHAR({}, 'FMYYYY-MM-DD HH24:00:00')\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_hour_criteria_conversions(),\n    },\n    \"hour_of_day\": \"EXTRACT(HOUR FROM {})\",\n    \"minute\": {\n        \"ds_formula\": \"TO_CHAR({}, 'FMYYYY-MM-DD HH24:MI:00')\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_minute_criteria_conversions(),\n    },\n    \"minute_of_hour\": \"EXTRACT(MINUTE FROM {})\",\n    \"datetime\": {\n        \"ds_formula\": \"TO_CHAR({}, 'FMYYYY-MM-DD HH24:MI:SS')\",\n        \"ds_criteria_conversions\": PostgreSQLDialectDateConversions.get_datetime_criteria_conversions(),\n    },\n    \"unixtime\": \"EXTRACT(epoch from {})\",\n}\n"
  },
  {
    "path": "zillion/dialects/sqlite.py",
    "content": "from sqlalchemy import func\nfrom tlbx import st\n\nfrom zillion.dialects.conversions import DialectDateConversions\n\n\nclass SQLiteDialectDateConversions(DialectDateConversions):\n    @classmethod\n    def date_year_start(cls, x):\n        return func.DATE(str(x) + \"-01-01\")\n\n    @classmethod\n    def date_year_plus_year(cls, x):\n        return func.DATE(str(x) + \"-01-01\", \"+1 year\")\n\n    @classmethod\n    def datetime_year_end(cls, x):\n        return func.DATETIME(str(x) + \"-01-01\", \"+1 year\", \"-1 second\")\n\n    @classmethod\n    def date_month_start(cls, x):\n        return func.DATE(str(x) + \"-01\")\n\n    @classmethod\n    def date_month_plus_month(cls, x):\n        return func.DATE(str(x) + \"-01\", \"+1 month\")\n\n    @classmethod\n    def datetime_month_end(cls, x):\n        return func.DATETIME(str(x) + \"-01\", \"+1 month\", \"-1 second\")\n\n    @classmethod\n    def date_plus_day(cls, x):\n        return func.DATE(x, \"+1 day\")\n\n    @classmethod\n    def datetime_day_end(cls, x):\n        return func.DATETIME(x, \"+1 day\", \"-1 second\")\n\n    @classmethod\n    def datetime_hour_plus_hour(cls, x):\n        return func.DATETIME(x, \"+1 hour\")\n\n    @classmethod\n    def datetime_hour_end(cls, x):\n        return func.DATETIME(x, \"+1 hour\", \"-1 second\")\n\n    @classmethod\n    def datetime_minute_plus_minute(cls, x):\n        return func.DATETIME(x, \"+1 minute\")\n\n    @classmethod\n    def datetime_minute_end(cls, x):\n        return func.DATETIME(x, \"+1 minute\", \"-1 second\")\n\n\nSQLITE_DIALECT_CONVERSIONS = {\n    \"year\": {\n        \"ds_formula\": \"cast(strftime('%Y', {}) as integer)\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_year_criteria_conversions(),\n    },\n    \"quarter\": \"strftime('%Y', {}) || '-Q' || ((cast(strftime('%m', {}) as integer) + 2) / 3)\",  # 2020-Q1\n    \"quarter_of_year\": \"(cast(strftime('%m', {}) as integer) + 2) / 3\",\n    \"month\": {\n        \"ds_formula\": \"strftime('%Y-%m', {})\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_month_criteria_conversions(),\n    },\n    \"month_name\": (\n        \"CASE strftime('%m', {}) \"\n        \"WHEN '01' THEN 'January' \"\n        \"WHEN '02' THEN 'February' \"\n        \"WHEN '03' THEN 'March' \"\n        \"WHEN '04' THEN 'April' \"\n        \"WHEN '05' THEN 'May' \"\n        \"WHEN '06' THEN 'June' \"\n        \"WHEN '07' THEN 'July' \"\n        \"WHEN '08' THEN 'August' \"\n        \"WHEN '09' THEN 'September' \"\n        \"WHEN '10' THEN 'October' \"\n        \"WHEN '11' THEN 'November' \"\n        \"WHEN '12' THEN 'December' \"\n        \"ELSE NULL \"\n        \"END\"\n    ),\n    \"month_of_year\": \"cast(strftime('%m', {}) as integer)\",\n    \"week\": \"strftime('%Y', {}) || '-W' || printf('%02d', cast(strftime('%W', {}) as integer) + 1)\",\n    \"week_of_month\": \"cast(strftime('%W', {}) as integer) - cast(strftime('%W', strftime('%Y-%m-01', {})) as integer) + 1\",\n    \"week_of_year\": \"cast(strftime('%W', {}) as integer)+1\",\n    \"period_of_month_7d\": \"cast((cast(strftime('%d', {}) as integer) - 1) / 7 as integer) + 1\",\n    \"date\": {\n        \"ds_formula\": \"strftime('%Y-%m-%d', {})\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_date_criteria_conversions(),\n    },\n    \"day_name\": (\n        \"CASE cast(strftime('%w', {}) as integer) \"\n        \"WHEN 0 THEN 'Sunday' \"\n        \"WHEN 1 THEN 'Monday' \"\n        \"WHEN 2 THEN 'Tuesday' \"\n        \"WHEN 3 THEN 'Wednesday' \"\n        \"WHEN 4 THEN 'Thursday' \"\n        \"WHEN 5 THEN 'Friday' \"\n        \"WHEN 6 THEN 'Saturday' \"\n        \"ELSE NULL \"\n        \"END\"\n    ),\n    \"day_of_week\": \"(cast(strftime('%w', {}) as integer) + 6) % 7 + 1\",  # Convert to Monday = 1\n    \"is_weekday\": (\n        \"CASE cast(strftime('%w', {}) as integer) \"\n        \"WHEN 0 THEN 0 \"\n        \"WHEN 1 THEN 1 \"\n        \"WHEN 2 THEN 1 \"\n        \"WHEN 3 THEN 1 \"\n        \"WHEN 4 THEN 1 \"\n        \"WHEN 5 THEN 1 \"\n        \"WHEN 6 THEN 0 \"\n        \"ELSE NULL \"\n        \"END\"\n    ),\n    \"day_of_month\": \"cast(strftime('%d', {}) as integer)\",\n    \"day_of_year\": \"cast(strftime('%j', {}) as integer)\",\n    \"hour\": {\n        \"ds_formula\": \"strftime('%Y-%m-%d %H:00:00', {})\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_hour_criteria_conversions(),\n    },\n    \"hour_of_day\": \"cast(strftime('%H', {}) as integer)\",\n    \"minute\": {\n        \"ds_formula\": \"strftime('%Y-%m-%d %H:%M:00', {})\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_minute_criteria_conversions(),\n    },\n    \"minute_of_hour\": \"cast(strftime('%M', {}) as integer)\",\n    \"datetime\": {\n        \"ds_formula\": \"strftime('%Y-%m-%d %H:%M:%S', {})\",\n        \"ds_criteria_conversions\": SQLiteDialectDateConversions.get_datetime_criteria_conversions(),\n    },\n    \"unixtime\": \"cast(strftime('%s', {}) as integer)\",\n}\n"
  },
  {
    "path": "zillion/field.py",
    "content": "import sqlalchemy as sa\n\nfrom zillion.configs import (\n    ConfigMixin,\n    FieldConfigSchema,\n    FormulaFieldConfigSchema,\n    MetricConfigSchema,\n    FormulaMetricConfigSchema,\n    DimensionConfigSchema,\n    AdHocMetricSchema,\n    AdHocFieldSchema,\n    create_technical,\n    is_active,\n    default_field_display_name,\n)\nfrom zillion.core import *\nfrom zillion.dialects import *\nfrom zillion.model import zillion_engine, DimensionValues\nfrom zillion.sql_utils import (\n    aggregation_to_sqla_func,\n    contains_aggregation,\n    contains_sql_keywords,\n    type_string_to_sa_type,\n    to_generic_sa_type,\n    sqla_compile,\n    column_fullname,\n)\n\n\nMAX_FORMULA_DEPTH = 5\n# This default warehouse ID is used if no ID has been populated\n# on the Warehouse when checking dimension values.\nFIELD_VALUE_DEFAULT_WAREHOUSE_ID = 0\nFIELD_VALUE_CHECK_OPERATIONS = set([\"=\", \"!=\", \"in\", \"not in\"])\n\n\nclass Field(ConfigMixin, PrintMixin):\n    \"\"\"Represents the concept a column is capturing, which may be shared by\n    columns in other tables or datasources. For example, you may have a several\n    columns in your databases/tables that represent the concept of \"revenue\". In\n    other words, a column is like an instance of a Field.\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the field\n    * **type** - (*str or SQLAlchemy type*) The column type for the field.\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **kwargs** - Additional attributes stored on the field object\n\n    **Attributes:**\n\n    * **name** - (*str*) The name of the field\n    * **type** - (*str*) A string representing the generic SQLAlchemy type\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **sa_type** - (*SQLAlchemy type*) If a dialect-specific type object\n    is passed in on init it will be coerced to a generic type.\n    * **field_type** - (*str*) A valid FieldType string\n    * **schema** - (*Marshmallow schema*) A FieldConfigSchema class\n\n    \"\"\"\n\n    repr_attrs = [\"name\", \"type\"]\n    field_type = None\n    schema = FieldConfigSchema\n\n    @initializer\n    def __init__(\n        self, name, type, display_name=None, description=None, meta=None, **kwargs\n    ):\n        self.sa_type = None\n        if isinstance(type, str):\n            self.sa_type = type_string_to_sa_type(type)\n        elif type:\n            self.sa_type = to_generic_sa_type(type)\n            self.type = repr(self.sa_type)\n        # This will do schema validation\n        super().__init__()\n\n    def copy(self):\n        \"\"\"Copy this field\"\"\"\n        return self.__class__.from_config(self.to_config())\n\n    def get_all_raw_fields(self, warehouse, adhoc_fms=None):\n        \"\"\"Get all raw fields involved in calculating this field.\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*set*) - The set of all raw fields that make up this field.\n\n        \"\"\"\n        res, _ = self.get_formula_fields(warehouse, adhoc_fms=adhoc_fms)\n        if not res:\n            res = {self.name}\n        return res\n\n    def get_formula_fields(self, warehouse, depth=0, adhoc_fms=None):\n        \"\"\"Get the fields that are part of this field's formula\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **depth** - (*int, optional*) Track the depth of recursion into the\n        formula\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*set, str*) - The set of all base fields involved in the formula\n        calculation, as well as an expanded version of the formula. All fields\n        in the expanded formula should be raw fields (i.e. not formula\n        fields).\n\n        \"\"\"\n        return None, None\n\n    def get_ds_expression(self, column, label=True, ignore_formula=False):\n        \"\"\"Get the datasource-level sql expression for this field\n\n        **Parameters:**\n\n        * **column** - (*Column*) A SQLAlchemy column that supports this field\n        * **label** - (*bool, optional*) If true, label the expression with the\n        field name\n        * **ignore_formula** - (*bool, optional*) If true, don't apply any available\n        datasource formulas\n\n        \"\"\"\n        ds_formula = column.zillion.field_ds_formula(self.name)\n        if ignore_formula or (not ds_formula):\n            if label:\n                return column.label(self.name)\n            return column\n\n        if contains_sql_keywords(ds_formula):\n            raise DisallowedSQLException(\n                \"Formula contains disallowed sql: %s\" % ds_formula\n            )\n\n        if not (ds_formula.startswith(\"(\") and ds_formula.endswith(\"(\")):\n            ds_formula = \"(\" + ds_formula + \")\"\n\n        if label:\n            return sa.literal_column(ds_formula).label(self.name)\n        return sa.literal_column(ds_formula)\n\n    def get_final_select_clause(self, *args, **kwargs):\n        \"\"\"The sql clause used when selecting at the combined query layer\"\"\"\n        return self.name\n\n    # https://stackoverflow.com/questions/2909106/whats-a-correct-and-good-way-to-implement-hash\n\n    def __key(self):\n        return self.name\n\n    def __hash__(self):\n        return hash(self.__key())\n\n    def __eq__(self, other):\n        return isinstance(self, type(other)) and self.__key() == other.__key()\n\n\nclass Metric(Field):\n    \"\"\"Fields that represent values to be measured and possibly broken down\n    along Dimensions\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the field\n    * **type** - (*str or SQLAlchemy type*) The column type for the field\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **aggregation** - (*str, optional*) The AggregationType to apply to the\n    metric\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round to\n    * **weighting_metric** - (*str, optional*) A reference to a metric to use\n    for weighting when aggregating averages\n    * **technical** - (*object, optional*) A Technical object or definition used\n    to defined a technical computation to be applied to the metric\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report that\n    aims to include this metric.\n    * **ifnull** - (*float, optional*) A numeric value to use in place of NULLs\n    in the Combined Layer query.\n    * **kwargs** - kwargs passed to super class\n\n    \"\"\"\n\n    field_type = FieldTypes.METRIC\n    schema = MetricConfigSchema\n\n    def __init__(\n        self,\n        name,\n        type,\n        display_name=None,\n        description=None,\n        meta=None,\n        aggregation=AggregationTypes.SUM,\n        rounding=None,\n        weighting_metric=None,\n        technical=None,\n        required_grain=None,\n        ifnull=None,\n        **kwargs,\n    ):\n        if weighting_metric:\n            raiseifnot(\n                aggregation == AggregationTypes.MEAN,\n                'Weighting metrics are only supported for \"%s\" aggregation type'\n                % AggregationTypes.MEAN,\n            )\n\n        if technical:\n            technical = create_technical(technical)\n\n        super(Metric, self).__init__(\n            name,\n            type,\n            display_name=display_name,\n            description=description,\n            meta=meta,\n            aggregation=aggregation,\n            rounding=rounding,\n            weighting_metric=weighting_metric,\n            technical=technical,\n            required_grain=required_grain,\n            ifnull=ifnull,\n            **kwargs,\n        )\n\n    def get_all_raw_fields(self, warehouse, adhoc_fms=None):\n        \"\"\"Get all raw fields involved in calculating this field.\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*set*) - The set of all raw fields that make up this field.\n\n        \"\"\"\n        res, _ = self.get_formula_fields(warehouse, adhoc_fms=adhoc_fms)\n        if not res:\n            res = {self.name}\n        if self.weighting_metric:\n            weighting_field = warehouse.get_field(self.weighting_metric)\n            res |= weighting_field.get_all_raw_fields(warehouse, adhoc_fms=adhoc_fms)\n        return res\n\n    def get_ds_expression(self, column, label=True):\n        \"\"\"Get the datasource-level sql expression for this metric\n\n        **Parameters:**\n\n        * **column** - (*Column*) A SQLAlchemy column that supports this metric\n        * **label** - (*bool, optional*) If true, label the expression with the\n        field name\n\n        \"\"\"\n        expr = column\n        aggr = aggregation_to_sqla_func(self.aggregation)\n        skip_aggr = False\n\n        ds_formula = column.zillion.field_ds_formula(self.name)\n\n        if ds_formula:\n            if contains_sql_keywords(ds_formula):\n                raise DisallowedSQLException(\n                    \"Formula contains disallowed sql: %s\" % ds_formula\n                )\n            if contains_aggregation(ds_formula):\n                dbg(\"Datasource formula contains aggregation, skipping default logic\")\n                skip_aggr = True\n            expr = sa.literal_column(ds_formula)\n\n        if not skip_aggr:\n            if self.aggregation in [\n                AggregationTypes.COUNT,\n                AggregationTypes.COUNT_DISTINCT,\n            ]:\n                if self.rounding:\n                    dbg(\"Ignoring rounding for count field: %s\" % self.name)\n                if label:\n                    return aggr(expr).label(self.name)\n                return aggr(expr)\n\n            if self.weighting_metric:\n                w_column = get_table_field_column(column.table, self.weighting_metric)\n                w_ds_formula = w_column.zillion.field_ds_formula(self.weighting_metric)\n                if w_ds_formula and contains_aggregation(w_ds_formula):\n                    dbg(\n                        f\"Weighting field {self.weighting_metric} contains aggregation, skipping ds-level weighting\"\n                    )\n                    expr = aggr(expr)\n                else:\n                    # Perform weighting in the datasource formula\n                    w_column_name = column_fullname(w_column)\n                    # NOTE: 1.0 multiplication is a hack to ensure results are not rounded\n                    # to integer values improperly by some database dialects such as sqlite\n                    expr = sa.func.SUM(\n                        sa.text(\"1.0\") * expr * sa.text(w_column_name)\n                    ) / sa.func.SUM(sa.text(w_column_name))\n            else:\n                expr = aggr(expr)\n\n        if label:\n            return expr.label(self.name)\n        return expr\n\n    def get_final_select_clause(self, *args, ifnull_clause=None, **kwargs):\n        \"\"\"The sql clause used when selecting at the combined query layer\"\"\"\n        if self.ifnull is not None:\n            return ifnull_clause(self.name, self.ifnull)\n        return self.name\n\n\nclass Dimension(Field):\n    \"\"\"Fields that represent attributes of data that are used for grouping or\n    filtering\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the field\n    * **type** - (*str or SQLAlchemy type*) The column type for the field.\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **values** - (*str or list, optional*) A list of allowed dimension\n    values or a name of a callable to provide a list of values\n    * **sorter** - (*str, optional*) A reference to an importable callable\n    that accepts three arguments: (warehouse ID, dimension object, values).\n    Currently values is a pandas Series and the callable is expected to\n    return a Series. See `zillion.field.sort_by_value_order` for an example.\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **kwargs** - Additional attributes stored on the field object\n\n    \"\"\"\n\n    field_type = FieldTypes.DIMENSION\n    schema = DimensionConfigSchema\n\n    @initializer\n    def __init__(\n        self,\n        name,\n        type,\n        display_name=None,\n        description=None,\n        values=None,\n        sorter=None,\n        meta=None,\n        **kwargs,\n    ):\n        if values and isinstance(values, list):\n            self.values = set(self.values)\n        self._values_func = None\n\n        super(Dimension, self).__init__(\n            name,\n            type,\n            display_name=display_name,\n            description=description,\n            values=values,\n            sorter=sorter,\n            meta=meta,\n            **kwargs,\n        )\n\n    def get_values(self, warehouse_id, refresh=False):\n        \"\"\"Get allowed values for this Dimension\n\n        **Parameters:**\n\n        * **warehouse_id** - (*int*) A zillion warehouse ID\n        * **refresh** - (*bool, optional*) Refresh the values if applicable\n\n        **Returns:**\n\n        (*list or None*) - A list of valid values or None if no value\n        restrictions have been set.\n\n        \"\"\"\n        if self.values is None:\n            return None\n\n        if isinstance(self.values, str):\n            func = import_object(self.values)\n            self._values_func = func\n            self.values = func(warehouse_id, self)\n        elif refresh and self._values_func:\n            self.values = func(warehouse_id, self)\n\n        return self.values\n\n    def is_valid_value(self, warehouse_id, value, ignore_none=True):\n        \"\"\"Check if a value is allowed for this Dimension\n\n        **Parameters:**\n\n        * **warehouse_id** - (*int*) A zillion warehouse ID\n        * **value** - (*any*) Check if this value or list of values is valid\n        * **ignore_none** - (*bool*) If True, consider value=None\n        to always be valid.\n\n        **Returns:**\n\n        (*bool*) - True if the dimension value is valid\n\n        \"\"\"\n        if ignore_none and value is None:\n            return True\n\n        allowed_values = self.get_values(warehouse_id)\n        if not allowed_values:\n            return True\n\n        values = value if isinstance(value, (list, tuple)) else [value]\n        for test_value in values:\n            if ignore_none and test_value is None:\n                continue\n            if test_value not in allowed_values:\n                return False\n        return True\n\n    def sort(self, warehouse_id, values):\n        \"\"\"Sort the given dimension values according to the sorter\n\n        **Parameters:**\n\n        * **warehouse_id** - (*int*) A zillion warehouse ID\n        * **values** - (*Series*) A pandas Series of values to sort\n\n        **Returns:**\n\n        (*Series*) - A pandas Series representing the sort order\n\n        \"\"\"\n        raiseifnot(self.sorter, \"No sorter defined on Dimension\")\n        func = import_object(self.sorter)\n        return func(warehouse_id, self, values)\n\n\nclass FormulaField(Field):\n    \"\"\"A field defined by a formula\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the field\n    * **formula** - (*str*) The formula used to calculate the field\n    * **kwargs** - kwargs passed to the super class\n\n    \"\"\"\n\n    repr_attrs = [\"name\", \"formula\"]\n    schema = FormulaFieldConfigSchema\n\n    def __init__(self, name, formula, **kwargs):\n        super(FormulaField, self).__init__(name, None, formula=formula, **kwargs)\n\n    def get_formula_fields(self, warehouse, depth=0, adhoc_fms=None):\n        \"\"\"Get the fields that are part of this field's formula\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **depth** - (*int, optional*) Track the depth of recursion into the\n        formula\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*set, str*) - The set of all base fields involved in the formula\n        calculation, as well as an expanded version of the formula. All fields\n        in the expanded formula should be raw fields (i.e. not formula\n        fields).\n\n        \"\"\"\n        if depth > MAX_FORMULA_DEPTH:\n            raise MaxFormulaDepthException\n\n        raw_formula = self.formula\n        raw_fields = set()\n        formula_fields = get_string_format_args(self.formula)\n        field_formula_map = {}\n\n        for field_name in formula_fields:\n            field = warehouse.get_field(field_name, adhoc_fms=adhoc_fms)\n\n            if getattr(field, \"technical\", None):\n                raise InvalidFieldException(\n                    \"Formula field %s contains field with technical: %s\"\n                    % (self.name, field.name)\n                )\n\n            if isinstance(field, FormulaField):\n                try:\n                    sub_fields, sub_formula = field.get_formula_fields(\n                        warehouse, depth=depth + 1, adhoc_fms=adhoc_fms\n                    )\n                except MaxFormulaDepthException:\n                    if depth != 0:\n                        raise\n                    raise MaxFormulaDepthException(\n                        \"Maximum formula recursion depth exceeded for %s: %s\"\n                        % (self.name, self.formula)\n                    )\n                for sub_field in sub_fields:\n                    raw_fields.add(sub_field)\n                field_formula_map[field_name] = \"(\" + sub_formula + \")\"\n            else:\n                field_formula_map[field_name] = \"{\" + field_name + \"}\"\n                raw_fields.add(field_name)\n\n        raw_formula = self.formula.format(**field_formula_map)\n        return raw_fields, raw_formula\n\n    def get_ds_expression(self, *args, **kwargs):\n        \"\"\"Raise an error if called on FormulaFields\"\"\"\n        raise ZillionException(\"Formula-based Fields do not support get_ds_expression\")\n\n    def get_final_select_clause(self, warehouse, adhoc_fms=None, **kwargs):\n        \"\"\"Get a SQL select clause for this formula\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*SQLAlchemy clause*) - A compiled sqlalchemy clause for the formula\n\n        \"\"\"\n        formula_fields, raw_formula = self.get_formula_fields(\n            warehouse, adhoc_fms=adhoc_fms\n        )\n        format_args = {k: k for k in formula_fields}\n        formula = raw_formula.format(**format_args)\n        if contains_sql_keywords(formula):\n            raise DisallowedSQLException(\n                \"Formula contains disallowed sql: %s\" % formula\n            )\n        return sqla_compile(sa.text(formula))\n\n    def _check_formula_fields(self, warehouse, adhoc_fms=None):\n        \"\"\"Check that all underlying fields exist in the warehouse\"\"\"\n        fields, _ = self.get_formula_fields(warehouse, adhoc_fms=adhoc_fms)\n        if not fields:\n            raise InvalidFieldException(\n                \"No fields found in formula for field:%s formula:%s\"\n                % (self.name, self.formula)\n            )\n        for field in fields:\n            warehouse.get_field(field, adhoc_fms=adhoc_fms)\n        return fields\n\n\nclass FormulaDimension(FormulaField):\n    \"\"\"A dimension defined by a formula\"\"\"\n\n    field_type = FieldTypes.DIMENSION\n\n    def _check_formula_fields(self, warehouse, adhoc_fms=None):\n        \"\"\"Confirm a valid dimension formula\"\"\"\n        fields = super(FormulaDimension, self)._check_formula_fields(\n            warehouse, adhoc_fms=adhoc_fms\n        )\n        for field in fields:\n            if warehouse.has_metric(field, adhoc_fms=adhoc_fms):\n                raise InvalidFieldException(\n                    \"FormulaDimension can not contain metrics: field:%s formula:%s\"\n                    % (self.name, self.formula)\n                )\n        return fields\n\n\nclass FormulaMetric(FormulaField):\n    \"\"\"A metric defined by a formula\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the metric\n    * **formula** - (*str*) The formula used to calculate the metric\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **aggregation** - (*str, optional*) The AggregationType to apply to the\n    metric\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round to\n    * **weighting_metric** - (*str, optional*) A reference to a metric to use\n    for weighting when aggregating averages\n    * **technical** - (*object, optional*) A Technical object or definition used\n    to defined a technical computation to be applied to the metric\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report that\n    aims to include this metric.\n    * **kwargs** - kwargs passed to super class\n\n    \"\"\"\n\n    repr_attrs = [\"name\", \"formula\", \"aggregation\", \"technical\"]\n    field_type = FieldTypes.METRIC\n    schema = FormulaMetricConfigSchema\n\n    def __init__(\n        self,\n        name,\n        formula,\n        display_name=None,\n        description=None,\n        meta=None,\n        aggregation=AggregationTypes.SUM,\n        rounding=None,\n        weighting_metric=None,\n        technical=None,\n        required_grain=None,\n        **kwargs,\n    ):\n        if technical:\n            technical = create_technical(technical)\n\n        super(FormulaMetric, self).__init__(\n            name,\n            formula,\n            display_name=display_name,\n            description=description,\n            meta=meta,\n            aggregation=aggregation,\n            rounding=rounding,\n            weighting_metric=weighting_metric,\n            technical=technical,\n            required_grain=required_grain,\n            **kwargs,\n        )\n\n    def get_all_raw_fields(self, warehouse, adhoc_fms=None):\n        \"\"\"Get all raw fields involved in calculating this field.\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse that will contain\n        all relevant fields\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*set*) - The set of all raw fields that make up this field.\n\n        \"\"\"\n        res, _ = self.get_formula_fields(warehouse, adhoc_fms=adhoc_fms)\n        if not res:\n            res = {self.name}\n        if self.weighting_metric:\n            weighting_field = warehouse.get_field(self.weighting_metric)\n            res |= weighting_field.get_all_raw_fields(warehouse, adhoc_fms=adhoc_fms)\n        return res\n\n\nclass AdHocField(FormulaField):\n    \"\"\"An ad hoc representation of a field\"\"\"\n\n    @classmethod\n    def create(cls, obj):\n        \"\"\"Copy this AdHocField\"\"\"\n        schema = AdHocFieldSchema()\n        field_def = schema.load(obj)\n        return cls(\n            field_def[\"name\"],\n            field_def[\"formula\"],\n            display_name=field_def[\"display_name\"],\n            description=field_def[\"description\"],\n        )\n\n\nclass AdHocMetric(FormulaMetric):\n    \"\"\"An ad hoc representation of a Metric\n\n    **Parameters:**\n\n    * **name** - (*str*) The name of the metric\n    * **formula** - (*str*) The formula used to calculate the metric\n    * **display_name** - (*str, optional*) The display name of the field\n    * **description** - (*str, optional*) The description of the field\n    * **meta** - (*dict, optional*) A dict of additional custom attributes\n    * **aggregation** - (*str, optional*) The AggregationType to apply to the\n    metric\n    * **technical** - (*object, optional*) A Technical object or definition\n    used to defined a technical computation to be applied to the metric\n    * **rounding** - (*int, optional*) If specified, the number of decimal\n    places to round to\n    * **weighting_metric** - (*str, optional*) A reference to a metric to use\n    for weighting when aggregating averages\n    * **required_grain** - (*list of str, optional*) If specified, a list of\n    dimensions that must be present in the dimension grain of any report\n    that aims to include this metric.\n\n    \"\"\"\n\n    schema = AdHocMetricSchema\n\n    def __init__(\n        self,\n        name,\n        formula,\n        display_name=None,\n        description=None,\n        meta=None,\n        aggregation=AggregationTypes.SUM,\n        technical=None,\n        rounding=None,\n        weighting_metric=None,\n        required_grain=None,\n    ):\n        \"\"\"Init an AdHoc representation of a Metric\"\"\"\n        super(AdHocMetric, self).__init__(\n            name,\n            formula,\n            display_name=display_name,\n            description=description,\n            meta=meta,\n            aggregation=aggregation,\n            technical=technical,\n            rounding=rounding,\n            weighting_metric=weighting_metric,\n            required_grain=required_grain,\n        )\n\n    @classmethod\n    def create(cls, obj):\n        \"\"\"Create an AdHocMetric from an AdHocMetricSchema dict\"\"\"\n        schema = AdHocMetricSchema()\n        field_def = schema.load(obj)\n        return cls(\n            field_def[\"name\"],\n            field_def[\"formula\"],\n            display_name=field_def[\"display_name\"],\n            description=field_def[\"description\"],\n            meta=field_def[\"meta\"],\n            aggregation=field_def[\"aggregation\"],\n            technical=field_def[\"technical\"],\n            rounding=field_def[\"rounding\"],\n            weighting_metric=field_def[\"weighting_metric\"],\n            required_grain=field_def[\"required_grain\"],\n        )\n\n\nclass AdHocDimension(FormulaDimension):\n    \"\"\"An ad hoc representation of a Dimension\"\"\"\n\n    field_type = FieldTypes.DIMENSION\n\n    @classmethod\n    def create(cls, obj):\n        \"\"\"Copy this AdHocDimension\"\"\"\n        schema = AdHocFieldSchema()\n        field_def = schema.load(obj)\n        return cls(\n            field_def[\"name\"],\n            field_def[\"formula\"],\n            display_name=field_def[\"display_name\"],\n            description=field_def[\"description\"],\n        )\n\n\ndef create_metric(metric_def):\n    \"\"\"Create a Metric object from a dict of params\n\n    **Parameters:**\n\n    * **metric_def** - (*dict*) A dict of params to init a Metric. If a formula\n    param is present a FormulaMetric will be created.\n\n    \"\"\"\n    if \"formula\" in metric_def:\n        metric = FormulaMetric.from_config(metric_def)\n    else:\n        metric = Metric.from_config(metric_def)\n    return metric\n\n\ndef create_dimension(dim_def):\n    \"\"\"Create a Dimension object from a dict of params\n\n    **Parameters:**\n\n    * **dim_def** - (*dict*) A dict of params to init a Dimension. If a formula\n    param is present a FormulaDimension will be created.\n\n    \"\"\"\n    if \"formula\" in dim_def:\n        dimension = FormulaDimension.from_config(dim_def)\n    else:\n        dimension = Dimension.from_config(dim_def)\n    return dimension\n\n\nclass FieldManagerMixin:\n    \"\"\"An interface for managing fields (metrics and dimensions) stored on an\n    object.\n\n    **Attributes:**\n\n    * **metrics_attr** - (*str*) The name of the attribute where metrics are\n    stored\n    * **dimensions_attr** - (*str*) The name of the attribute where dimensions\n    are stored\n\n    \"\"\"\n\n    metrics_attr = \"_metrics\"\n    dimensions_attr = \"_dimensions\"\n\n    def get_child_field_managers(self):\n        \"\"\"Get a list of child FieldManagers\"\"\"\n        return []\n\n    def get_field_managers(self, adhoc_fms=None):\n        \"\"\"Get a list of all child FieldManagers including adhoc\"\"\"\n        return self.get_child_field_managers() + (adhoc_fms or [])\n\n    def get_direct_metrics(self):\n        \"\"\"Get metrics directly stored on this FieldManager\"\"\"\n        return getattr(self, self.metrics_attr)\n\n    def get_direct_dimensions(self):\n        \"\"\"Get dimensions directly stored on this FieldManager\"\"\"\n        return getattr(self, self.dimensions_attr)\n\n    def directly_has_metric(self, name):\n        \"\"\"Check if this FieldManager directly stores this metric\"\"\"\n        return name in getattr(self, self.metrics_attr)\n\n    def directly_has_dimension(self, name):\n        \"\"\"Check if this FieldManager directly stores this dimension\"\"\"\n        return name in getattr(self, self.dimensions_attr)\n\n    def directly_has_field(self, name):\n        \"\"\"Check if this FieldManager directly stores this field\"\"\"\n        return name in getattr(self, self.metrics_attr) or name in getattr(\n            self, self.dimensions_attr\n        )\n\n    def print_metrics(self, indent=None):\n        \"\"\"Print all metrics in this FieldManager\"\"\"\n        print(format_msg(getattr(self, self.metrics_attr), label=None, indent=indent))\n\n    def print_dimensions(self, indent=None):\n        \"\"\"Print all dimensions in this FieldManager\"\"\"\n        print(\n            format_msg(getattr(self, self.dimensions_attr), label=None, indent=indent)\n        )\n\n    def has_metric(self, name, adhoc_fms=None):\n        \"\"\"Check whether a metric is contained in this FieldManager\"\"\"\n        if self.directly_has_metric(name):\n            return True\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            if fm.has_metric(name):\n                return True\n        return False\n\n    def has_dimension(self, name, adhoc_fms=None):\n        \"\"\"Check whether a dimension is contained in this FieldManager\"\"\"\n        if self.directly_has_dimension(name):\n            return True\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            if fm.has_dimension(name):\n                return True\n        return False\n\n    def has_field(self, name, adhoc_fms=None):\n        \"\"\"Check whether a field is contained in this FieldManager\"\"\"\n        if self.directly_has_field(name):\n            return True\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            if fm.has_field(name):\n                return True\n        return False\n\n    def get_metric(self, obj, adhoc_fms=None):\n        \"\"\"Get a reference to a metric on this FieldManager. If the object\n        passed is a dict it is expected to define an AdHocMetric.\"\"\"\n        if isinstance(obj, str):\n            if self.directly_has_metric(obj):\n                return getattr(self, self.metrics_attr)[obj]\n            for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n                if fm.has_metric(obj):\n                    return fm.get_metric(obj)\n            raise InvalidFieldException(\"Invalid metric name: %s\" % obj)\n\n        if isinstance(obj, dict):\n            metric = AdHocMetric.create(obj)\n            raiseif(\n                self.has_metric(metric.name, adhoc_fms=adhoc_fms),\n                \"AdHocMetric can not use name of an existing metric: %s\" % metric.name,\n            )\n            metric._check_formula_fields(self, adhoc_fms=adhoc_fms)\n            return metric\n\n        raise InvalidFieldException(\"Invalid metric object: %s\" % obj)\n\n    def get_dimension(self, obj, adhoc_fms=None):\n        \"\"\"Get a reference to a dimension on this FieldManager\"\"\"\n        if isinstance(obj, str):\n            if self.directly_has_dimension(obj):\n                return getattr(self, self.dimensions_attr)[obj]\n            for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n                if fm.has_dimension(obj):\n                    return fm.get_dimension(obj)\n            raise InvalidFieldException(\"Invalid dimension name: %s\" % obj)\n\n        if isinstance(obj, dict):\n            dim = AdHocDimension.create(obj)\n            raiseif(\n                self.has_dimension(dim.name, adhoc_fms=adhoc_fms),\n                \"AdHocDimension can not use name of an existing dimension: %s\"\n                % dim.name,\n            )\n            dim._check_formula_fields(self, adhoc_fms=adhoc_fms)\n            return dim\n\n        raise InvalidFieldException(\"Invalid dimension object: %s\" % obj)\n\n    def get_field(self, obj, adhoc_fms=None):\n        \"\"\"Get a reference to a field on this FieldManager\"\"\"\n        if isinstance(obj, str):\n            if self.has_metric(obj, adhoc_fms=adhoc_fms):\n                return self.get_metric(obj, adhoc_fms=adhoc_fms)\n            if self.has_dimension(obj, adhoc_fms=adhoc_fms):\n                return self.get_dimension(obj, adhoc_fms=adhoc_fms)\n            raise InvalidFieldException(\"Invalid field name: %s\" % obj)\n\n        if isinstance(obj, dict):\n            field = AdHocField.create(obj)\n            raiseif(\n                self.has_field(field.name, adhoc_fms=adhoc_fms),\n                \"AdHocField can not use name of an existing field: %s\" % field.name,\n            )\n            field._check_formula_fields(self, adhoc_fms=adhoc_fms)\n            return field\n\n        raise InvalidFieldException(\"Invalid field object: %s\" % obj)\n\n    def get_field_instances(self, field, adhoc_fms=None):\n        \"\"\"Get a dict of FieldManagers (including child and adhoc FMs) that\n        support a field\"\"\"\n        instances = {}\n\n        if self.directly_has_field(field):\n            instances[self] = self.get_field(field)\n\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            if fm.has_field(field):\n                instances.update(fm.get_field_instances(field))\n\n        if not instances:\n            raise InvalidFieldException(\"Invalid field name: %s\" % field)\n        return instances\n\n    def get_metrics(self, adhoc_fms=None):\n        \"\"\"Get a dict of all metrics supported by this FieldManager\"\"\"\n        metrics = {}\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm_metrics = fm.get_metrics()\n            metrics.update(fm_metrics)\n        metrics.update(getattr(self, self.metrics_attr))\n        return metrics\n\n    def get_dimensions(self, adhoc_fms=None):\n        \"\"\"Get a dict of all dimensions supported by this FieldManager\"\"\"\n        dimensions = {}\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm_dimensions = fm.get_dimensions()\n            dimensions.update(fm_dimensions)\n        dimensions.update(getattr(self, self.dimensions_attr))\n        return dimensions\n\n    def get_fields(self, adhoc_fms=None):\n        \"\"\"Get a dict of all fields supported by this FieldManager\"\"\"\n        fields = {}\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm_fields = fm.get_fields()\n            fields.update(fm_fields)\n        fields.update(getattr(self, self.metrics_attr))\n        fields.update(getattr(self, self.dimensions_attr))\n        return fields\n\n    def get_direct_fields(self):\n        \"\"\"Get a dict of all fields directly supported by this FieldManager\"\"\"\n        fields = {}\n        fields.update(getattr(self, self.metrics_attr))\n        fields.update(getattr(self, self.dimensions_attr))\n        return fields\n\n    def get_direct_metric_configs(self):\n        \"\"\"Get a dict of metric configs directly supported by this\n        FieldManager\"\"\"\n        return {f.name: f.to_config() for f in self.get_direct_metrics().values()}\n\n    def get_direct_dimension_configs(self):\n        \"\"\"Get a dict of dimension configs directly supported by this\n        FieldManager\"\"\"\n        return {f.name: f.to_config() for f in self.get_direct_dimensions().values()}\n\n    def get_metric_configs(self, adhoc_fms=None):\n        \"\"\"Get a dict of all metric configs supported by this FieldManager\"\"\"\n        configs = {}\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm_configs = fm.get_metric_configs()\n            configs.update(fm_configs)\n        configs.update(self.get_direct_metric_configs())\n        return configs\n\n    def get_dimension_configs(self, adhoc_fms=None):\n        \"\"\"Get a dict of all dimension configs supported by this FieldManager\"\"\"\n        configs = {}\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm_configs = fm.get_dimension_configs()\n            configs.update(fm_configs)\n        configs.update(self.get_direct_dimension_configs())\n        return configs\n\n    def get_metric_names(self, adhoc_fms=None):\n        \"\"\"Get a set of metric names supported by this FieldManager\"\"\"\n        return set(self.get_metrics(adhoc_fms=adhoc_fms).keys())\n\n    def get_dimension_names(self, adhoc_fms=None):\n        \"\"\"Get a set of dimension names supported by this FieldManager\"\"\"\n        return set(self.get_dimensions(adhoc_fms=adhoc_fms).keys())\n\n    def get_field_names(self, adhoc_fms=None):\n        \"\"\"Get a set of field names supported by this FieldManager\"\"\"\n        return set(self.get_fields(adhoc_fms=adhoc_fms).keys())\n\n    def add_metric(self, metric, force=False):\n        \"\"\"Add a reference to a metric to this FieldManager\"\"\"\n        if self.has_dimension(metric.name):\n            raise InvalidFieldException(\n                \"Trying to add metric with same name as a dimension: %s\" % metric.name\n            )\n        if (not force) and self.has_metric(metric.name):\n            warn(\"Metric %s already exists on %s\" % (metric.name, self))\n            return\n        getattr(self, self.metrics_attr)[metric.name] = metric\n\n    def add_dimension(self, dimension, force=False):\n        \"\"\"Add a reference to a dimension to this FieldManager\"\"\"\n        if self.has_metric(dimension.name):\n            raise InvalidFieldException(\n                \"Trying to add dimension with same name as a metric: %s\"\n                % dimension.name\n            )\n        if (not force) and self.has_dimension(dimension.name):\n            warn(\"Dimension %s already exists on %s\" % (dimension.name, self))\n            return\n        getattr(self, self.dimensions_attr)[dimension.name] = dimension\n\n    def _add_default_display_names(self, adhoc_fms=None, display_names=None):\n        \"\"\"Populate default display names on all fields\"\"\"\n        fields = self.get_direct_fields()\n        display_names = display_names or {}\n        for field, config in fields.items():\n            if display_names.get(field, None) and not config.display_name:\n                # Make sure we use consistent names if one was specified\n                # in a parent field manager.\n                config.display_name = display_names[field]\n            else:\n                default = default_field_display_name(field)\n                config.display_name = config.display_name or default\n                display_names[field] = config.display_name\n\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            fm._add_default_display_names(display_names=display_names)\n\n    def _populate_global_fields(self, config, force=False):\n        \"\"\"Populate fields on this FieldManager from a config\n\n        **Parameters:**\n\n        * **config** - (*dict*) A config containing lists of metrics and/or\n        dimensions to add to this FieldManager\n        * **force** - (*bool, optional*) If true, overwrite fields that already\n        exist\n\n        \"\"\"\n        formula_metrics = []\n        formula_dims = []\n\n        for metric_def in config.get(\"metrics\", []):\n            if isinstance(metric_def, dict):\n                metric = create_metric(metric_def)\n            else:\n                raiseifnot(\n                    isinstance(metric_def, (Metric, FormulaMetric)),\n                    \"Metric definition must be a dict-like object or a Metric object\",\n                )\n                metric = metric_def\n\n            if isinstance(metric, FormulaMetric):\n                formula_metrics.append(metric)  # These get added later\n            else:\n                self.add_metric(metric, force=force)\n\n        for dim_def in config.get(\"dimensions\", []):\n            if isinstance(dim_def, dict):\n                dim = create_dimension(dim_def)\n            else:\n                raiseifnot(\n                    isinstance(dim_def, (Dimension, FormulaDimension)),\n                    \"Dimension definition must be a dict-like object or a Dimension object\",\n                )\n                dim = dim_def\n\n            if isinstance(dim, FormulaDimension):\n                formula_dims.append(dim)  # These get added later\n            else:\n                self.add_dimension(dim, force=force)\n\n        # Defer formulas so params can be checked against existing fields\n        for metric in formula_metrics:\n            metric._check_formula_fields(self)\n            self.add_metric(metric, force=force)\n\n        for dim in formula_dims:\n            dim._check_formula_fields(self)\n            self.add_dimension(dim, force=force)\n\n    def _find_field_sources(self, field, adhoc_fms=None):\n        \"\"\"Get a list of FieldManagers supporting a field. This will search the\n        current FieldManager and all child/adhoc FMs.\n\n        **Parameters:**\n\n        * **field** - (*str*) The name of a field\n        * **adhoc_fms** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*list*) - A list of FieldManagers that support the field\n\n        \"\"\"\n        sources = []\n        if self.directly_has_field(field):\n            sources.append(self)\n\n        for fm in self.get_field_managers(adhoc_fms=adhoc_fms):\n            if fm.directly_has_field(field):\n                sources.append(fm)\n        return sources\n\n\ndef get_table_metrics(fm, table, adhoc_fms=None):\n    \"\"\"Get a list of metrics supported by a table\n\n    **Parameters:**\n\n    * **fm** - (*FieldManager*) An object supporting the FieldManager interface\n    * **table** - (*SQLAlchemy Table*) The table to get a list of supported\n    dimensions for\n    * **adhoc_fms** - (*list, optional*) AdHoc FieldManagers relevant to this\n    request\n\n    **Returns:**\n\n    (*set*) - A set of metric names\n\n    \"\"\"\n    metrics = set()\n    for col in table.c:\n        if not is_active(col):\n            continue\n        for field in col.zillion.get_field_names():\n            if fm.has_metric(field, adhoc_fms=adhoc_fms):\n                metrics.add(field)\n    return metrics\n\n\ndef get_table_dimensions(fm, table, adhoc_fms=None):\n    \"\"\"Get a list of dimensions supported by a table\n\n    **Parameters:**\n\n    * **fm** - (*FieldManager*) An object supporting the FieldManager interface\n    * **table** - (*SQLAlchemy Table*) The table to get a list of supported\n    dimensions for\n    * **adhoc_fms** - (*list, optional*) AdHoc FieldManagers relevant to this\n    request\n\n    **Returns:**\n\n    (*set*) - A set of dimension names\n\n    \"\"\"\n    dims = set()\n    for col in table.c:\n        if not is_active(col):\n            continue\n        for field in col.zillion.get_field_names():\n            if fm.has_dimension(field, adhoc_fms=adhoc_fms):\n                dims.add(field)\n    return dims\n\n\ndef get_table_fields(table):\n    \"\"\"Get a list of field names supported by a table\n\n    **Parameters:**\n\n    * **table** - (*SQLAlchemy Table*) The table to get a list of supported\n    fields for\n\n    **Returns:**\n\n    (*set*) - A set of field names\n\n    \"\"\"\n    fields = set()\n    for col in table.c:\n        if not is_active(col):\n            continue\n        for field in col.zillion.get_field_names():\n            fields.add(field)\n    return fields\n\n\ndef get_table_field_column(table, field_name):\n    \"\"\"Return the column within a table that supports a given field\n\n    **Parameters:**\n\n    * **table** - (*Table*) SQLAlchemy table onject\n    * **field_name** - (*str*) The name of a field supported by the table\n\n    **Returns:**\n\n    (*Column*) - A SQLAlchemy column object\n\n    \"\"\"\n    for col in table.c:\n        if not is_active(col):\n            continue\n        for field in col.zillion.get_field_names():\n            if field == field_name:\n                return col\n    raise ZillionException(\n        \"Field %s inactive or not found in table %s\" % (field_name, table.fullname)\n    )\n\n\ndef table_field_allows_grain(table, field, grain):\n    \"\"\"Check whether a field in a table is restricted by required_grain\n\n    **Parameters:**\n\n    * **table** - (*Table*) SQLAlchemy table object\n    * **field** - (*str*) The name of a field in the table\n    * **grain** - (*list of str*) A list of dimensions that form the target\n    grain\n\n    \"\"\"\n    grain = grain or set()\n    column = get_table_field_column(table, field)\n    if not column.zillion.required_grain:\n        return True\n    if set(column.zillion.required_grain).issubset(grain):\n        return True\n    return False\n\n\ndef values_from_db(warehouse_id, field):\n    \"\"\"Get allowed field values from the dimension_values table. If\n    warehouse_id is `None` the warehouse_id is defaulted to the value\n    of `zillion.field.FIELD_VALUE_DEFAULT_WAREHOUSE_ID`. This allows\n    pulling dimension values even when a `Warehouse` has not been saved.\n\n    **Parameters:**\n\n    * **warehouse_id** - (*int*) A zillion warehouse ID\n    * **field** - (*Field*) A zillion Dimension object\n\n    **Returns:**\n\n    (*list or None*) - A list of valid values or None if no row\n    is found for this dimension.\n\n    \"\"\"\n    if warehouse_id is None:\n        warehouse_id = FIELD_VALUE_DEFAULT_WAREHOUSE_ID\n\n    s = sa.select(DimensionValues.c).where(\n        sa.and_(\n            DimensionValues.c.warehouse_id == warehouse_id,\n            DimensionValues.c.name == field.name,\n        )\n    )\n    conn = zillion_engine.connect()\n    try:\n        result = conn.execute(s)\n        row = result.fetchone()\n        if not row:\n            return None\n        return json.loads(row[\"values\"])\n    finally:\n        conn.close()\n\n\ndef sort_by_value_order(warehouse_id, field, values):\n    \"\"\"Sort values by the order of the value list defined on the field\n\n    **Parameters:**\n\n    * **warehouse_id** - (*int*) A zillion warehouse ID\n    * **field** - (*Field*) A zillion Field object\n    * **values** - (*Series*) A pandas Series to sort\n\n    **Returns:**\n\n    (*Series*) - A pandas Series representing the sort order. If no value\n    list is found for the field, the input values are returned as is.\n\n    \"\"\"\n    value_order = field.get_values(warehouse_id)\n    if not value_order:\n        return values\n    mapping = {value: order for order, value in enumerate(value_order)}\n    # In case a rollup row is present, include it in mapping and aim to\n    # have it sort ~last\n    mapping[ROLLUP_INDEX_LABEL] = float(\"inf\")\n    return values.map(mapping)\n\n\ndef get_conversions_for_type(coltype):\n    \"\"\"Get all conversions for a particular column type\n\n    **Parameters:**\n\n    * **coltype** - A SQLAlchemy column type class\n\n    **Returns:**\n\n    (*dict*) - The conversion map for the given column type. Returns None if\n    no conversions are found.\n\n    \"\"\"\n    for basetype, fields in TYPE_ALLOWED_CONVERSIONS.items():\n        if issubclass(coltype, basetype):\n            return fields\n    return None\n\n\ndef replace_non_named_formula_args(formula, column):\n    \"\"\"Do formula arg replacement but raise an error if any named args are present\"\"\"\n    format_args = get_string_format_args(formula)\n    raiseif(\n        any([x != \"\" for x in format_args]),\n        \"Formula has unexpected named format arguments: %s\" % formula,\n    )\n    if format_args:\n        formula = formula.format(*[column_fullname(column) for i in format_args])\n    return formula\n\n\ndef get_dialect_type_conversions(dialect, column):\n    \"\"\"Get all conversions supported by this column type for this dialect\n\n    **Parameters:**\n\n    * **dialect** - (*str*) SQLAlchemy dialect name\n    * **column** - (*Column*) SQLAlchemy column object\n\n    **Returns:**\n\n    (*list*) - A list of dicts containing datasource formulas and criteria\n    conversions for each field this column can be converted to\n\n    \"\"\"\n    coltype = type(column.type)\n    conv_fields = get_conversions_for_type(coltype)\n    if not conv_fields:\n        return []\n\n    results = []\n    for field in conv_fields:\n        field_name = field.name\n        dialect_field_convs = DIALECT_CONVERSIONS[dialect].get(field_name, None)\n        if not dialect_field_convs:\n            continue\n\n        if isinstance(dialect_field_convs, str):\n            ds_formula = dialect_field_convs\n            ds_criteria_conversions = None\n        else:\n            # Assumes dict\n            ds_formula = dialect_field_convs.get(\"ds_formula\", None)\n            ds_criteria_conversions = dialect_field_convs.get(\n                \"ds_criteria_conversions\", None\n            )\n\n        raiseifnot(\n            ds_formula or ds_criteria_conversions,\n            \"One of ds_formula or ds_criteria_conversions must be set on dialect conversions for %s/%s\"\n            % (dialect, field_name),\n        )\n\n        if ds_formula:\n            ds_formula = replace_non_named_formula_args(ds_formula, column)\n\n        results.append(\n            dict(\n                field=field,\n                ds_formula=ds_formula,\n                ds_criteria_conversions=ds_criteria_conversions,\n            )\n        )\n\n    return results\n\n\nDATETIME_CONVERSION_FIELDS = [\n    Dimension(\"year\", \"Integer\", description=\"Year\"),\n    Dimension(\"quarter\", \"String(8)\", description=\"Year and quarter (YYYY-QN)\"),\n    Dimension(\n        \"quarter_of_year\", \"SmallInteger\", description=\"Numeric quarter of the year\"\n    ),\n    Dimension(\"month\", \"String(8)\", description=\"Year and month (YYYY-MM)\"),\n    Dimension(\n        \"month_name\",\n        \"String(8)\",\n        description=\"Full name of the month\",\n        values=[\n            \"January\",\n            \"February\",\n            \"March\",\n            \"April\",\n            \"May\",\n            \"June\",\n            \"July\",\n            \"August\",\n            \"September\",\n            \"October\",\n            \"November\",\n            \"December\",\n        ],\n        sorter=\"zillion.field.sort_by_value_order\",\n    ),\n    Dimension(\"month_of_year\", \"SmallInteger\", description=\"Numeric month of the year\"),\n    Dimension(\n        \"week_of_month\",\n        \"SmallInteger\",\n        description=\"Numeric calendar week of the month\",\n    ),\n    Dimension(\"week\", \"String(8)\", description=\"Year and week (YYYY-WN)\"),\n    Dimension(\n        \"week_of_year\", \"SmallInteger\", description=\"Numeric calendar week of the year\"\n    ),\n    Dimension(\n        \"period_of_month_7d\",\n        \"SmallInteger\",\n        description=\"Numeric 7-day period of the month\",\n    ),\n    Dimension(\"date\", \"String(10)\", description=\"Date string formatted YYYY-MM-DD\"),\n    Dimension(\n        \"day_name\",\n        \"String(10)\",\n        description=\"Full name of a day of the week\",\n        values=[\n            \"Monday\",\n            \"Tuesday\",\n            \"Wednesday\",\n            \"Thursday\",\n            \"Friday\",\n            \"Saturday\",\n            \"Sunday\",\n        ],\n        sorter=\"zillion.field.sort_by_value_order\",\n    ),\n    Dimension(\n        \"day_of_week\",\n        \"SmallInteger\",\n        description=\"Numeric day of the week (monday = 1)\",\n    ),\n    Dimension(\n        \"is_weekday\",\n        \"SmallInteger\",\n        description=\"Flag denoting whether the day is a weekday\",\n    ),\n    Dimension(\"day_of_month\", \"SmallInteger\", description=\"Numeric day of the month\"),\n    Dimension(\"day_of_year\", \"SmallInteger\", description=\"Numeric day of the year\"),\n    Dimension(\n        \"hour\",\n        \"String(20)\",\n        description=\"Datetime string rounded to the hour (YYYY-MM-DD HH:00:00)\",\n    ),\n    Dimension(\"hour_of_day\", \"SmallInteger\", description=\"Numeric hour of day (0-23)\"),\n    Dimension(\n        \"minute\",\n        \"String(20)\",\n        description=\"Datetime string rounded to the minute (YYYY-MM-DD HH:MM:00)\",\n    ),\n    Dimension(\n        \"minute_of_hour\", \"SmallInteger\", description=\"Numeric minute of the hour\"\n    ),\n    Dimension(\n        \"datetime\",\n        \"String(20)\",\n        description=\"Datetime string formatted YYYY-MM-DD HH:MM:SS\",\n    ),\n    # TODO: not fully tested/supported yet, ignore for now\n    # Dimension(\"unixtime\", \"BigInteger\", description=\"Unix time in seconds\"),\n]\n\nDATE_CONVERSION_FIELDS = []\nfor _dim in DATETIME_CONVERSION_FIELDS:\n    if _dim.name == \"hour\":\n        break\n    DATE_CONVERSION_FIELDS.append(_dim)\n\n# Map all dialect-specific type conversions, including ds_formulas that can\n# be applied directly to columns (i.e. DATE(some_datetime) == '2020-01-01')\n# and ds_criteria_conversions that can apply conversions to criteria values\n# instead.\n#\n# Note: For date types: somewhat adhering to ISO 8601, but ignoring the \"T\"\n# between the date/time and not including timezone offsets for now because\n# zillion assumes everything is in the same timezone (or the datasource\n# formulas take care of aligning timezones).\nDIALECT_CONVERSIONS = {\n    \"duckdb\": DUCKDB_DIALECT_CONVERSIONS,\n    \"sqlite\": SQLITE_DIALECT_CONVERSIONS,\n    \"mysql\": MYSQL_DIALECT_CONVERSIONS,\n    \"postgresql\": POSTGRESQL_DIALECT_CONVERSIONS,\n}\n\nTYPE_ALLOWED_CONVERSIONS = {\n    sa.DateTime: DATETIME_CONVERSION_FIELDS,\n    sa.DATETIME: DATETIME_CONVERSION_FIELDS,\n    sa.TIMESTAMP: DATETIME_CONVERSION_FIELDS,\n    sa.Date: DATE_CONVERSION_FIELDS,\n    sa.DATE: DATE_CONVERSION_FIELDS,\n}\n"
  },
  {
    "path": "zillion/model.py",
    "content": "nlp_installed = False\n\nimport sqlalchemy as sa\n\nfrom zillion.core import zillion_config, nlp_installed\n\nzillion_engine = sa.create_engine(zillion_config[\"DB_URL\"], pool_pre_ping=True)\nzillion_metadata = sa.MetaData()\nzillion_metadata.bind = zillion_engine\n\nWarehouses = sa.Table(\n    \"warehouses\",\n    zillion_metadata,\n    sa.Column(\"id\", sa.Integer, primary_key=True),\n    sa.Column(\"name\", sa.String(128), nullable=False, unique=True),\n    sa.Column(\"params\", sa.Text, nullable=False),\n    sa.Column(\"meta\", sa.Text),\n    sa.Column(\"created_at\", sa.DateTime, server_default=sa.func.NOW()),\n)\n\nReportSpecs = sa.Table(\n    \"report_specs\",\n    zillion_metadata,\n    sa.Column(\"id\", sa.Integer, primary_key=True),\n    sa.Column(\"warehouse_id\", sa.Integer, nullable=False),\n    sa.Column(\"params\", sa.Text, nullable=False),\n    sa.Column(\"meta\", sa.Text),\n    sa.Column(\"created_at\", sa.DateTime, server_default=sa.func.NOW()),\n)\n\nDimensionValues = sa.Table(\n    \"dimension_values\",\n    zillion_metadata,\n    sa.Column(\"name\", sa.String(100), primary_key=True),\n    sa.Column(\"warehouse_id\", sa.Integer, primary_key=True),\n    sa.Column(\"values\", sa.Text, nullable=False),\n    sa.Column(\"created_at\", sa.DateTime, server_default=sa.func.NOW()),\n)\n\nif nlp_installed:\n    EmbeddingsCache = sa.Table(\n        \"embeddings_cache\",\n        zillion_metadata,\n        sa.Column(\"text_hash\", sa.String(100), primary_key=True),\n        sa.Column(\"model\", sa.String(100), primary_key=True),\n        sa.Column(\"text\", sa.Text, nullable=False),\n        sa.Column(\"vector\", sa.LargeBinary, nullable=False),\n        sa.Column(\"created_at\", sa.DateTime, server_default=sa.func.NOW()),\n    )\n\nzillion_metadata.create_all(zillion_engine)\n"
  },
  {
    "path": "zillion/nlp.py",
    "content": "from datetime import datetime, timedelta\nimport hashlib\nimport re\nimport struct\nimport time\n\ntry:\n    from qdrant_client import QdrantClient\n    from qdrant_client.http import models as rest\n    from qdrant_client.http.models import Distance, VectorParams\n    from langchain.chains import LLMChain\n    from langchain.embeddings.openai import OpenAIEmbeddings\n    from langchain.llms import OpenAI, OpenAIChat\n    from langchain.prompts import PromptTemplate\n    from langchain.vectorstores import Qdrant\n    from pydantic import Extra\nexcept ImportError:\n    pass\n\nfrom sqlalchemy import and_\nfrom sqlalchemy.schema import CreateTable\nfrom tlbx import raiseifnot, st, json, rgetkey\n\nfrom zillion.core import (\n    dbg,\n    info,\n    warn,\n    error,\n    zillion_config,\n    nlp_installed,\n    RollupTypes,\n    FieldTypes,\n)\n\nLLM_MAX_TOKENS = -1\nLLM_REQUEST_TIMEOUT = 20\nOPENAI_DAVINCI_MODEL_NAME = \"text-davinci-003\"\nOPENAI_VECTOR_SIZE = 1536\nMIN_FIELD_SIMILARITY_SCORE = 0.8\nDEFAULT_VECTOR_SIZE = OPENAI_VECTOR_SIZE\nDEFAULT_WAREHOUSE_COLLECTION_NAME = \"default_warehouse_fields\"\n\nembeddings_api = None\n\n\ndef hash_text(text):\n    \"\"\"Hash a string to a 32-character hex string\"\"\" \"\"\n    return hashlib.md5(text.encode(\"utf-8\")).hexdigest()\n\n\nif nlp_installed:\n    from zillion.model import (\n        EmbeddingsCache as EmbeddingsCacheTable,\n        zillion_engine,\n    )\n\n    class EmbeddingsCache:\n        \"\"\"\n        A cache for embeddings. This is a wrapper around a database table\n        that stores embeddings for text. It also provides a cache for\n        embeddings that have been retrieved from the database.\n\n        **Parameters:**\n\n        * **table** - (*SQLAlchemy Table*) The database table to use for the cache\n        * **model** - (*str*) The model to use for the embeddings\n        * **binary** - (*bool, optional) Whether embeddings are store in binary format\n        * **binary_size** - (*int, optional) The size of the vector for converting to/from binary\n\n        \"\"\"\n\n        def __init__(\n            self,\n            table,\n            model,\n            binary=True,\n            binary_size=DEFAULT_VECTOR_SIZE,\n        ):\n            self.table = table\n            self.model = model\n            self.binary = binary\n            self.binary_size = binary_size\n            self.conn = zillion_engine.connect()\n            self.init_cache()\n\n        @classmethod\n        def get_text_hash(cls, text):\n            \"\"\"Get the hash of a text string\"\"\"\n            return hash_text(text)\n\n        @property\n        def cache(self):\n            if not hasattr(self, \"_cache\"):\n                self._cache = {}\n            return self._cache\n\n        @cache.setter\n        def cache(self, value):\n            self._cache = value\n\n        def decode(self, blob):\n            \"\"\"Decode a binary blob into a list of floats\"\"\"\n            return struct.unpack(\"f\" * self.binary_size, blob)\n\n        def encode(self, values):\n            \"\"\"Encode a list of floats into a binary blob\"\"\"\n            return struct.pack(\"f\" * self.binary_size, *values)\n\n        def init_cache(self):\n            \"\"\"Initialize the in-memory cache\"\"\"\n            stmt = self.table.select()\n            result = self.conn.execute(stmt).fetchall()\n            for row in result:\n                text_hash = row[\"text_hash\"]\n                vector = row[\"vector\"]\n                if self.binary:\n                    vector = self.decode(vector)\n                self.cache[(text_hash, self.model)] = vector\n            info(f\"Initialized embeddings cache with {len(self.cache)} records\")\n\n        def _get_key(self, text):\n            \"\"\"Get the in-memory cache key. Matches the unique/primary key of\n            the cache database table\"\"\"\n            return (self.get_text_hash(text), self.model)\n\n        def __getitem__(self, key):\n            \"\"\"Get an embedding from the cache. If it's not in the cache,\n            it will be retrieved from the database.\n\n            **Parameters:**\n\n            * **key** - (*str*) The text to get the embedding for\n\n            **Returns:**\n\n            * (*list*) The embedding vector\n\n            \"\"\"\n            cache_key = self._get_key(key)\n            text_hash, _ = cache_key\n            value = self.cache.get(cache_key)\n            if value is None:\n                stmt = self.table.select().where(\n                    and_(\n                        self.table.c.text_hash == text_hash,\n                        self.table.c.model == self.model,\n                    )\n                )\n                result = self.conn.execute(stmt).fetchone()\n                if result:\n                    value = result[\"vector\"]\n                    if self.binary:\n                        value = self.decode(value)\n                    self.cache[cache_key] = value\n            return value\n\n        def __setitem__(self, key, value):\n            \"\"\"Set an embedding in the cache. If it's not in the cache,\n            it will be added to the database.\n\n            **Parameters:**\n\n            * **key** - (*str*) The text to set the embedding for\n            * **value** - (*list*) The embedding vector\n\n            \"\"\"\n            record = self.__getitem__(key)\n            cache_key = self._get_key(key)\n            text_hash, _ = cache_key\n            if self.binary:\n                vector = self.encode(value)\n\n            if record:\n                stmt = (\n                    self.table.update()\n                    .where(\n                        and_(\n                            self.table.c.text_hash == text_hash,\n                            self.table.c.model == self.model,\n                        )\n                    )\n                    .values(vector=vector, text=key)\n                )\n            else:\n                stmt = self.table.insert().values(\n                    text_hash=text_hash, model=self.model, text=key, vector=vector\n                )\n\n            self.conn.execute(stmt)\n            self.cache[cache_key] = value\n\n        def __delitem__(self, key):\n            \"\"\"Delete an embedding from the cache\n\n            **Parameters:**\n\n            * **key** - (*str*) The text to delete the embedding for\n\n            \"\"\"\n            cache_key = self._get_key(key)\n            text_hash, _ = cache_key\n            stmt = self.table.delete().where(self.table.c.text_hash == text_hash)\n            self.conn.execute(stmt)\n            if cache_key in self.cache:\n                del self.cache[cache_key]\n\n    class OpenAIEmbeddingsCached(OpenAIEmbeddings):\n        \"\"\"OpenAI Embeddings with a cache for faster retrieval and\n        to avoid extra API calls\"\"\"\n\n        class Config:\n            \"\"\"Configuration for this pydantic object.\"\"\"\n\n            extra = Extra.allow\n\n        def __init__(self, *args, **kwargs):\n            super().__init__(*args, **kwargs)\n            self._cache = EmbeddingsCache(\n                EmbeddingsCacheTable,\n                self.query_model_name,\n                binary=True,\n                binary_size=OPENAI_VECTOR_SIZE,\n            )\n\n        def embed_query(self, query):\n            \"\"\"Embed a query and cache the result\"\"\"\n            res = self._cache[query]\n            if res:\n                return res\n            embedding = super().embed_query(query)\n            self._cache[query] = embedding\n            return embedding\n\n        def embed_documents(self, documents):\n            \"\"\"Embed documents and cache the results\"\"\"\n            uncached = [d for d in documents if not self._cache[d]]\n            info(f\"Embedding {len(uncached)}/{len(documents)} uncached documents\")\n            if uncached:\n                embeddings = super().embed_documents(uncached)\n                for document, embedding in zip(uncached, embeddings):\n                    self._cache[document] = embedding\n            return [self._cache[d] for d in documents]\n\n    class QdrantCustom(Qdrant):\n        \"\"\"Qdrant with custom ID generation and bulk embedding\"\"\"\n\n        @classmethod\n        def get_id(cls, text):\n            \"\"\"Get the hash of a text string to use as an ID\"\"\"\n            return hash_text(text)\n\n        def add_texts(self, texts, metadatas=None, bulk_embedder=None):\n            \"\"\"Add texts to Qdrant. If a bulk embedder is provided, it will be\n            used to embed the texts in bulk. Otherwise, the texts will be\n            embedded one at a time.\n\n            **Parameters:**\n\n            * **texts** - (*list*) List of texts to add to Qdrant\n            * **metadatas** - (*list, optional*) List of metadata dictionaries to add to Qdrant\n            * **bulk_embedder - (*callable, optional*) A function that takes a list of texts and\n            returns a list of embeddings\n\n            **Returns:**\n\n            * **ids** - (*list*) List of IDs for the texts added to Qdrant\n\n            \"\"\"\n            ids = [self.get_id(text) for text in texts]\n            if bulk_embedder:\n                vectors = bulk_embedder(texts)\n            else:\n                vectors = [self.embedding_function(text) for text in texts]\n            payloads = self._build_payloads(\n                texts,\n                metadatas,\n                self.content_payload_key,\n                self.metadata_payload_key,\n            )\n\n            start = time.time()\n            self.client.upsert(\n                collection_name=self.collection_name,\n                points=rest.Batch.construct(\n                    ids=ids, vectors=[list(v) for v in vectors], payloads=payloads\n                ),\n            )\n            info(f\"Added {len(texts)} texts to Qdrant in {time.time() - start:.2f}s\")\n            return ids\n\n        def similarity_search_with_score(self, query, k=4, **kwargs):\n            \"\"\"Search for similar texts to a query and return the results with scores\n\n            **Parameters:**\n\n            * **query** - (*str*) The query text to search for\n            * **k** - (*int, optional*) The number of results to return\n            * **kwargs** - (*dict, optional*) Additional keyword arguments to pass to Qdrant\n\n            **Returns:**\n\n            * **results** - (*list*) List of tuples of the form (document, score)\n\n            \"\"\"\n            embedding = self.embedding_function(query)\n            results = self.client.search(\n                collection_name=self.collection_name,\n                query_vector=list(embedding),\n                with_payload=True,\n                limit=k,\n                **kwargs,\n            )\n            return [\n                (\n                    self._document_from_scored_point(\n                        result, self.content_payload_key, self.metadata_payload_key\n                    ),\n                    result.score,\n                )\n                for result in results\n            ]\n\n    class EmbeddingsAPI:\n        \"\"\"API for embedding texts and querying Qdrant\"\"\"\n\n        def __init__(self):\n            key = zillion_config[\"OPENAI_API_KEY\"]\n            self.embeddings = OpenAIEmbeddingsCached(openai_api_key=key)\n            # We delay connecting to Qdrant until we need it. This way\n            # we can init the API globally without Qdrant necessarily running.\n            self.client = None\n\n        def connect(self):\n            \"\"\"Connect to Qdrant\"\"\"\n            host = zillion_config[\"QDRANT_HOST\"]\n            info(f\"Connecting to Qdrant host: {host}...\")\n            if host == \":memory:\":\n                self.client = QdrantClient(location=host)\n            elif host.startswith(\"http\") or host in [\n                \"localhost\",\n                \"127.0.0.1\",\n                \"host.docker.internal\",\n                \"qdrant\",  # Docker container name\n            ]:\n                self.client = QdrantClient(host=host, port=6333, prefer_grpc=True)\n            else:\n                self.client = QdrantClient(path=host)\n\n        def ensure_client(self):\n            \"\"\"Make sure we have a client. If not, connect to Qdrant.\"\"\"\n            if not self.client:\n                self.connect()\n\n        def embed_documents(self, rows):\n            \"\"\"Embed a list of texts\"\"\"\n            return self.embeddings.embed_documents(rows)\n\n        def embed_query(self, query):\n            \"\"\"Embed a query\"\"\"\n            return self.embeddings.embed_query(query)\n\n        def recreate_collection(\n            self,\n            collection_name,\n            vector_size=None,\n            distance=Distance.COSINE,\n            sample=None,\n            **kwargs,\n        ):\n            \"\"\"Create or recreate a collection in Qdrant\n\n            **Parameters:**\n\n            * **collection_name** - (*str*) Name of the collection\n            * **vector_size** - (*int, optional*) Size of the vector. If not provided, will be inferred\n            from the sample.\n            * **distance** - (*Distance, optional*) Distance metric to use. Defaults to cosine.\n            * **sample** - (*str, optional*) A sample text to use to infer the vector size.\n\n            **Returns:**\n\n            * **collection** - (*QdrantCollection*) The collection\n\n            \"\"\"\n            info(f\"Recreating collection {collection_name}...\")\n            if sample and vector_size is None:\n                vector_size = len(self.embed_documents([sample])[0])\n            elif vector_size is None:\n                vector_size = DEFAULT_VECTOR_SIZE\n\n            self.ensure_client()\n            self.client.recreate_collection(\n                collection_name=collection_name,\n                vectors_config=VectorParams(size=vector_size, distance=distance),\n                **kwargs,\n            )\n            return self.get_collection(collection_name)\n\n        def create_collection_if_necessary(\n            self,\n            collection_name,\n            vector_size=None,\n            distance=Distance.COSINE,\n            sample=None,\n            **kwargs,\n        ):\n            \"\"\"Create a collection if it doesn't already exist. If it does exist,\n            just return the collection.\n\n            **Parameters:**\n\n            * **collection_name** - (*str*) Name of the collection\n            * **vector_size** - (*int, optional*) Size of the vector. If not provided, will be inferred\n            from the sample.\n            * **distance** - (*Distance, optional*) Distance metric to use. Defaults to cosine.\n            * **sample** - (*str, optional*) A sample text to use to infer the vector size.\n\n            **Returns:**\n\n            * **collection** - (*QdrantCollection*) The collection\n\n            \"\"\"\n            try:\n                collection = self.get_collection(collection_name)\n                if collection:\n                    info(\n                        f\"Collection {collection_name} already exists. Skipping creation.\"\n                    )\n                    return collection\n            except Exception as e:\n                if \"not found\" not in str(e).lower():\n                    raise e\n\n            return self.recreate_collection(\n                collection_name,\n                vector_size=vector_size,\n                distance=distance,\n                sample=sample,\n                **kwargs,\n            )\n\n        def add_texts(\n            self, collection_name, texts, metadatas=None, force_recreate=False\n        ):\n            \"\"\"Add texts to Qdrant. See QdrantCustom.add_texts for details.\"\"\"\n            self.ensure_client()\n            if force_recreate:\n                self.recreate_collection(\n                    collection_name, sample=texts[0], metadatas=metadatas\n                )\n            else:\n                self.create_collection_if_necessary(collection_name, sample=texts[0])\n\n            qdrant = QdrantCustom(\n                self.client, collection_name, self.embeddings.embed_query\n            )\n            qdrant.add_texts(\n                texts,\n                metadatas=metadatas,\n                bulk_embedder=self.embeddings.embed_documents,\n            )\n\n        def similarity_search_with_score(self, collection_name, query, **kwargs):\n            \"\"\"Search for similar texts to a query and return the results with scores.\n            See QdrantCustom.similarity_search_with_score for details.\"\"\"\n            self.ensure_client()\n            qdrant = QdrantCustom(\n                self.client, collection_name, self.embeddings.embed_query\n            )\n            return qdrant.similarity_search_with_score(query, **kwargs)\n\n        def get_collection(self, name):\n            \"\"\"Get a collection by name\"\"\"\n            self.ensure_client()\n            return self.client.get_collection(collection_name=name)\n\n        def delete_collection(self, name):\n            \"\"\"Delete a collection by name\"\"\"\n            self.ensure_client()\n            return self.client.delete_collection(collection_name=name)\n\n        def get_embeddings(\n            self, collection_name, with_payload=True, with_vectors=False\n        ):\n            \"\"\"Get all embeddings in a collection\n\n            **Parameters:**\n\n            * **collection_name** - (*str*) Name of the collection\n            * **with_payload** - (*bool, optional*) Whether to include the payload. Defaults to True.\n            * **with_vectors** - (*bool, optional*) Whether to include the vectors. Defaults to False.\n\n            **Returns:**\n\n            * **result** - (*list*) List of embeddings\n\n            \"\"\"\n            self.ensure_client()\n            collection = self.get_collection(collection_name)\n            raiseifnot(collection, f\"No collection found: {collection_name}\")\n            result = []\n            offset = None\n            while True:\n                points, next_page_offset = self.client.scroll(\n                    collection_name=collection_name,\n                    with_payload=with_payload,\n                    with_vectors=with_vectors,\n                    limit=500,\n                    offset=offset,\n                )\n                result.extend([dict(x) for x in points])\n                if next_page_offset is None:\n                    break\n                offset = next_page_offset\n            return result\n\n        def delete_embeddings(self, collection_name, texts):\n            \"\"\"Delete embeddings by text\n\n            **Parameters:**\n\n            * **collection_name** - (*str*) Name of the collection\n            * **texts** - (*list*) List of texts to delete\n\n            \"\"\"\n            ids = [QdrantCustom.get_id(text) for text in texts]\n            self.ensure_client()\n            self.client.delete(\n                collection_name=collection_name,\n                points_selector=rest.PointIdsList(points=ids),\n            )\n\n        def upsert_embedding(self, collection_name, text, payload):\n            \"\"\"Upsert an embedding\n\n            **Parameters:**\n\n            * **collection_name** - (*str*) Name of the collection\n            * **text** - (*str*) Text to upsert\n            * **payload** - (*dict*) Payload to upsert\n\n            **Returns:**\n\n            * **result** - (*dict*) Result of the upsert\n\n            \"\"\"\n            self.ensure_client()\n            qdrant = QdrantCustom(\n                self.client, collection_name, self.embeddings.embed_query\n            )\n            return qdrant.add_texts([text], metadatas=[payload])\n\n\nif nlp_installed:\n    embeddings_api = EmbeddingsAPI()\n\n\ndef field_name_to_embedding_text(name):\n    \"\"\"Convert a field name to a format for embedding\"\"\"\n    return name.replace(\"_\", \" \").lower()\n\n\ndef get_warehouse_collection_name(warehouse):\n    \"\"\"Get the collection name for a warehouse's embeddings. If it is set on\n    the config, use that. Otherwise try to use a warehouse name or fall back\n    to a default name.\"\"\"\n    meta = warehouse.meta or {}\n    if meta.get(\"nlp\", {}).get(\"collection_name\", None):\n        return meta[\"nlp\"][\"collection_name\"]\n    if not warehouse.name:\n        warn(\n            f\"Warehouse has no name. Using default embeddings collection name: {DEFAULT_WAREHOUSE_COLLECTION_NAME}\"\n        )\n        return DEFAULT_WAREHOUSE_COLLECTION_NAME\n    return warehouse.name\n\n\ndef warehouse_field_nlp_enabled(warehouse, field_def):\n    \"\"\"Check if NLP is enabled for a field. If it is disabled at any level,\n    it will be considered disabled.\"\"\"\n\n    wh_meta = warehouse.meta or {}\n    field_meta = field_def.meta or {}\n\n    # 1) Check disabled groups at warehouse level\n    if rgetkey(wh_meta, \"nlp.field_disabled_groups\", None) and \"group\" in field_meta:\n        if field_meta[\"group\"] in wh_meta[\"nlp\"][\"field_disabled_groups\"]:\n            return False\n\n    # 2) Check disabled fields by regex at warehouse level\n    if rgetkey(wh_meta, \"nlp.field_disabled_patterns\", None):\n        for pattern in wh_meta[\"nlp\"][\"field_disabled_patterns\"]:\n            if re.match(pattern, field_def.name):\n                return False\n\n    # 3) Check field level settings\n    return rgetkey(field_meta, \"nlp.enabled\", True) is not False\n\n\ndef init_warehouse_embeddings(warehouse, force_recreate=False):\n    \"\"\"\n    Initialize embeddings for the warehouse.\n\n    **Parameters:**\n\n    * **warehouse** - (Warehouse) The warehouse to initialize embeddings for.\n    * **force_recreate** - (*bool, optional*) If True, force the embeddings\n    collection to be recreated from scratch.\n\n    **Returns:**\n\n    (*Embeddings*) - The initialized EmbeddingsAPI object.\n\n    \"\"\"\n    collection_name = get_warehouse_collection_name(warehouse)\n    fields = warehouse.get_fields()\n\n    texts = []\n    metadatas = []\n    count = 0\n    for name, fdef in fields.items():\n        if not warehouse_field_nlp_enabled(warehouse, fdef):\n            continue\n\n        count += 1\n        settings = (fdef.meta or {}).get(\"nlp\", {}) or {}\n\n        if settings.get(\"embedding_text\", None):\n            # Allow overriding the default embedding text\n            emb_texts = settings[\"embedding_text\"]\n            if isinstance(emb_texts, str):\n                emb_texts = [emb_texts]\n        else:\n            emb_texts = [field_name_to_embedding_text(name)]\n\n        for emb_text in emb_texts:\n            texts.append(emb_text)\n            metadatas.append({\"name\": name, \"field_type\": fdef.field_type})\n\n    start = time.time()\n    info(\n        f\"Initializing {count}/{len(fields)} fields in embedding collection {collection_name}...\"\n    )\n    embeddings_api.add_texts(\n        collection_name=collection_name,\n        texts=texts,\n        metadatas=metadatas,\n        force_recreate=force_recreate,\n    )\n    info(f\"Done in {time.time() - start:3f} seconds.\")\n    return collection_name\n\n\ndef get_openai_class(model=None):\n    \"\"\"Get the OpenAI class to use for a given model.\"\"\"\n    model = model or zillion_config[\"OPENAI_MODEL\"]\n    return OpenAI if model == OPENAI_DAVINCI_MODEL_NAME else OpenAIChat\n\n\ndef get_openai_model_context_size(model):\n    \"\"\"Logic copied from langchain since no util exposed\"\"\"\n    if model == \"text-davinci-003\":\n        return 4097\n    elif model == \"text-curie-001\":\n        return 2048\n    elif model == \"text-babbage-001\":\n        return 2048\n    elif model == \"text-ada-001\":\n        return 2048\n    elif model == \"code-davinci-002\":\n        return 8000\n    elif model == \"code-cushman-001\":\n        return 2048\n    else:\n        return 4097\n\n\ndef build_llm(model=None, max_tokens=None, request_timeout=LLM_REQUEST_TIMEOUT):\n    \"\"\"Build an LLM using langchain and the OpenAI API.\n\n    **Parameters:**\n\n    * **model** - (str, optional) The OpenAI model to use. Defaults to the model specified in the zillion config.\n    * **max_tokens** - (int) The maximum number of tokens to generate.\n    * **request_timeout** - (int) The maximum number of seconds to wait for a response from the OpenAI API.\n\n    **Returns:**\n\n    (*llm*) - A langchain OpenAI LLM\n\n    \"\"\"\n    model = model or zillion_config[\"OPENAI_MODEL\"]\n    key = zillion_config[\"OPENAI_API_KEY\"]\n    raiseifnot(model and key, \"Missing OpenAI API key or model name in zillion config\")\n    max_tokens = max_tokens or LLM_MAX_TOKENS\n    dbg(f\"Building OpenAI {model} chain with max_tokens={max_tokens}\")\n    openai_class = get_openai_class(model)\n    return openai_class(\n        model_name=model,\n        temperature=0,\n        max_tokens=max_tokens,\n        request_timeout=request_timeout,\n        max_retries=1,\n        openai_api_key=key,\n    )\n\n\ndef build_chain(\n    prompt,\n    model=None,\n    max_tokens=LLM_MAX_TOKENS,\n    request_timeout=LLM_REQUEST_TIMEOUT,\n    llm=None,\n):\n    \"\"\"Build a chain using langchain and the OpenAI API.\n\n    **Parameters:**\n\n    * **prompt** - (PromptTemplate) The prompt to use.\n    * **model** - (str, optional) The OpenAI model to use. Defaults to the model specified in the zillion config.\n    * **max_tokens** - (int) The maximum number of tokens to generate.\n    * **request_timeout** - (int) The maximum number of seconds to wait for a response from the OpenAI API.\n    * **llm** - (llm, optional) The LLM to use. Defaults to a new LLM built using the OpenAI API.\n\n    **Returns:**\n\n    (*LLMChain*) - A langchain LLMChain object.\n\n    \"\"\"\n    llm = llm or build_llm(\n        model=model, max_tokens=max_tokens, request_timeout=request_timeout\n    )\n    return LLMChain(llm=llm, prompt=prompt)\n\n\nTEXT_TO_REPORT_NO_FIELDS = \"\"\"You are an expert SQL analyst that takes natural language input and outputs metrics, dimensions, criteria, ordering, and limit settings in JSON format.\nIf a relative date is specified, such as \"yesterday\", replace it with the actual date. The current date is: {current_date}\n\nGeneric Example 1:\n\nInput: revenue and sales by date for the last 30 days. Rows with more than 5 sales.\nOutput:\n{{\n  \"metrics\": [\"revenue\", \"sales\"],\n  \"dimensions\": [\"date\"],\n  \"criteria\": [\n    [\"date\", \">=\", \"{thirty_days_ago}\"]\n  ],\n  \"row_filters\": [\n    [\"sales\", \">\", 5]\n]\n}}\n\nGeneric Example 2:\n\nInput: show me the top 10 campaigns by revenue yesterday for ad engine Google. Include totals.\nOutput:\n{{\n  \"metrics\": [\"revenue\"],\n  \"dimensions\": [\"campaign\"],\n  \"criteria\": [\n    [\"date\", \"=\", \"{yesterday}\"],\n    [\"ad_engine\", \"=\", \"Google\"]\n  ],\n  \"limit\": 10,\n  \"order_by\": [\n    [\"revenue\", \"desc\"]\n  ],\n  \"rollup\": \"totals\"\n}}\n\n----\nComplete the following. Use JSON format and include no other commentary.\nInput: {query}\nJSON Output:\"\"\"\n\n\nTEXT_TO_REPORT_ALL_FIELDS = \"\"\"You are an expert SQL analyst that takes natural language input and outputs metrics, dimensions, criteria, ordering, and limit settings in JSON format.\nIf a relative date is specified, such as \"yesterday\", replace it with the actual date. The current date is: {current_date}\n\nSupported metrics:\n{metrics}\n\nSupported dimensions:\n{dimensions}\n\nGeneric Example 1:\n\nInput: revenue and sales by date for the last 30 days. Rows with more than 5 sales.\nJSON Output:\n{{\n  \"metrics\": [\"revenue\", \"sales\"],\n  \"dimensions\": [\"date\"],\n  \"criteria\": [\n    [\"date\", \">=\", \"{thirty_days_ago}\"]\n  ],\n  \"row_filters\": [\n    [\"sales\", \">\", 5]\n]\n}}\n\nGeneric Example 2:\n\nInput: show me the top 10 campaigns by revenue yesterday for ad engine Google. Include totals.\nJSON Output:\n{{\n  \"metrics\": [\"revenue\"],\n  \"dimensions\": [\"campaign\"],\n  \"criteria\": [\n    [\"date\", \"=\", \"{yesterday}\"],\n    [\"ad_engine\", \"=\", \"Google\"]\n  ],\n  \"limit\": 10,\n  \"order_by\": [\n    [\"revenue\", \"desc\"]\n  ],\n  \"rollup\": \"totals\"\n}}\n\n----\nComplete the following. Use JSON format and include no other commentary. Use only supported metrics and dimensions.\nInput: {query}\nJSON Output:\"\"\"\n\nTEXT_TO_REPORT_DIMENSION_FIELDS = \"\"\"You are an expert SQL analyst that takes natural language input and outputs metrics, dimensions, criteria, ordering, and limit settings in JSON format.\nIf a relative date is specified, such as \"yesterday\", replace it with the actual date. The current date is: {current_date}\n\nSupported dimensions:\n{dimensions}\n\nGeneric Example 1:\n\nInput: revenue and sales by date for the last 30 days. Rows with more than 5 sales.\nJSON Output:\n{{\n  \"metrics\": [\"revenue\", \"sales\"],\n  \"dimensions\": [\"date\"],\n  \"criteria\": [\n    [\"date\", \">=\", \"{thirty_days_ago}\"]\n  ],\n  \"row_filters\": [\n    [\"sales\", \">\", 5]\n]\n}}\n\nGeneric Example 2:\n\nInput: show me the top 10 campaigns by revenue yesterday for ad engine Google. Include totals.\nJSON Output:\n{{\n  \"metrics\": [\"revenue\"],\n  \"dimensions\": [\"campaign\"],\n  \"criteria\": [\n    [\"date\", \"=\", \"{yesterday}\"],\n    [\"ad_engine\", \"=\", \"Google\"]\n  ],\n  \"limit\": 10,\n  \"order_by\": [\n    [\"revenue\", \"desc\"]\n  ],\n  \"rollup\": \"totals\"\n}}\n\n----\nComplete the following. Use JSON format and include no other commentary.\nInput: {query}\nJSON Output:\"\"\"\n\n\ndef parse_text_to_report_json_output(output):\n    \"\"\"Parse the output of a chain that produces Zillion args as JSON\n\n    **Parameters:**\n\n    * **output** - (str) The output of the chain, expected to be valid JSON.\n\n    **Returns:**\n\n    (*dict*) - A dict of Zillion report params. Any empty values will be removed.\n\n    \"\"\"\n    if not output:\n        return None\n    try:\n        return {k: v for k, v in json.loads(output).items() if v}\n    except Exception as e:\n        error(f\"Error parsing JSON:\\n{output}\")\n        raise\n\n\n# TODO - share code for configs below\n\nPROMPT_CONFIGS = dict(\n    no_fields=dict(\n        prompt_text=TEXT_TO_REPORT_NO_FIELDS,\n        input_variables=[\"query\", \"current_date\", \"yesterday\", \"thirty_days_ago\"],\n        context_func=lambda wh: dict(\n            current_date=datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\"),\n            yesterday=str(datetime.now().date() - timedelta(days=1)),\n            thirty_days_ago=str(datetime.now().date() - timedelta(days=30)),\n        ),\n        parser=parse_text_to_report_json_output,\n    ),\n    all_fields=dict(\n        prompt_text=TEXT_TO_REPORT_ALL_FIELDS,\n        input_variables=[\n            \"query\",\n            \"current_date\",\n            \"yesterday\",\n            \"thirty_days_ago\",\n            \"metrics\",\n            \"dimensions\",\n        ],\n        context_func=lambda wh: dict(\n            metrics=get_metrics_prompt_str(wh),\n            dimensions=get_dimensions_prompt_str(wh),\n            current_date=datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\"),\n            yesterday=str(datetime.now().date() - timedelta(days=1)),\n            thirty_days_ago=str(datetime.now().date() - timedelta(days=30)),\n        ),\n        parser=parse_text_to_report_json_output,\n    ),\n    dimension_fields=dict(\n        prompt_text=TEXT_TO_REPORT_DIMENSION_FIELDS,\n        input_variables=[\n            \"query\",\n            \"current_date\",\n            \"yesterday\",\n            \"thirty_days_ago\",\n            \"dimensions\",\n        ],\n        context_func=lambda wh: dict(\n            dimensions=get_dimensions_prompt_str(wh),\n            current_date=datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\"),\n            yesterday=str(datetime.now().date() - timedelta(days=1)),\n            thirty_days_ago=str(datetime.now().date() - timedelta(days=30)),\n        ),\n        parser=parse_text_to_report_json_output,\n    ),\n)\n\n\ndef get_field_name_variants(name):\n    \"\"\"Get a list of possible close variants of a field name. This is\n    an 80/20 hack to help with fuzzy matching of field names.\n\n    **Parameters:**\n\n    * **name** - (str) The name of the field\n\n    **Returns:**\n\n    (*set*) - A set of possible variants of the field name\n    \"\"\"\n    res = {name}\n    for alt in [\n        name.lower(),\n        name.title(),\n        name.replace(\" \", \"_\"),\n        name.replace(\"_\", \" \"),\n    ]:\n        if alt not in res:\n            res.add(alt)\n    return res\n\n\n# NOTE:\n# If we ever support fuzzy matching to known dimension values,\n# could use a library like: https://github.com/seatgeek/thefuzz\n\n\ndef get_field_fuzzy(warehouse, name, field_type=None):\n    \"\"\"Try to do a fuzzy match to warehouse fields. The field names\n    from the LLM are not always exact matches to the warehouse field.\n\n    **Parameters:**\n\n    * **warehouse** - (Warehouse) The warehouse to look for a field match\n    * **name** - (str) The name of the field to match\n    * **field_type** - (str, optional) The type of field to match. If not\n    passed, will match any field type.\n\n    **Returns:**\n\n    (*str*) - The name of the field that was matched, or the original name\n    \"\"\"\n\n    has_field_func = warehouse.has_field\n    if field_type == FieldTypes.METRIC:\n        has_field_func = warehouse.has_metric\n    if field_type == FieldTypes.DIMENSION:\n        has_field_func = warehouse.has_dimension\n\n    # Check ~exact matches\n    alts = get_field_name_variants(name)\n    for alt in alts:\n        if has_field_func(alt) and warehouse_field_nlp_enabled(\n            warehouse, warehouse.get_field(alt)\n        ):\n            return alt\n\n    # Check embeddings\n    collection_name = warehouse._get_embeddings_collection_name()\n    raiseifnot(collection_name, \"No embeddings collection name found\")\n    res = embeddings_api.similarity_search_with_score(collection_name, name)\n    if field_type:\n        res = [r for r in (res or []) if r[0].metadata[\"field_type\"] == field_type]\n\n    if not res:\n        return name\n\n    best, score = res[0]\n    if score >= MIN_FIELD_SIMILARITY_SCORE:\n        dbg(f\"Found fuzzy match for {name}: {best.metadata['name']} / {score}\")\n        return best.metadata[\"name\"]\n    else:\n        warn(f\"No good match found for '{name}': {res}\")\n\n    # No good match found but guess the original name\n    return name\n\n\ndef map_warehouse_report_params(warehouse, report):\n    \"\"\"Map an LLM report params dict to the warehouse's field names.\n\n    **Parameters:**\n\n    * **warehouse** - (Warehouse) The warehouse to map the report params to\n    * **report** - (dict) The report params dict\n\n    **Returns:**\n\n    (*dict*) - A new report params dict with the warehouse's field names\n\n    \"\"\"\n    res = {}\n    for k, v in report.items():\n        if k == \"metrics\":\n            res[k] = [\n                get_field_fuzzy(warehouse, m, field_type=FieldTypes.METRIC) for m in v\n            ]\n        elif k == \"dimensions\":\n            res[k] = [\n                get_field_fuzzy(warehouse, d, field_type=FieldTypes.DIMENSION)\n                for d in v\n            ]\n        elif k == \"criteria\":\n            res[k] = [\n                (\n                    get_field_fuzzy(warehouse, c, field_type=FieldTypes.DIMENSION),\n                    op,\n                    val,\n                )\n                for c, op, val in v\n            ]\n        elif k == \"row_filters\":\n            res[k] = [(get_field_fuzzy(warehouse, f), op, val) for f, op, val in v]\n        elif k == \"rollup\":\n            # TODO should we semantic match to valid values?\n            # i.e. \"summary\" -> \"totals\n            if v and v.lower() in [\"totals\", \"summary\"]:\n                res[k] = RollupTypes.TOTALS\n            elif v and v.lower() == \"all\":\n                res[k] = RollupTypes.ALL\n        elif k == \"order_by\":\n            res[k] = [(get_field_fuzzy(warehouse, f), d) for f, d in v]\n        elif k == \"limit\":\n            res[k] = int(v) if v is not None else None\n        else:\n            raise ValueError(f\"Unexpected key {k}\")\n    return res\n\n\ndef get_fields_prompt_str(warehouse, fields):\n    \"\"\"Get a string representing names/types of given fields\"\"\"\n    res = []\n    for name, fdef in fields.items():\n        if not warehouse_field_nlp_enabled(warehouse, fdef):\n            continue\n        if getattr(fdef, \"formula\", None):\n            type_str = \"numeric\"\n        else:\n            type_str = str(fdef.type).lower() if fdef.type else \"unknown\"\n        res.append(f\"{name} ({type_str})\")\n    return \"\\n\".join(res)\n\n\ndef get_metrics_prompt_str(warehouse):\n    return get_fields_prompt_str(warehouse, warehouse.get_metrics())\n\n\ndef get_dimensions_prompt_str(warehouse):\n    return get_fields_prompt_str(warehouse, warehouse.get_dimensions())\n\n\nclass MaxTokensException(Exception):\n    pass\n\n\ndef text_to_report_params(query, warehouse=None, prompt_version=\"no_fields\"):\n    \"\"\"Convert a natural language input to Zillion report params\n\n    **Parameters:**\n\n    * **query** - (str) The natural language query to convert.\n    * **warehouse** - (Warehouse, optional) The warehouse to map the report params to\n    * **prompt_version** - (str) The version of the prompt to use\n\n    **Returns:**\n\n    (*dict*) - A dict of Zillion report params. The field names extracted are\n    not guaranteed to exist in any warehouse or datasource and need to be\n    analyzed separately.\n\n    \"\"\"\n    prompt_config = PROMPT_CONFIGS[prompt_version]\n    context = prompt_config[\"context_func\"](warehouse)\n    context[\"query\"] = query\n    prompt = PromptTemplate(\n        input_variables=prompt_config[\"input_variables\"],\n        template=prompt_config[\"prompt_text\"],\n    )\n\n    llm = build_llm(max_tokens=-1)\n    text_to_report_chain = build_chain(prompt, llm=llm)\n\n    prompt_tokens = text_to_report_chain.llm.get_num_tokens(prompt.format(**context))\n    max_tokens = get_openai_model_context_size(text_to_report_chain.llm.model_name)\n    if (prompt_tokens + 500) >= max_tokens:\n        raise MaxTokensException(f\"Prompt is too long: {prompt_tokens} tokens\")\n\n    llm_start = time.time()\n    output = text_to_report_chain.run(**context).strip(\". -\\n\\r\")\n    dbg(f\"LLM took {time.time() - llm_start:.3f}s\")\n    return prompt_config[\"parser\"](output)\n\n\nNLP_TABLE_RELATIONSHIP_PROMPT = \"\"\"Given the following tables, what are the suggested foreign key relationships starting from these tables?\nRules:\n- If there isn't a good option you must skip that table and output nothing.\n- Only include relationships between the tables given below. Do not reference any other tables not in the list.\n- Ignore self-referencing relationships (i.e. a table with a column that references itself)\n\n{table_defs}\n\nList the output relationships in child column -> parent column format with no other explanation or output.\nInclude schema and table names in the column names if possible. For example, if the table was called \"main.users\" and the column was called \"id\", the column format must be \"main.users.id\".\nOutput:\"\"\"\n\n\ndef parse_nlp_table_relationships(output):\n    \"\"\"\n    Parse the output of the NLP table relationships prompt.\n\n    **Parameters:**\n\n    * **output** - (*str*) The output of the prompt\n\n    **Returns:**\n\n    (*dict*) - Map child columns to parent columns\n\n    \"\"\"\n    if not output:\n        return {}\n    child_parent = {}\n    for row in output.strip().split(\"\\n\"):\n        if not row:\n            continue\n        if \"->\" not in row:\n            warn(f\"Invalid row in NLP table relationships output: {row}\")\n            continue\n        child_column, parent_column = [x.strip() for x in row.split(\"->\")]\n        child_parent[child_column] = parent_column\n    return child_parent\n\n\ndef get_nlp_table_relationships(metadata, table_names):\n    \"\"\"\n    Get the NLP table relationships for the given tables. Note: if a table has\n    a composite primary key it will be skipped.\n\n    **Parameters:**\n\n    * **metadata** - (*SQLAlchemy Metadata*) The metadata for the database\n    * **table_names** - (*list of str*) The names of the tables to get the relationships for\n\n    **Returns:**\n\n    (*dict*) - Map child columns to parent columns\n\n    \"\"\"\n    if not table_names:\n        return {}\n\n    table_defs = []\n\n    def get_column_str(c):\n        return f\"{c.name} ({c.type}) primary_key:{c.primary_key}\"\n\n    for table_name in table_names:\n        table = metadata.tables[table_name]\n        if len(table.primary_key) > 1:\n            warn(f\"Skipping table {table_name} with composite primary key\")\n            continue\n        table_defs.append(\n            f\"Table: {table_name}\\n\"\n            \"Fields:\\n\"\n            f\"{chr(10).join(get_column_str(c) for c in table.columns)}\"\n        )\n\n    table_defs_str = \"\\n\\n\".join(table_defs)\n\n    prompt = PromptTemplate(\n        input_variables=[\"table_defs\"],\n        template=NLP_TABLE_RELATIONSHIP_PROMPT,\n    )\n    relationship_chain = build_chain(prompt)\n\n    llm_start = time.time()\n    output = relationship_chain.run(table_defs_str).strip(\". -\\n\\r\")\n    dbg(output)\n    dbg(f\"LLM took {time.time() - llm_start:.3f}s\")\n    return parse_nlp_table_relationships(output)\n\n\nNLP_TABLE_COLUMN_PROMPT = \"\"\"For each column in the following table definition, list the following comma separated:\n\n* The column name\n* Whether the column is a metric or dimension\n* The aggregation type for the metric (sum or mean), or \"NULL\" if it is a dimension\n* The rounding for \"mean\" metrics, \"NULL\" if it is a dimension or \"sum\" metric\n\nExample output rows:\nid,dimension,NULL,NULL\nrevenue,metric,sum,2\ncpc,metric,mean,2\n\nTable definition:\n{create_table}\n\"\"\"\n\n\ndef parse_nlp_table_info(output):\n    \"\"\"Parse the output from the LLM to get the table info\n\n    **Parameters:**\n\n    * **output** - (*str*) The output from the LLM\n\n    **Returns:**\n\n    (*dict*) - A mapping of column names to properties\n\n    \"\"\"\n    res = {}\n    for row in output.strip().split(\"\\n\"):\n        name, type, aggregation, rounding = [x.strip() for x in row.split(\",\")]\n        res[name] = dict(\n            type=type,\n            aggregation=aggregation if aggregation != \"NULL\" else None,\n            rounding=int(rounding) if rounding != \"NULL\" else None,\n        )\n    return res\n\n\ntable_info_chain = None\n\n\ndef get_nlp_table_info(table):\n    \"\"\"Build a langchain chain to get the table info from the LLM\n\n    **Parameters:**\n\n    * **table** - (*SQLAlchemy table*) The table to analyze\n\n    **Returns:**\n\n    (*dict*) - A mapping of column names to properties\n\n    \"\"\"\n    raiseifnot(table.bind, \"Table must be bound to an engine\")\n    create_table = str(CreateTable(table).compile(table.bind)).strip()\n\n    global table_info_chain\n    if not table_info_chain:\n        prompt = PromptTemplate(\n            input_variables=[\"create_table\"], template=NLP_TABLE_COLUMN_PROMPT\n        )\n        table_info_chain = build_chain(prompt)\n\n    llm_start = time.time()\n    output = table_info_chain.run(create_table).strip(\". -\\n\\r\")\n    info(output)\n    info(f\"LLM took {time.time() - llm_start:.3f}s\")\n    return parse_nlp_table_info(output)\n"
  },
  {
    "path": "zillion/report.py",
    "content": "from collections import OrderedDict\nfrom concurrent.futures import as_completed, ThreadPoolExecutor\nfrom contextlib import contextmanager\nimport decimal\nimport logging\nimport random\nfrom sqlite3 import connect, Row\nimport threading\nimport time\nimport uuid\n\nimport numpy as np\nfrom pymysql.converters import escape_string\nimport pandas as pd\nimport sqlalchemy as sa\nfrom stopit import async_raise\nfrom tlbx import is_int, st\n\nfrom zillion.configs import default_field_display_name\nfrom zillion.core import *\nfrom zillion.field import (\n    FormulaDimension,\n    get_table_fields,\n    get_table_field_column,\n    FormulaField,\n    FIELD_VALUE_CHECK_OPERATIONS,\n)\nfrom zillion.model import zillion_engine, ReportSpecs\nfrom zillion.nlp import (\n    text_to_report_params,\n    MaxTokensException,\n    map_warehouse_report_params,\n)\nfrom zillion.sql_utils import (\n    sqla_compile,\n    get_sqla_criterion_expr,\n    to_sqlite_type,\n    type_string_to_sa_type,\n)\n\nlogging.getLogger(name=\"stopit\").setLevel(logging.ERROR)\n\nMAX_REPORT_DEPTH = 3\nPANDAS_ROLLUP_AGGR_TRANSLATION = {\n    AggregationTypes.COUNT: \"sum\",\n    AggregationTypes.COUNT_DISTINCT: \"sum\",\n}\n\n\nclass ExecutionStateMixin:\n    \"\"\"A mixin to manage the state of a report or query\"\"\"\n\n    def __init__(self):\n        self._lock = threading.RLock()\n        self._state = None\n\n    @property\n    def _ready(self):\n        \"\"\"Return True if in the ready state\"\"\"\n        return self._state == ExecutionState.READY\n\n    @property\n    def _querying(self):\n        \"\"\"Return True if in the querying state\"\"\"\n        return self._state == ExecutionState.QUERYING\n\n    @property\n    def _killed(self):\n        \"\"\"Return True if in the killed state\"\"\"\n        return self._state == ExecutionState.KILLED\n\n    @contextmanager\n    def _get_lock(self, timeout=None):\n        \"\"\"Acquire the lock for this object\n\n        **Parameters:**\n\n        * **timeout** - (*float, optional*) A timeout to wait trying to acquire\n        the lock\n\n        \"\"\"\n        timeout = timeout or -1  # convert to `acquire` default if falsey\n\n        result = self._lock.acquire(timeout=timeout)\n        if not result:\n            raise ExecutionLockException(\"lock wait timeout after %.3fs\" % timeout)\n\n        try:\n            yield\n        finally:\n            self._lock.release()\n\n    def _raise_if_killed(self, timeout=None):\n        \"\"\"Raise an exception if in the killed state\n\n        **Parameters:**\n\n        * **timeout** - (*float, optional*) A timeout to wait trying to acquire\n        the lock\n\n        \"\"\"\n        with self._get_lock(timeout=timeout):\n            if self._killed:\n                raise ExecutionKilledException\n\n    def _get_state(self):\n        \"\"\"Get the current object state\"\"\"\n        return self._state\n\n    def _set_state(\n        self,\n        state,\n        timeout=None,\n        assert_ready=False,\n        raise_if_killed=False,\n        set_if_killed=False,\n    ):\n        \"\"\"Set the current object state\n\n        **Parameters:**\n\n        * **state** - (*str*) A valid ExecutionState\n        * **timeout** - (*float, optional*) A timeout to wait trying to acquire\n        the lock\n        * **assert_ready** - (*bool, optional*) Raise an exception if not in the\n        ready state when called\n        * **raise_if_killed** - (*bool, optional*) Raise an exception if in the\n        killed state\n        * **set_if_killed** - (*bool, optional*) Set the execution state even if\n        killed\n\n        \"\"\"\n        raiseifnot(\n            state in get_class_var_values(ExecutionState),\n            \"Invalid state value: %s\" % state,\n        )\n        cls_name = self.__class__.__name__\n\n        with self._get_lock(timeout=timeout):\n            if assert_ready:\n                raiseifnot(\n                    self._ready,\n                    \"%s: expected ready state, got: %s\" % (cls_name, self._state),\n                )\n\n            if raise_if_killed:\n                try:\n                    self._raise_if_killed()\n                except ExecutionKilledException:\n                    if set_if_killed:\n                        dbg(\n                            \"%s: state transition: %s -> %s\"\n                            % (cls_name, self._state, state)\n                        )\n                        self._state = state\n                    raise\n\n            dbg(\"%s: state transition: %s -> %s\" % (cls_name, self._state, state))\n            self._state = state\n\n\nclass DataSourceQuery(ExecutionStateMixin, PrintMixin):\n    \"\"\"Build a query to run against a particular datasource\n\n    **Parameters:**\n\n    * **warehouse** - (*Warehouse*) A zillion warehouse\n    * **metrics** - (*OrderedDict*) An OrderedDict mapping metric names to\n    Metric objects\n    * **dimensions** - (*OrderedDict*) An OrderedDict mapping dimension names to\n    Dimension objects\n    * **criteria** - (*list*) A list of criteria to be applied when querying.\n    See the Report docs for more details.\n    * **table_set** - (*TableSet*) Build the query against this set of tables\n    that supports the requested metrics and grain\n\n    \"\"\"\n\n    repr_attrs = [\"metrics\", \"dimensions\", \"criteria\"]\n\n    @initializer\n    def __init__(self, warehouse, metrics, dimensions, criteria, table_set):\n        self._conn = None\n        self.field_map = {}\n        self.metrics = metrics or {}\n        self.dimensions = dimensions or {}\n        self.select = self._build_select()\n        super().__init__()\n        self._set_state(ExecutionState.READY)\n\n    def get_datasource(self):\n        \"\"\"Get a reference to the datasource for this query\"\"\"\n        return self.table_set.datasource\n\n    def get_datasource_name(self):\n        \"\"\"Get the name of the datasource used in this query\"\"\"\n        return self.get_datasource().name\n\n    def get_tables(self):\n        \"\"\"Get a reference to the tables used in this query\"\"\"\n        ds = self.get_datasource()\n        if not self.table_set.join:\n            return [self.table_set.ds_table]\n        return [ds.get_table(name) for name in self.table_set.join.table_names]\n\n    def get_dialect_name(self):\n        \"\"\"Get the name of the datasource dialect\"\"\"\n        return self._get_bind().dialect.name\n\n    def covers_metric(self, metric):\n        \"\"\"Check whether a metric is covered in this query\n\n        **Parameters:**\n\n        * **metric** - (*str*) A metric name\n\n        **Returns:**\n\n        (*bool*) - True if this metric is covered in this query\n\n        \"\"\"\n        if metric in self.table_set.get_covered_metrics(self.warehouse):\n            return True\n        return False\n\n    def covers_field(self, field):\n        \"\"\"Check whether a field is covered in this query\n\n        **Parameters:**\n\n        * **field** - (*str*) A field name\n\n        **Returns:**\n\n        (*bool*) - True if this field is covered in this query\n\n        \"\"\"\n        if field in self.table_set.get_covered_fields():\n            return True\n        return False\n\n    def add_metric(self, metric, adhoc_fms=None):\n        \"\"\"Add a metric to this query\n\n        **Parameters:**\n\n        * **metric** - (*str*) A metric name\n        * **adhoc_fms** - (*list, optional*) A list of adhoc FieldManagers\n\n        \"\"\"\n        raiseifnot(\n            self.covers_metric(metric), \"Metric %s can not be covered by query\" % metric\n        )\n        self.table_set.target_fields.add(metric)\n        # TODO: this implies metrics defined on multiple levels will\n        # favor warehouse-level definition.\n        self.metrics[metric] = self.warehouse.get_metric(metric, adhoc_fms=adhoc_fms)\n        self.select = self.select.column(self._get_field_expression(metric))\n\n    def get_conn(self):\n        \"\"\"Get a connection to this query's datasource\"\"\"\n        bind = self._get_bind()\n        conn = bind.connect()\n        return conn\n\n    def execute(self, timeout=None, label=None):\n        \"\"\"Execute the datasource query\n\n        **Parameters:**\n\n        * **timeout** - (*float, optional*) A query timeout in seconds\n        * **label** - (*str, optional*) A label to apply to the SQL query\n\n        **Returns:**\n\n        (*DataSourceQueryResult*) - The result of the SQL query\n\n        \"\"\"\n        start = time.time()\n        is_timeout = False\n        t = None\n\n        self._set_state(ExecutionState.QUERYING, assert_ready=True)\n\n        try:\n            raiseif(self._conn, \"Called execute with active query connection\")\n            self._conn = self.get_conn()\n\n            if label:\n                self.select = self.select.comment(label)\n\n            try:\n                dbg(\"\\n\" + self._format_query())\n\n                def do_timeout(main_thread):\n                    nonlocal is_timeout\n                    is_timeout = True\n                    self.kill(main_thread=main_thread)\n\n                if timeout:\n                    main_thread = threading.current_thread()\n                    t = threading.Timer(timeout, lambda: do_timeout(main_thread))\n                    t.start()\n\n                try:\n                    result = self._conn.execute(self.select)\n                    data = result.fetchall()\n                except Exception as e:\n                    if not is_timeout:\n                        raise\n\n                    diff = time.time() - start\n                    self._conn.invalidate()\n                    raise DataSourceQueryTimeoutException(\n                        \"query timed out after %.3fs\" % diff\n                    )\n                finally:\n                    if t:\n                        t.cancel()\n            finally:\n                try:\n                    self._conn.close()\n                except Exception as e:\n                    warn(\"Exception on connection close: %s\" % str(e))\n                self._conn = None\n\n            diff = time.time() - start\n            dbg(\"Got %d rows in %.3fs\" % (len(data), diff))\n            return DataSourceQueryResult(self, data, diff)\n        finally:\n            raise_if_killed = not is_timeout\n            self._set_state(\n                ExecutionState.READY,\n                raise_if_killed=raise_if_killed,\n                set_if_killed=True,\n            )\n\n    def kill(self, main_thread=None):\n        \"\"\"Kill this datasource query\n\n        **Parameters:**\n\n        * **main_thread** - (*Thread, optional*) A reference to the thread that\n        started the query. This is used as a backup for dialects that don't have\n        a supported way to kill a query. An exception will be asynchronously\n        raised in this thread. It is not guaranteed to actually interrupt the\n        query.\n\n        \"\"\"\n        with self._get_lock():\n            if self._ready:\n                warn(\"kill called on query that isn't running\")\n                return\n\n            if self._killed:\n                warn(\"kill called on query already being killed\")\n                return\n\n            self._set_state(ExecutionState.KILLED)\n\n        # I don't see how this could happen, but get loud if it does...\n        raiseifnot(self._conn, \"Attempting to kill with no active query connection\")\n        raw_conn = self._conn.connection\n\n        dialect = self.get_dialect_name()\n        dbg(\"Attempting kill on %s conn: %s\" % (dialect, self._conn))\n\n        if dialect == \"mysql\" and callable(getattr(raw_conn, \"thread_id\", None)):\n            kill_conn = self.get_conn()\n            conn_id = raw_conn.thread_id()\n            try:\n                kill_conn.execute(\"kill {}\".format(conn_id))\n            finally:\n                kill_conn.close()\n        elif dialect == \"sqlite\" and callable(getattr(raw_conn, \"interrupt\", None)):\n            raw_conn.interrupt()\n        elif dialect == \"postgresql\" and callable(getattr(raw_conn, \"cancel\", None)):\n            raw_conn.cancel()  # TODO: assumes psycopg2\n        elif main_thread:\n            # This isn't guaranteed to work as the thread may be waiting for\n            # an external resource to finish, but worth a shot.\n            warn(\"Trying async raise for unsupported dialect=%s\" % dialect)\n            async_raise(main_thread.ident, ExecutionKilledException)\n        else:\n            raise UnsupportedKillException(\"No kill support for dialect=%s\" % dialect)\n\n    def _format_query(self):\n        \"\"\"Return a formatted query string\"\"\"\n        return sqlformat(sqla_compile(self.select))\n\n    def _get_bind(self):\n        \"\"\"Get a connection to the datasource\"\"\"\n        ds = self.get_datasource()\n        raiseifnot(\n            ds.metadata.bind,\n            'Datasource \"%s\" does not have metadata.bind set' % ds.name,\n        )\n        return ds.metadata.bind\n\n    def _add_prefix_with(self, select):\n        \"\"\"Prefix the query if any tables or the datasource says so\"\"\"\n        prefix_with = None\n        for table in self.get_tables():\n            if table.zillion.prefix_with:\n                # First table takes precedence\n                prefix_with = table.zillion.prefix_with\n                dbg(f\"Found prefix {prefix_with} from table {table.name}\")\n                break\n\n        prefix_with = prefix_with or self.get_datasource().prefix_with\n        if prefix_with:\n            dbg(f\"Prefixing query with: {prefix_with}\")\n            select = select.prefix_with(prefix_with)\n        return select\n\n    def _build_select(self):\n        \"\"\"Build the select for this datasource query\"\"\"\n        # https://docs.sqlalchemy.org/en/latest/core/selectable.html\n        select = sa.select()\n\n        join = self._get_join()\n        select = select.select_from(join)\n\n        for dimension in self.dimensions:\n            select = select.column(self._get_field_expression(dimension))\n\n        for metric in self.metrics:\n            select = select.column(self._get_field_expression(metric))\n\n        select = self._add_where(select)\n        select = self._add_group_by(select)\n        select = self._add_prefix_with(select)\n        return select\n\n    def _get_field(self, name):\n        \"\"\"Get a reference to a field that is part of this query\n\n        **Parameters:**\n\n        * **name** - (*str*) A field name\n\n        **Returns:**\n\n        (*Field*) - A Field object\n\n        \"\"\"\n        if name in self.metrics:\n            return self.metrics[name]\n\n        if name in self.dimensions:\n            return self.dimensions[name]\n\n        for row in self.criteria:\n            if row[0].name == name:\n                return row[0]\n\n        raise ZillionException(\"Could not find field for DataSourceQuery: %s\" % name)\n\n    def _column_for_field(self, field, table=None):\n        \"\"\"Get the column that will be providing this field\n\n        **Parameters:**\n\n        * **field** - (*str*) A field name\n        * **table** - (*Table, optional*) Limit the search to this table\n\n        **Returns:**\n\n        (*SQLALchemy column*) - The table column that provides this field\n\n        \"\"\"\n        ts = self.table_set\n\n        if table is not None:\n            column = get_table_field_column(\n                ts.datasource.get_table(table.fullname), field\n            )\n        else:\n            if ts.join and field in ts.join.field_map:\n                column = ts.join.field_map[field]\n            elif field in get_table_fields(\n                ts.datasource.get_table(ts.ds_table.fullname)\n            ):\n                column = self._column_for_field(field, table=ts.ds_table)\n            else:\n                raise ZillionException(\n                    \"Could not determine column for field %s\" % field\n                )\n\n        self.field_map[field] = column\n        return column\n\n    def _get_field_expression(self, field, label=True):\n        \"\"\"Get the expression for this field\n\n        **Parameters:**\n\n        * **field** - (*str*) A field name to get an expression for\n        * **label** - (*bool, optional*) If True, label the expression with the\n        field name\n\n        **Returns:**\n\n        (*str*) - A string representing the field SQL expression\n\n        \"\"\"\n        column = self._column_for_field(field)\n        field_obj = self._get_field(field)\n        return field_obj.get_ds_expression(column, label=label)\n\n    def _get_join(self):\n        \"\"\"Get a SQLAlchemy join for this query\"\"\"\n        ts = self.table_set\n        sqla_join = None\n        last_table = None\n        joined_tables = set()\n\n        if not ts.join:\n            return ts.ds_table\n\n        for join_part in ts.join.join_parts:\n            for table_name in join_part.table_names:\n                table = ts.datasource.get_table(table_name)\n\n                if sqla_join is None:\n                    sqla_join = table\n                    last_table = table\n                    joined_tables.add(table_name)\n                    continue\n\n                if table == last_table:\n                    continue\n\n                if table_name == ts.ds_table.fullname:\n                    # If we come across the main table again we assume it's an orthogonal\n                    # join to find other dimensions and \"restart\" the join from there.\n                    # XXX: there is likely a better way to handle this.\n                    raiseifnot(\n                        table_name in joined_tables,\n                        f\"Main table_set table {table_name} was expected to be in joined_tables {joined_tables}\",\n                    )\n                    last_table = table\n                    continue\n\n                if table_name in joined_tables:\n                    # This table is already included in the join, assume it is safe to reuse\n                    # XXX: could use more testing to confirm this is always safe\n                    last_table = table\n                    continue\n\n                joined_tables.add(table_name)\n\n                conditions = []\n                for field in join_part.join_fields:\n                    last_column = self._column_for_field(field, table=last_table)\n                    column = self._column_for_field(field, table=table)\n                    conditions.append(column == last_column)\n                sqla_join = sqla_join.outerjoin(table, sa.and_(*tuple(conditions)))\n                last_table = table\n\n        return sqla_join\n\n    def _convert_criteria(self, field, conversion, value):\n        \"\"\"Convert the values of a criteria according to the conversion formulas\n        provided for this field. A single criteria may expand into multiple criteria.\"\"\"\n        final_criteria = []\n        for new_op, new_values in conversion:\n            if not isinstance(new_values, (list, tuple)):\n                new_values = [new_values]\n\n            fmt_values = []\n            for new_value in new_values:\n                # Substitute the original value(s) into the formula\n                if not isinstance(value, (list, tuple)):\n                    orig_values = [value]\n                else:\n                    orig_values = value[:]\n                if callable(new_value):\n                    new_value = new_value(orig_values)\n                else:\n                    new_value = sa.text(new_value)\n                    if new_value._bindparams:\n                        new_value = new_value.bindparams(\n                            **{\n                                str(i): v\n                                for i, v in enumerate(orig_values)\n                                if str(i) in new_value._bindparams\n                            }\n                        )\n                fmt_values.append(new_value)\n            final_criteria.append((field.name, new_op, fmt_values))\n        return final_criteria\n\n    def _add_where(self, select):\n        \"\"\"Add a where clause to a SQLAlchemy select\"\"\"\n        if not self.criteria:\n            return select\n\n        for row in self.criteria:\n            # A single criteria may be converted into multiple criteria\n            # with column criteria conversions.\n            field, op, value = row\n            column = self._column_for_field(field.name)\n\n            if op in FIELD_VALUE_CHECK_OPERATIONS and not field.is_valid_value(\n                self.warehouse.id, value\n            ):\n                raise InvalidDimensionValueException(\n                    \"Invalid criteria value '%s' for dimension '%s'\"\n                    % (value, field.name)\n                )\n\n            conv = column.zillion.get_criteria_conversion(field.name, op)\n            if conv:\n                expr = field.get_ds_expression(column, label=False, ignore_formula=True)\n                if value is None:\n                    # HACK: workaround for when conversion fields are filtered against None.\n                    # SQLAlchemy v1.3 pukes instead of using NULL when compiling the query.\n                    final_criteria = [(field, op, None)]\n                else:\n                    final_criteria = self._convert_criteria(field, conv, value)\n            else:\n                expr = self._get_field_expression(field.name, label=False)\n                final_criteria = [row]\n\n            for criteria in final_criteria:\n                criterion = sa.and_(get_sqla_criterion_expr(expr, criteria))\n                select = select.where(criterion)\n\n        return select\n\n    def _add_group_by(self, select):\n        \"\"\"Add a group by clause to a SQLAlchemy select\"\"\"\n        if not self.dimensions:\n            return select\n        return select.group_by(\n            *[sa.text(str(x)) for x in range(1, len(self.dimensions) + 1)]\n        )\n\n    def _add_order_by(self, select, asc=True):\n        \"\"\"Add an order by clause to a SQLAlchemy select\"\"\"\n        if not self.dimensions:\n            return select\n        order_func = sa.asc\n        if not asc:\n            order_func = sa.desc\n        return select.order_by(*[order_func(sa.text(x)) for x in self.dimensions])\n\n\nclass DataSourceQuerySummary(PrintMixin):\n    \"\"\"A summary of the execution results for a DataSourceQuery\n\n    **Parameters:**\n\n    * **query** - (*DataSourceQuery*) The DataSourceQuery that was executed\n    * **data** - (*iterable*) The result rows\n    * **duration** - (*float*) The duration of the query execution in seconds\n\n    \"\"\"\n\n    repr_attrs = [\"datasource_name\", \"rowcount\", \"duration\"]\n\n    def __init__(self, query, data, duration):\n        self.datasource_name = query.get_datasource_name()\n        self.metrics = query.metrics\n        self.dimensions = query.dimensions\n        self.select = query.select\n        self.duration = round(duration, 4)\n        self.rowcount = len(data)\n\n    def format(self):\n        \"\"\"Return a formatted summary of the DataSourceQuery results\"\"\"\n        sql = self._format_query()\n        parts = [\n            \"%s\" % sql,\n            \"\\n%d rows in %.4f seconds\" % (self.rowcount, self.duration),\n            \"Datasource: %s\" % self.datasource_name,\n            \"Metrics: %s\" % list(self.metrics),\n            \"Dimensions: %s\" % list(self.dimensions),\n        ]\n        return \"\\n\".join(parts)\n\n    def _format_query(self):\n        \"\"\"Return a formatted SQL query for the select that was executed\"\"\"\n        return sqlformat(sqla_compile(self.select))\n\n\nclass DataSourceQueryResult(PrintMixin):\n    \"\"\"The results for a DataSourceQuery\n\n    **Parameters:**\n\n    * **query** - (*DataSourceQuery*) The DataSourceQuery that was executed\n    * **data** - (*iterable*) The result rows\n    * **duration** - (*float*) The duration of the query execution in seconds\n\n    \"\"\"\n\n    repr_attrs = [\"summary\"]\n\n    def __init__(self, query, data, duration):\n        self.query = query\n        self.data = data\n        self.summary = DataSourceQuerySummary(query, data, duration)\n\n\nclass BaseCombinedResult:\n    \"\"\"A combination of datasource query results\n\n    **Parameters:**\n\n    * **warehouse** - (*Warehouse*) A zillion warehouse\n    * **ds_query_results** - (*list*) A list of DataSourceQueryResult objects\n    * **primary_ds_dimensions** - (*list*) A list of dimensions that will be\n    used to create the hash primary key of the combined result table\n    * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n    specific to this combined result\n\n    \"\"\"\n\n    @initializer\n    def __init__(\n        self, warehouse, ds_query_results, primary_ds_dimensions, adhoc_datasources=None\n    ):\n        self.conn = self.get_conn()\n        self.cursor = self.get_cursor(self.conn)\n        self.warnings = []\n        self.adhoc_datasources = adhoc_datasources or []\n        self.table_name = \"zillion_%s_%s\" % (\n            str(time.time()).replace(\".\", \"_\"),\n            random.randint(0, int(1e9)),\n        )\n        self.primary_ds_dimensions = (\n            orderedsetify(primary_ds_dimensions) if primary_ds_dimensions else []\n        )\n        self.ds_dimensions, self.ds_metrics = self._get_fields()\n        self.create_table()\n        self.load_table()\n\n    def get_conn(self):\n        \"\"\"Get a database connection to the combined result database\"\"\"\n        raise NotImplementedError\n\n    def get_cursor(self, conn):\n        \"\"\"Get a cursor from a database connection\"\"\"\n        raise NotImplementedError\n\n    def create_table(self):\n        \"\"\"Create the combined result table\"\"\"\n        raise NotImplementedError\n\n    def load_table(self):\n        \"\"\"Load the combined result table\"\"\"\n        raise NotImplementedError\n\n    def clean_up(self):\n        \"\"\"Clean up any resources that can/should be cleaned up\"\"\"\n        raise NotImplementedError\n\n    def add_warning(self, msg, log=True):\n        if log:\n            warn(msg)\n        self.warnings.append(msg)\n\n    def ifnull_clause(self, column_clause, ifnull_value):\n        \"\"\"Produce an ifnull clause specific to this database dialect\"\"\"\n        raise NotImplementedError\n\n    def get_metric_clause(self, metric, has_formula_dims):\n        \"\"\"Get a select clause for a metric including aggregation\"\"\"\n        raise NotImplementedError\n\n    def get_final_result(\n        self,\n        metrics,\n        dimensions,\n        row_filters,\n        rollup,\n        pivot,\n        order_by,\n        limit,\n        limit_first,\n    ):\n        \"\"\"Get the final result from the combined result table\"\"\"\n        raise NotImplementedError\n\n    def _get_row_hash(self, row):\n        \"\"\"Get a hash representing a primary key for the row. The default\n        implementation simply uses the builtin `hash` function which will only\n        provide consistent results in the same python process. This will also\n        impact performance for very large results. Each non-null item within the\n        primary dimensions is converted to its string representation before hashing.\n\n        **Parameters:**\n\n        * **row** - (*iterable*) An iterable of query result rows. It is assumed\n        the primary datasource dimensions are the first columns in each row, and\n        that the column order is consistent between rows.\n\n        **Returns:**\n\n        (*int*) - A hash value representing a key for this row.\n\n        \"\"\"\n        return hash(\n            tuple(\n                str(x) if x is not None else x\n                for x in row[: len(self.primary_ds_dimensions)]\n            )\n        )\n\n    def _get_fields(self):\n        \"\"\"Returns a 2-item tuple of dimension and metric dicts\"\"\"\n        dimensions = OrderedDict()\n        metrics = OrderedDict()\n\n        for qr in self.ds_query_results:\n            for dim_name, dim in qr.query.dimensions.items():\n                if dim_name in dimensions:\n                    continue\n                dimensions[dim_name] = dim\n\n            for metric_name, metric in qr.query.metrics.items():\n                if metric_name in metrics:\n                    continue\n                metrics[metric_name] = metric\n\n        return dimensions, metrics\n\n    def _get_field_names(self):\n        \"\"\"Get a list of field names in this combined result\"\"\"\n        dims, metrics = self._get_fields()\n        return list(dims.keys()) + list(metrics.keys())\n\n\nclass SQLiteMemoryCombinedResult(BaseCombinedResult):\n    \"\"\"Combine query results in an in-memory SQLite database\"\"\"\n\n    def get_conn(self):\n        \"\"\"Get a SQLite memory database connection\"\"\"\n        return connect(\":memory:\")\n\n    def get_cursor(self, conn):\n        \"\"\"Get a SQLite cursor from the connection\"\"\"\n        conn.row_factory = Row\n        return conn.cursor()\n\n    def create_table(self):\n        \"\"\"Create a table in the SQLite database to store the combined result\"\"\"\n        create_sql = \"CREATE TEMP TABLE %s (\" % self.table_name\n        column_clauses = [\"row_hash BIGINT NOT NULL PRIMARY KEY\"]\n\n        for field_name, field in self.ds_dimensions.items():\n            type_str = str(to_sqlite_type(field.sa_type))\n            clause = \"%s %s DEFAULT NULL\" % (field_name, type_str)\n            column_clauses.append(clause)\n\n        for field_name, field in self.ds_metrics.items():\n            type_str = str(to_sqlite_type(field.sa_type))\n            clause = \"%s %s DEFAULT NULL\" % (field_name, type_str)\n            column_clauses.append(clause)\n\n        create_sql += \", \".join(column_clauses)\n        create_sql += \") WITHOUT ROWID\"\n        create_sql = escape_string(create_sql)\n        dbg(create_sql)\n\n        self.cursor.execute(create_sql)\n        if self.primary_ds_dimensions:\n            index_sql = \"CREATE INDEX idx_dims ON %s (%s)\" % (\n                self.table_name,\n                \", \".join(self.primary_ds_dimensions),\n            )\n            index_sql = escape_string(index_sql)\n            dbgsql(index_sql)\n            self.cursor.execute(index_sql)\n        self.conn.commit()\n\n    def load_table(self):\n        \"\"\"Load the combined result table\"\"\"\n        for qr in self.ds_query_results:\n            for rows in chunks(qr.data, zillion_config[\"LOAD_TABLE_CHUNK_SIZE\"]):\n                insert_sql, values = self._get_bulk_insert_sql(rows)\n                self.cursor.executemany(insert_sql, values)\n            self.conn.commit()\n\n    def ifnull_clause(self, column_clause, ifnull_value):\n        \"\"\"Produce an ifnull clause specific to this database dialect\"\"\"\n        return f\"IFNULL({column_clause}, {ifnull_value})\"\n\n    def get_metric_clause(self, metric, has_formula_dims):\n        \"\"\"Get a select clause for a metric including aggregation\"\"\"\n        aggr = metric.aggregation.lower()\n\n        clause = metric.get_final_select_clause(\n            self.warehouse,\n            adhoc_fms=self.adhoc_datasources,\n            ifnull_clause=self.ifnull_clause,\n        )\n\n        if aggr == AggregationTypes.SUM:\n            return f\"SUM(%s) as %s\" % (clause, metric.name)\n        if aggr == AggregationTypes.MEAN:\n            if metric.weighting_metric:\n                w_metrics = self.warehouse.get_metric(metric.weighting_metric)\n                w_clause = w_metrics.get_final_select_clause(\n                    self.warehouse,\n                    adhoc_fms=self.adhoc_datasources,\n                    ifnull_clause=self.ifnull_clause,\n                )\n                # All the 1.0 stuff is to work around sqlite default casting\n                return f\"1.0 * SUM((1.0*%s) * (%s))/SUM(%s) as %s\" % (\n                    clause,\n                    w_clause,\n                    w_clause,\n                    metric.name,\n                )\n            else:\n                return f\"AVG(1.0 * %s) as %s\" % (clause, metric.name)\n        if aggr == AggregationTypes.MIN:\n            return f\"MIN(%s) as %s\" % (clause, metric.name)\n        if aggr == AggregationTypes.MAX:\n            return f\"MAX(%s) as %s\" % (clause, metric.name)\n        if aggr in (AggregationTypes.COUNT, AggregationTypes.COUNT_DISTINCT):\n            if has_formula_dims and aggr == AggregationTypes.COUNT_DISTINCT:\n                self.add_warning(\n                    f\"COUNT DISTINCT metric {metric.name} may not aggregate correctly due to formula dimensions\"\n                )\n            return f\"SUM(%s) as %s\" % (clause, metric.name)\n\n        raise AssertionError(f\"Can not translate aggregation type: {aggr}\")\n\n    def get_final_result(\n        self,\n        metrics,\n        dimensions,\n        row_filters,\n        rollup,\n        pivot,\n        order_by,\n        limit,\n        limit_first,\n    ):\n        \"\"\"Get the final reseult from the combined result table\n\n        **Parameters:**\n\n        * **metrics** - (*OrderedDict*) An OrderedDict mapping metric names to\n        Metric objects\n        * **dimensions** - (*OrderedDict*) An OrderedDict mapping dimension\n        names to Dimension objects\n        * **row_filters** - (*list*) A list of criteria to filter which rows get\n        returned\n        * **rollup** - (*str or int*) Controls how metrics are rolled up /\n        aggregated by dimension. See the Report docs for more details.\n        * **pivot** - (*list*) A list of dimensions to pivot to columns\n        * **order_by** - (*list*) A list of (field, asc/desc) tuples that\n        control the ordering of the returned result\n        * **limit** - (*int*) A limit on the number of rows returned\n        * **limit_first** - (*bool, optional*) Whether to apply limits before\n        rollups/ordering\n\n        **Returns:**\n\n        (*DataFrame*) - A DataFrame with the final report result\n\n        **Notes:**\n\n        The default ordering of operations is meant to roughly parallel that of\n        MySQL's rollup, having, order by and limit behavior. The operations\n        are applied in the following order: technicals, rollups, rounding,\n        order_by, row_filters, limit, pivot. If you set `limit_first=True`\n        the the row_filter and limit operations are moved ahead of the rollups:\n        technicals, row_filters, limit, rollups, rounding, order_by, pivot.\n\n        \"\"\"\n        start = time.time()\n        columns = []\n        dimension_aliases = []\n        custom_sorts = []\n        formula_dims = []\n        default_order_by = []\n\n        for dim in dimensions.values():\n            if isinstance(dim, FormulaDimension):\n                formula_dims.append(dim)\n            columns.append(\n                \"%s as %s\"\n                % (\n                    dim.get_final_select_clause(\n                        self.warehouse, adhoc_fms=self.adhoc_datasources\n                    ),\n                    dim.name,\n                )\n            )\n            dimension_aliases.append(dim.name)\n            if getattr(dim, \"sorter\", None):\n                custom_sorts.append((dim.name, OrderByTypes.ASC))\n            default_order_by.append((dim.name, OrderByTypes.ASC))\n\n        if custom_sorts and not order_by:\n            # We still need to do ordering even if no order_by was specified\n            # if some of the dimensions use custom sorting.\n            order_by = default_order_by\n\n        technicals = {}\n        rounding = {}\n        added_metrics = set()\n        only_weighted_metrics = set()\n\n        for metric in metrics.values():\n            if metric.name not in added_metrics:\n                if metric.technical:\n                    technicals[metric.name] = metric.technical\n                if metric.rounding is not None:\n                    rounding[metric.name] = metric.rounding\n                columns.append(self.get_metric_clause(metric, formula_dims))\n                added_metrics.add(metric.name)\n\n            if metric.weighting_metric:\n                weighting_metric = self.warehouse.get_metric(metric.weighting_metric)\n                wm_name = weighting_metric.name\n                if wm_name not in added_metrics:\n                    columns.append(\n                        self.get_metric_clause(weighting_metric, formula_dims)\n                    )\n                    added_metrics.add(wm_name)\n                    if wm_name not in metrics:\n                        only_weighted_metrics.add(wm_name)\n\n        sql = self._get_final_select_sql(columns, dimension_aliases, formula_dims)\n\n        df = pd.read_sql(sql, self.conn, index_col=dimension_aliases or None)\n\n        if technicals and not df.empty:\n            df = self._apply_technicals(df, technicals, rounding)\n\n        if limit_first:\n            df = self._apply_limits(df, row_filters, limit, metrics, dimensions)\n\n        if rollup and not df.empty:\n            df = self._apply_rollup(df, rollup, metrics, dimensions)\n\n        if only_weighted_metrics:\n            df.drop(columns=only_weighted_metrics, inplace=True)\n\n        if rounding and not df.empty:\n            df = df.round(rounding)\n\n        if order_by and not (df.empty and df.index.empty):\n            ob_fields = []\n            ascending = []\n            for row in order_by:\n                field, ob_type = row\n                ob_fields.append(field)\n                ascending.append(True if ob_type == OrderByTypes.ASC else False)\n            df = df.sort_values(\n                by=ob_fields, ascending=ascending, key=lambda x: self._sort(x, rollup)\n            )\n\n        if not limit_first:\n            df = self._apply_limits(df, row_filters, limit, metrics, dimensions)\n\n        if pivot and not df.empty:\n            df = df.unstack(pivot)\n\n        dbg(df)\n        dbg(\"Final result took %.3fs\" % (time.time() - start))\n        return df\n\n    def clean_up(self):\n        \"\"\"Clean up the SQLite combined result table\"\"\"\n        drop_sql = \"DROP TABLE IF EXISTS %s \" % self.table_name\n        self.cursor.execute(drop_sql)\n        self.conn.commit()\n        self.conn.close()\n\n    def _sort(self, series, rollup):\n        \"\"\"Apply custom sort logic to a pandas Series if possible\"\"\"\n        field = self.warehouse.get_field(series.name)\n        if not getattr(field, \"sorter\", None):\n            # Try to sort null values to the start\n            series = series.fillna(float(\"-inf\"))\n            if rollup:\n                py_type = type_string_to_sa_type(field.type).python_type\n                if py_type in [int, float]:\n                    # Convert rollups to inf so they sort to the bottom\n                    return series.replace(ROLLUP_INDEX_LABEL, float(\"inf\"))\n            return series\n        return field.sort(self.warehouse.id, series)\n\n    def _wavg(self, d, w, raise_on_zero_div_error=False):\n        try:\n            return (d * w).sum() / w.sum()\n        except ZeroDivisionError as e:\n            if raise_on_zero_div_error:\n                raise\n            self.add_warning(\n                f\"ZeroDivisionError during wavg for field '{d.name}', using simple mean instead\"\n            )\n            return d.mean()  # Return mean if there are no weights\n\n    def _select_all(self):\n        \"\"\"Helper to get all rows from the combined result table\"\"\"\n        qr = self.cursor.execute(\"SELECT * FROM %s\" % self.table_name)\n        return [OrderedDict(row) for row in qr.fetchall()]\n\n    def _get_final_select_sql(self, columns, dimension_aliases, formula_dims):\n        \"\"\"Create the final select SQL statement\n\n        **Parameters:**\n\n        * **columns** - (*list*) A list of column clauses\n        * **dimension_aliases** - (*list*) A list of dimension column names\n\n        **Returns:**\n\n        (*str*) - A SQL statement\n\n        \"\"\"\n        columns_clause = \", \".join(columns)\n        order_clause = \"1\"\n        group_by_clause = \"row_hash\"\n\n        if dimension_aliases:\n            has_extra_dims = len(self.ds_dimensions) != len(dimension_aliases)\n            order_clause = \", \".join([\"%s ASC\" % d for d in dimension_aliases])\n            if formula_dims or has_extra_dims:\n                # Formula dims can change the grouping at the combined query\n                # level so we need to explicitly group by requested dimensions\n                # instead of the row hash which could be more granular.\n                group_by_clause = \", \".join(dimension_aliases)\n\n        sql = \"SELECT %s FROM %s GROUP BY %s ORDER BY %s\" % (\n            columns_clause,\n            self.table_name,\n            group_by_clause,\n            order_clause,\n        )\n        dbg(\"\\n\" + sqlformat(sql))\n        return sql\n\n    def _get_bulk_insert_sql(self, rows):\n        \"\"\"Get a bulk SQL statement to insert the rows into the combined result\n        table. This will will also create the hash primary key column for each\n        row.\n\n        **Parameters:**\n\n        * **rows** - (*iterable*) An iterable of result rows\n\n        **Returns:**\n\n        (*str, list*) - A 2-item tuple containg the bulk SQL query the the\n        values for parameter replacement\n\n        \"\"\"\n        columns = list(rows[0].keys())\n        placeholder = \"(%s)\" % (\", \".join([\"?\"] * (1 + len(columns))))\n        columns_clause = \"row_hash, \" + \", \".join(columns)\n\n        sql = \"INSERT INTO %s (%s) VALUES %s\" % (\n            self.table_name,\n            columns_clause,\n            placeholder,\n        )\n\n        update_clauses = []\n        for k in columns:\n            if k in self.primary_ds_dimensions:\n                continue\n            update_clauses.append(\"%s=excluded.%s\" % (k, k))\n\n        if update_clauses:\n            update_clause = \" ON CONFLICT(row_hash) DO UPDATE SET \" + \", \".join(\n                update_clauses\n            )\n            sql = sql + update_clause\n\n        values = []\n        for row in rows:\n            row_values = [self._get_row_hash(row)]\n            for value in row.values():\n                # Note: sqlite cant handle Decimal values. Alternative approach:\n                # https://stackoverflow.com/questions/6319409/how-to-convert-python-decimal-to-sqlite-numeric\n                if isinstance(value, decimal.Decimal):\n                    value = float(value)\n                row_values.append(value)\n            values.append(row_values)\n\n        return escape_string(sql), values\n\n    def _apply_row_filters(self, df, row_filters, metrics, dimensions):\n        \"\"\"Apply row level filters to the final result DataFrame. This uses\n        pandas' `DataFrame.query` method.\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) The DataFrame to apply filters to\n        * **row_filters** - (*list*) A list of row filter criteria. See the\n        Report docs for more details.\n        * **metrics** - (*OrderedDict*) A ordered mapping of metric names to\n        objects\n        * **dimensions** - (*OrderedDict*) A ordered mapping of dimension names\n        to objects\n\n        **Returns:**\n\n        (*DataFrame*) - The filtered DataFrame\n\n        \"\"\"\n        filter_parts = []\n        fields = {}\n        fields.update(metrics)\n        fields.update(dimensions)\n\n        for row_filter in row_filters:\n            field, op, value = row_filter\n            if field not in fields:\n                self.add_warning(\n                    'Row filter field \"%s\" is not in result table, ignoring filter'\n                    % field\n                )\n                continue\n\n            raiseifnot(\n                op in ROW_FILTER_OPERATIONS, \"Invalid row filter operation: %s\" % op\n            )\n            if op == \"=\":\n                op = \"==\"  # pandas expects this for comparison\n\n            if fields[field].type:\n                sa_type = type_string_to_sa_type(fields[field].type)\n                py_type = sa_type.python_type\n            else:\n                # It's a formula field which doesn't have a type, so we default to float.\n                py_type = float\n\n            if not isinstance(value, py_type):\n                try:\n                    value = py_type(value)\n                except Exception as e:\n                    raise ZillionException(\n                        \"Row filter for field '%s' has invalid value type %s and could not be converted to %s\"\n                        % (field, type(value), py_type)\n                    )\n\n            if isinstance(value, str):\n                value = \"'%s'\" % value\n\n            filter_parts.append(\"(%s %s %s)\" % (field, op, value))\n\n        if not filter_parts:\n            return df\n\n        result = df.query(\" and \".join(filter_parts))\n        # https://stackoverflow.com/questions/28772494/how-do-you-update-the-levels-of-a-pandas-multiindex-after-slicing-its-dataframe\n        if dimensions and len(dimensions) > 1:\n            result.index = result.index.remove_unused_levels()\n        return result\n\n    def _get_multi_rollup_df(self, df, rollup, dimensions, aggrs, wavgs):\n        \"\"\"Calculate and insert multi level rollup rows to a DataFrame. Note\n        that this process will likely become a noticeable factor in performance\n        as the size of the DataFrame and depth of rollups grow.\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) The DataFrame to add a multi-level rollup to\n        * **rollup** - (*int or str*) Controls how metrics are rolled up /\n        aggregated by dimension. See the Report docs for more details.\n        * **dimensions** - (*OrderedDict*) An ordered mapping of dimension names\n        to objects\n        * **aggrs** - (*dict*) A mapping of aggregations to apply per DataFrame\n        column. This will get passed to the pandas `agg` method of each group.\n        * **wavgs** - (*list*) A list of metric name, weighting metric tuples to\n        denote which columns require a weighted average\n\n        **Returns:**\n\n        (*DataFrame*) - The DataFrame with rollup rows added in. The rollup\n        rows are marked in the DataFrame index with a special index label so\n        they can easily be found/filtered later.\n\n        \"\"\"\n        level_aggrs = [df]\n        dim_names = list(dimensions.keys())\n\n        # HACK: pandas has a bug when grouping MultiIndex with NaNs as values\n        if isinstance(df.index, pd.MultiIndex):\n            df.index = pd.MultiIndex.from_frame(\n                df.index.to_frame().fillna(NAN_DIMENSION_VALUE_LABEL)\n            )\n        else:\n            df.index = df.index.fillna(NAN_DIMENSION_VALUE_LABEL)\n\n        for metric_name, weighting_metric in wavgs:\n            aggrs[metric_name] = lambda x, wm=weighting_metric: self._wavg(\n                x, df.loc[x.index, wm]\n            )\n\n        for level in range(rollup):\n            if (level + 1) == len(dimensions):\n                # Unnecessary to rollup at the most granular level\n                break\n\n            grouped = df.groupby(level=list(range(0, level + 1)))\n            level_aggr = grouped.agg(aggrs, skipna=True)\n\n            # for the remaining levels, set index cols to ROLLUP_INDEX_LABEL\n            if level != (len(dimensions) - 1):\n                new_index_dims = []\n                for dim in dim_names[level + 1 :]:\n                    level_aggr[dim] = ROLLUP_INDEX_LABEL\n                    new_index_dims.append(dim)\n                level_aggr = level_aggr.set_index(new_index_dims, append=True)\n\n            level_aggrs.append(level_aggr)\n\n        df = pd.concat(level_aggrs, sort=False, copy=False)\n\n        # HACK: undo NaN placeholders\n        df.rename(index={NAN_DIMENSION_VALUE_LABEL: np.NaN}, inplace=True)\n        df.sort_index(inplace=True, na_position=\"first\")\n        return df\n\n    def _apply_rollup(self, df, rollup, metrics, dimensions):\n        \"\"\"Apply a rollup to a result DataFrame. This is only allowed if\n        dimensions are present in the report.\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) The dataframe to apply the rollup to\n        * **rollup** - (*str or int*) Controls how metrics are rolled up /\n        aggregated by dimension. See the Report docs for more details.\n        * **metrics** - (*OrderedDict*) An OrderedDict mapping metric names to\n        Metric objects\n        * **dimensions** - (*OrderedDict*) An OrderedDict mapping dimension\n        names to Dimension objects\n\n        **Returns:**\n\n        (*DataFrame*) - A DataFrame with the rollup rows added\n\n        \"\"\"\n        raiseifnot(dimensions, \"Can not rollup without dimensions\")\n        aggrs = {}\n        wavgs = []\n\n        for metric in metrics.values():\n            if metric.technical:\n                # Skip rollups of technicals since they often dont make sense\n                continue\n\n            if metric.weighting_metric:\n                wavgs.append((metric.name, metric.weighting_metric))\n\n            aggr_func = PANDAS_ROLLUP_AGGR_TRANSLATION.get(\n                metric.aggregation.lower(), metric.aggregation.lower()\n            )\n            aggrs[metric.name] = aggr_func\n\n        totals = df.agg(aggrs, skipna=True)\n        for metric_name, weighting_metric in wavgs:\n            if df[metric_name].isna().any() and isinstance(\n                metrics[metric_name], FormulaField\n            ):\n                # Weighted avg results can be thrown off if the target field has NaNs but\n                # is a formula field that might have non-NaN values in the same row for its\n                # component formula fields. Down the road it might be better to put all\n                # non-formula rollup values back into the DB and apply formulas on the rollup\n                # values to compute the rollup values of formula fields.\n                self.add_warning(\n                    f\"NULL vals found during wavg for formula field '{metric_name}', ignoring NULL rows\"\n                )\n            totals[metric_name] = self._wavg(df[metric_name], df[weighting_metric])\n\n        if rollup == RollupTypes.ALL:\n            rollup = len(dimensions)\n\n        apply_totals = True\n        if rollup != RollupTypes.TOTALS:\n            df = self._get_multi_rollup_df(df, rollup, dimensions, aggrs, wavgs)\n            if rollup != len(dimensions):\n                apply_totals = False\n\n        if apply_totals:\n            totals_rollup_index = (\n                (ROLLUP_INDEX_LABEL,) * len(dimensions)\n                if len(dimensions) > 1\n                else ROLLUP_INDEX_LABEL\n            )\n            with pd.option_context(\"mode.chained_assignment\", None):\n                df.loc[totals_rollup_index, :] = totals\n\n        return df\n\n    def _apply_technicals(self, df, technicals, rounding):\n        \"\"\"Apply technical computations on the DataFrame\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) The DataFrame to apply the technicals to\n        * **technicals** - (*dict*) A mapping of metric names to Technical\n        definitions\n        * **rounding** - (*int*) The number of decimal places to round to\n\n        **Returns:**\n\n        (*DataFrame*) - A DataFrame that has the target metrics replaced with\n        their technical computed values. Additional columns related to the\n        technicals may be added in some cases as well, such as in those that\n        show lower and upper bounds.\n\n        \"\"\"\n        for metric, tech in technicals.items():\n            tech.apply(df, metric, rounding=rounding)\n        return df\n\n    def _apply_limits(self, df, row_filters, limit, metrics, dimensions):\n        \"\"\"Apply row filters and limits to the DataFrame\n\n        **Parameters:**\n\n        * **df** - (*DataFrame*) The DataFrame to apply filters/limits to\n        * **row_filters** - (*list*) A list of criteria to filter which rows get\n        returned\n        * **limit** - (*int*) A limit on the number of rows returned\n        * **metrics** - (*OrderedDict*) An OrderedDict mapping metric names to\n        Metric objects\n        * **dimensions** - (*OrderedDict*) An OrderedDict mapping dimension\n        names to Dimension objects\n\n        **Returns:**\n\n        (*DataFrame*) - A DataFrame that has the filters/limits applied\n\n        \"\"\"\n        if row_filters and not df.empty:\n            df = self._apply_row_filters(df, row_filters, metrics, dimensions)\n\n        if limit and not (df.empty and df.index.empty):\n            df = df.iloc[:limit]\n\n        return df\n\n\nclass Report(ExecutionStateMixin):\n    \"\"\"Build a report against a warehouse. On init DataSource queries are built,\n    but nothing is executed.\n\n    **Parameters:**\n\n    * **warehouse** - (*Warehouse*) A zillion warehouse object to run the report\n    against\n    * **metrics** - (*list, optional*) A list of metric names, or dicts in the\n    case of AdHocMetrics. These will be the measures of your report, or the\n    statistics you are interested in computing at the given dimension grain.\n    * **dimensions** - (*list, optional*) A list of dimension names to control\n    the grain of the report. You can think of dimensions similarly to the \"group\n    by\" in a SQL query.\n    * **criteria** - (*list, optional*) A list of criteria to be applied when\n    querying. Each criteria in the list is represented by a 3-item list or\n    tuple. See `core.CRITERIA_OPERATIONS` for all supported\n    operations. Note that some operations, such as \"like\", have varying\n    behavior by datasource dialect. Some examples:\n        * [\"field_a\", \">\", 1]\n        * [\"field_b\", \"=\", \"2020-04-01\"]\n        * [\"field_c\", \"like\", \"%example%\"]\n        * [\"field_d\", \"in\", [\"a\", \"b\", \"c\"]]\n\n    * **row_filters** - (*list, optional*) A list of criteria to apply at the\n    final step (combined query layer) to filter which rows get returned. The\n    format here is the same as for the criteria arg, though the operations are\n    limited to the values of `core.ROW_FILTER_OPERATIONS`.\n    * **rollup** - (*str or int, optional*) Controls how metrics are rolled up\n    / aggregated by dimension depth. If not passed no rollup will be\n    computed. If the special value \"totals\" is passed, only a final tally\n    rollup row will be added. If an int, then it controls the maximum depth to\n    roll up the data, starting from the most granular (last) dimension of the\n    report. Note that the rollup=3 case is like adding a totals row to the\n    \"=2\" case, as a totals row is a rollup of all dimension levels. Setting\n    rollup=len(dims) is equivalent to rollup=\"all\". For example, if you ran a\n    report with dimensions [\"a\", \"b\", \"c\"]:\n        * **rollup=\"totals\"** - adds a single, final rollup row\n        * **rollup=\"all\"** - rolls up all dimension levels\n        * **rollup=1** - rolls up the first dimension only\n        * **rollup=2** - rolls up the first two dimensions\n        * **rollup=3** - rolls up all three dimensions\n        * Any other non-None value would raise an error\n\n    * **pivot** - (*list, optional*) A list of dimensions to pivot to columns\n    * **order_by** - (*list, optional*) A list of (field, asc/desc) tuples that\n    control the ordering of the returned result\n    * **limit** - (*int, optional*) A limit on the number of rows returned\n    * **limit_first** - (*bool, optional*) Whether to apply limits before\n    rollups/ordering\n    * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n    specific to this report\n    * **allow_partial** - (*boolean, optional*) Allow reports where only some\n    metrics can meet the requested grain.\n    * **disabled_tables** - (*list, optional*) A list of table names to disable\n    for this report.\n    * **report_depth** - (*int, optional*) The depth of subreport recursion\n    we are currently in. This is used to prevent infinite recursion when\n    building subreports.\n\n    **Notes:**\n\n    The order_by and limit functionality is only applied on the final/combined\n    result, NOT in your DataSource queries. In most cases when you are dealing\n    with DataSource tables that are of a decent size you will want to make sure\n    to include criteria that limit the scope of your query and/or take advantage\n    of underlying table indexing. If you were to use order_by or limit without\n    any criteria or dimensions, you would effectively select all rows from the\n    underlying datasource table into memory (or at least try to).\n\n    \"\"\"\n\n    def __init__(\n        self,\n        warehouse,\n        metrics=None,\n        dimensions=None,\n        criteria=None,\n        row_filters=None,\n        rollup=None,\n        pivot=None,\n        order_by=None,\n        limit=None,\n        limit_first=False,\n        adhoc_datasources=None,\n        allow_partial=False,\n        disabled_tables=None,\n        report_depth=1,\n    ):\n        start = time.time()\n\n        raiseif(\n            report_depth > MAX_REPORT_DEPTH,\n            f\"Max sub-report depth exceeded ({MAX_REPORT_DEPTH})\",\n        )\n        self.report_depth = report_depth\n\n        self.spec_id = None\n        self.meta = None\n        self.uuid = uuid.uuid1()\n        self.warehouse = warehouse\n\n        self.allow_partial = allow_partial\n        self.disabled_tables = disabled_tables or []\n        self.is_partial = False\n        self.unsupported_grain_metrics = {}\n\n        if adhoc_datasources:\n            self.warehouse.run_integrity_checks(adhoc_datasources=adhoc_datasources)\n\n        self._requested_metrics = metrics\n        self._requested_dimensions = dimensions\n        self._requested_criteria = criteria\n\n        self.metrics = self._get_fields_dict(\n            metrics, FieldTypes.METRIC, adhoc_datasources=adhoc_datasources\n        )\n        self.dimensions = self._get_fields_dict(\n            dimensions, FieldTypes.DIMENSION, adhoc_datasources=adhoc_datasources\n        )\n\n        raiseifnot(\n            self.metrics or self.dimensions,\n            \"One of metrics or dimensions must be specified for Report\",\n        )\n\n        criteria = self._process_subreports(\n            criteria, adhoc_datasources=adhoc_datasources\n        )\n\n        self.criteria = self._populate_criteria_fields(\n            criteria or [], adhoc_datasources=adhoc_datasources\n        )\n        self.row_filters = row_filters or []\n\n        self.rollup = None\n        if rollup is not None:\n            raiseifnot(dimensions, \"Must specify dimensions in order to use rollup\")\n            if rollup not in RollupTypes:\n                raiseifnot(\n                    is_int(rollup) and (0 < int(rollup) <= len(dimensions)),\n                    \"Invalid rollup value: %s\" % rollup,\n                )\n                self.rollup = int(rollup)\n            else:\n                self.rollup = rollup\n\n        self.pivot = pivot or []\n        if pivot:\n            raiseifnot(\n                set(self.pivot).issubset(set(self.dimensions)),\n                \"Pivot fields must be a subset of dimensions\",\n            )\n\n        # TODO: apply order_by and limits at the datasource level\n        # when possible.\n\n        self.order_by = order_by or []\n        if order_by:\n            self._check_order_by(self.order_by)\n\n        self.limit = limit or None\n        if self.limit is not None:\n            raiseifnot(\n                isinstance(self.limit, int) and self.limit > 0,\n                \"Limit must be an integer > 0\",\n            )\n        self.limit_first = limit_first\n\n        self.adhoc_datasources = adhoc_datasources or []\n\n        self.ds_metrics = OrderedDict()\n        self.ds_dimensions = OrderedDict()\n\n        for metric in self.metrics.values():\n            self._add_ds_fields(metric)\n\n        for dim in self.dimensions.values():\n            self._add_ds_fields(dim)\n\n        self._check_required_grain()\n        self.queries = self._build_ds_queries(\n            allow_partial=allow_partial, disabled_tables=disabled_tables\n        )\n        self.combined_query = None\n        self.result = None\n\n        super().__init__()\n        self._set_state(ExecutionState.READY)\n        dbg(\"Report init took %.3fs\" % (time.time() - start))\n\n    def get_params(self):\n        \"\"\"Get a dict of params used to create the Report\"\"\"\n        used_datasources = list({q.get_datasource_name() for q in self.queries})\n        datasources = [ds.get_params() for ds in self.warehouse.datasources]\n        return dict(\n            kwargs=dict(\n                metrics=self._requested_metrics,\n                dimensions=self._requested_dimensions,\n                criteria=self._requested_criteria,\n                row_filters=self.row_filters,\n                rollup=self.rollup,\n                pivot=self.pivot,\n                order_by=self.order_by,\n                limit=self.limit,\n                limit_first=self.limit_first,\n                allow_partial=self.allow_partial,\n            ),\n            datasources=datasources,\n            used_datasources=used_datasources,\n        )\n\n    def get_json(self):\n        \"\"\"Get a JSON representation of the Report params\"\"\"\n        return json.dumps(self.get_params())\n\n    def save(self, meta=None):\n        \"\"\"Save the report spec and return the saved spec ID\n\n        **Parameters:**\n\n        * **meta** - (*object, optional*) A metadata object to be\n        serialized as JSON and stored with the report\n\n        **Returns:**\n\n        (*int*) - The ID of the saved ReportSpec\n\n        \"\"\"\n        raiseifnot(\n            self.warehouse.id,\n            \"The Warehouse must be saved before ReportSpecs can be saved\",\n        )\n        conn = zillion_engine.connect()\n        try:\n            result = conn.execute(\n                ReportSpecs.insert(),\n                warehouse_id=self.warehouse.id,\n                params=self.get_json(),\n                meta=json.dumps(meta),\n            )\n            spec_id = result.inserted_primary_key[0]\n            raiseifnot(spec_id, \"No report spec ID found\")\n        finally:\n            conn.close()\n        self.spec_id = spec_id\n        self.meta = meta\n        return spec_id\n\n    def execute(self):\n        \"\"\"Execute the datasource queries, combine the results, and do the final\n        result selection. Save the ReportResult on the result attribute\"\"\"\n        start = time.time()\n\n        self._set_state(ExecutionState.QUERYING, assert_ready=True)\n\n        try:\n            query_results = self._execute_ds_queries(self.queries)\n            summaries = [x.summary for x in query_results]\n\n            self._raise_if_killed()\n            cr = self._create_combined_result(query_results)\n\n            used_metrics = self.metrics\n            if self.is_partial:\n                used_metrics = OrderedDict()\n                for metric_name, metric in self.metrics.items():\n                    if metric_name in self.unsupported_grain_metrics:\n                        dbg(f\"skipping {metric_name} due to unsupported grain\")\n                        continue\n                    metric_raw_fields = metric.get_all_raw_fields(\n                        self.warehouse, adhoc_fms=self.adhoc_datasources\n                    )\n                    if metric_raw_fields & self.unsupported_grain_metrics.keys():\n                        dbg(\n                            f\"skipping {metric_name} due to unsupported formula/weighting metric grain\"\n                        )\n                        continue\n                    used_metrics[metric_name] = metric\n\n            try:\n                self._raise_if_killed()\n                final_result = cr.get_final_result(\n                    used_metrics,\n                    self.dimensions,\n                    self.row_filters,\n                    self.rollup,\n                    self.pivot,\n                    self.order_by,\n                    self.limit,\n                    self.limit_first,\n                )\n                diff = time.time() - start\n                self.result = ReportResult(\n                    final_result,\n                    diff,\n                    summaries,\n                    used_metrics,\n                    self.dimensions,\n                    self.rollup,\n                    unsupported_grain_metrics=self.unsupported_grain_metrics,\n                    warnings=cr.warnings.copy(),\n                )\n                return self.result\n            finally:\n                cr.clean_up()\n        finally:\n            self._set_state(\n                ExecutionState.READY, raise_if_killed=True, set_if_killed=True\n            )\n\n    def kill(self, soft=False, raise_if_failed=False):\n        \"\"\"Kill a running report\n\n        **Parameters:**\n\n        * **soft** - (*bool, optional*) If true, set the report state to killed\n        without attempting to kill any running datasource queries.\n        * **raise_if_failed** - (*bool, optional*) If true, raise\n        FailedKillException if any exceptions occurred when trying to kill\n        datasource queries. Otherwise a warning will be emitted.\n\n        \"\"\"\n        dbg(\"killing report %s\" % self.uuid)\n\n        with self._get_lock():\n            if self._ready:\n                warn(\"kill called on report that isn't running\")\n                return\n\n            if self._killed:\n                warn(\"kill called on report already being killed\")\n                return\n\n            if soft:\n                self._set_state(ExecutionState.KILLED)\n                return\n\n            querying = self._querying  # grab state before changing it\n            self._set_state(ExecutionState.KILLED)\n\n            if querying:\n                dbg(\"attempting kill on %d report queries\" % len(self.queries))\n                exceptions = []\n\n                for query in self.queries:\n                    try:\n                        query.kill()\n                    except Exception as e:\n                        setattr(e, \"query\", query)\n                        exceptions.append(e)\n\n                if exceptions:\n                    if raise_if_failed:\n                        raise FailedKillException(exceptions)\n                    warn(\"failed to kill some queries: %s\" % exceptions)\n\n    def get_grain(self):\n        \"\"\"Get the grain of this report, which accounts for dimension fields\n        required in the requested dimensions, criteria, and formula-based\n        fields.\"\"\"\n        if not (self.ds_dimensions or self.criteria):\n            return None\n        grain = set()\n        if self.ds_dimensions:\n            grain = grain | self.ds_dimensions.keys()\n        if self.criteria:\n            grain = grain | {x[0].name for x in self.criteria}\n        return grain\n\n    def get_dimension_grain(self):\n        \"\"\"Get the portion of the grain specific to request dimensions\"\"\"\n        if not self.dimensions:\n            return None\n        return set(self.dimensions.keys())\n\n    def _get_fields_dict(self, names, field_type, adhoc_datasources=None):\n        \"\"\"Get a dict mapping of field names to Field objects\n\n        **Parameters:**\n\n        * **names** - (*list*) A list of field names\n        * **field_type** - (*str*) The FieldType\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n\n        **Returns:**\n\n        (*dict*) - A mapping of field names to Field objects\n\n        \"\"\"\n        d = OrderedDict()\n        for name in names or []:\n            if field_type == FieldTypes.METRIC:\n                field = self.warehouse.get_metric(name, adhoc_fms=adhoc_datasources)\n            elif field_type == FieldTypes.DIMENSION:\n                field = self.warehouse.get_dimension(name, adhoc_fms=adhoc_datasources)\n            else:\n                raise ZillionException(\"Invalid field type: %s\" % field_type)\n            d[field.name] = field\n        return d\n\n    def _populate_criteria_fields(self, criteria, adhoc_datasources=None):\n        \"\"\"Given the requested criteria, replace the field name references with\n        the corresponding Field objects.\"\"\"\n        field_names = [row[0] for row in criteria]\n        fields_dict = self._get_fields_dict(\n            field_names, FieldTypes.DIMENSION, adhoc_datasources=adhoc_datasources\n        )\n        final_criteria = []\n        for row in criteria:\n            row = list(row)\n            field = fields_dict[row[0]]  # Replace field name with field object\n            if isinstance(field, FormulaField):\n                raise ReportException(\n                    \"FormulaFields are not allowed in criteria: %s\" % field.name\n                )\n            row[0] = field\n            final_criteria.append(row)\n        return final_criteria\n\n    def _process_subreports(self, criteria, adhoc_datasources=None):\n        \"\"\"Process subreports in requested criteria and return an updated criteria object\"\"\"\n\n        if not criteria:\n            return criteria\n\n        final_criteria = []\n        for row in criteria:\n            field, op, value = row\n            if op not in [\"in report\", \"not in report\"]:\n                final_criteria.append(row)\n                continue\n\n            if is_int(value):\n                # The value is assumed to be a report spec ID\n                report = self.load(\n                    self.warehouse, value, adhoc_datasources=adhoc_datasources\n                )\n            elif isinstance(value, dict):\n                # The value is assumed to be a dict of report params\n                report = Report(\n                    self.warehouse,\n                    **value,\n                    adhoc_datasources=adhoc_datasources,\n                    report_depth=self.report_depth + 1,\n                )\n            else:\n                raise ReportException(f\"Invalid {op} criteria value: {value}\")\n\n            if field not in report.get_dimension_grain():\n                raise ReportException(\n                    f\"Invalid subreport, missing required dimension: {field}\"\n                )\n\n            res = report.execute()\n\n            # The field is a dimension so it will be part of the index\n            values = res.non_rollup_rows.index.unique(field).tolist()\n            dbg(f\"Subreport has {len(values)} values for {field}\")\n            if op == \"in report\":\n                final_criteria.append([field, \"in\", values])\n            else:\n                final_criteria.append([field, \"not in\", values])\n\n        return final_criteria\n\n    def _check_order_by(self, order_by):\n        \"\"\"Validate the format of the order_by specification\"\"\"\n        raiseifnot(\n            isinstance(order_by, (tuple, list)), \"order_by must be a tuple or list\"\n        )\n        fields = set()\n        for row in order_by:\n            raiseifnot(\n                len(row) == 2,\n                \"order_by must be an iterable of (field, order type) pairs\",\n            )\n            field, ob_type = row\n            raiseifnot(ob_type in OrderByTypes, \"Invalid order_by type: %s\" % ob_type)\n            fields.add(field)\n\n        raiseifnot(\n            fields.issubset(set(self.dimensions) | set(self.metrics)),\n            \"Order by fields must be a subset of Report fields\",\n        )\n\n    def _add_ds_fields(self, field):\n        \"\"\"Add all datasource fields that are part of this field. This will add\n        to either the ds_metrics or ds_dimensions attributes.\n\n        **Parameters:**\n\n        * **field** - (*Field*) A Field object to analyze\n\n        \"\"\"\n        raw_fields = field.get_all_raw_fields(\n            self.warehouse, adhoc_fms=self.adhoc_datasources\n        )\n\n        for raw_field in raw_fields:\n            if raw_field == field.name:\n                if field.field_type == FieldTypes.METRIC:\n                    self.ds_metrics[raw_field] = field\n                elif field.field_type == FieldTypes.DIMENSION:\n                    self.ds_dimensions[raw_field] = field\n                else:\n                    raise ZillionException(\"Invalid field_type: %s\" % field.field_type)\n                continue\n\n            if self.warehouse.has_metric(raw_field, adhoc_fms=self.adhoc_datasources):\n                self.ds_metrics[raw_field] = self.warehouse.get_metric(\n                    raw_field, adhoc_fms=self.adhoc_datasources\n                )\n            elif self.warehouse.has_dimension(\n                raw_field, adhoc_fms=self.adhoc_datasources\n            ):\n                self.ds_dimensions[raw_field] = self.warehouse.get_dimension(\n                    raw_field, adhoc_fms=self.adhoc_datasources\n                )\n            else:\n                raise ZillionException(\n                    \"Could not find field %s in warehouse\" % raw_field\n                )\n\n    def _get_query_label(self, query_label):\n        \"\"\"Get a standardized label for the report query\"\"\"\n        return \"Report: %s | Query: %s\" % (str(self.uuid), query_label)\n\n    def _execute_ds_queries_sequential(self, queries):\n        \"\"\"Execute all DataSource queries in sequential order\n\n        **Parameters:**\n\n        * **queries** - (*list*) A list of DataSourceQuery objects\n\n        **Returns:**\n\n        (*list*) - A list of query execution results\n\n        \"\"\"\n        results = []\n        timeout = zillion_config[\"DATASOURCE_QUERY_TIMEOUT\"]\n        for i, query in enumerate(queries):\n            self._raise_if_killed()\n            label = self._get_query_label(\"%s / %s\" % (i + 1, len(queries)))\n            result = query.execute(timeout=timeout, label=label)\n            results.append(result)\n        return results\n\n    def _execute_ds_queries_multithread(self, queries):\n        \"\"\"Execute all DataSource queries in a ThreadPoolExecutor\n\n        **Parameters:**\n\n        * **queries** - (*list*) A list of DataSourceQuery objects\n\n        **Returns:**\n\n        (*list*) - A list of query execution results\n\n        \"\"\"\n        # TODO: If any query times out, the entire report fails. It might be\n        # better if partial results could be returned.\n        finished = {}\n        timeout = zillion_config[\"DATASOURCE_QUERY_TIMEOUT\"]\n        workers = min(\n            zillion_config.get(\"DATASOURCE_QUERY_WORKERS\", len(queries)), len(queries)\n        )\n\n        with ThreadPoolExecutor(max_workers=workers) as executor:\n            futures_map = {}\n            for i, query in enumerate(queries):\n                label = self._get_query_label(\"%s / %s\" % (i + 1, len(queries)))\n                future = executor.submit(query.execute, timeout=timeout, label=label)\n                futures_map[future] = query\n\n            for future in as_completed(futures_map):\n                data = future.result()\n                query = futures_map[future]\n                finished[future] = data\n\n        return finished.values()\n\n    def _execute_ds_queries(self, queries):\n        \"\"\"Execute a set of DataSource queries. The DATASOURCE_QUERY_MODE config\n        var will control the execution mode.\n\n        **Parameters:**\n\n        * **queries** - (*list*) A list of DataSourceQuery objects\n\n        **Returns:**\n\n        (*list*) - A list of query execution results\n\n        \"\"\"\n        mode = zillion_config[\"DATASOURCE_QUERY_MODE\"]\n        dbg(\"Executing %s datasource queries in %s mode\" % (len(queries), mode))\n        start = time.time()\n        if mode == DataSourceQueryModes.SEQUENTIAL:\n            return self._execute_ds_queries_sequential(queries)\n        if mode == DataSourceQueryModes.MULTITHREAD:\n            return self._execute_ds_queries_multithread(queries)\n        dbg(\"DataSource queries took %.3fs\" % (time.time() - start))\n        raise ZillionException(\"Invalid DATASOURCE_QUERY_MODE: %s\" % mode)\n\n    def _check_required_grain(self):\n        \"\"\"Check that the dimension grain requirements are met for requested\n        fields\"\"\"\n        grain = self.get_dimension_grain() or set()\n        grain_errors = []\n\n        for metric in self.metrics.values():\n            if metric.required_grain:\n                if not set(metric.required_grain).issubset(grain):\n                    grain_errors.append(\n                        \"Grain %s is not a superset of required_grain %s for metric: %s\"\n                        % (grain, metric.required_grain, metric.name)\n                    )\n\n        for metric in self.ds_metrics.values():\n            if metric.required_grain:\n                if not set(metric.required_grain).issubset(grain):\n                    grain_errors.append(\n                        \"Grain %s is not a superset of required_grain %s for metric: %s\"\n                        % (grain, metric.required_grain, metric.name)\n                    )\n\n        if grain_errors:\n            raise UnsupportedGrainException(grain_errors)\n\n    def _build_ds_queries(self, allow_partial=False, disabled_tables=None):\n        \"\"\"Build all datasource-level queries needed for this report\"\"\"\n        grain = self.get_grain()\n        dim_grain = self.get_dimension_grain()\n        grain_errors = []\n        queries = []\n\n        def metric_covered_in_queries(metric):\n            for query in queries:\n                if query.covers_metric(metric):\n                    query.add_metric(metric, adhoc_fms=self.adhoc_datasources)\n                    return query\n            return False\n\n        for metric_name, metric in self.ds_metrics.items():\n            existing_query = metric_covered_in_queries(metric_name)\n            if existing_query:\n                dbg(\"Metric %s is covered by existing query\" % metric_name)\n                continue\n\n            try:\n                table_set = self.warehouse.get_metric_table_set(\n                    metric_name,\n                    grain,\n                    dimension_grain=dim_grain,\n                    adhoc_datasources=self.adhoc_datasources,\n                    disabled_tables=disabled_tables,\n                )\n            except UnsupportedGrainException as e:\n                # Gather all grain errors to be raised in one exception\n                grain_errors.append(str(e))\n                self.unsupported_grain_metrics[metric_name] = str(e)\n                continue\n\n            query = DataSourceQuery(\n                self.warehouse,\n                {metric.name: metric},\n                self.ds_dimensions,\n                self.criteria,\n                table_set,\n            )\n            queries.append(query)\n\n        if grain_errors:\n            if allow_partial and queries:\n                warn(\n                    f\"Running partial report for {len(queries)}/{len(self.ds_metrics)} metrics\"\n                )\n                self.is_partial = True\n            else:\n                raise UnsupportedGrainException(grain_errors)\n\n        if not self.ds_metrics:\n            dbg(\"No metrics requested, getting dimension table sets\")\n            table_set = self.warehouse.get_dimension_table_set(\n                grain,\n                dimension_grain=dim_grain,\n                adhoc_datasources=self.adhoc_datasources,\n                disabled_tables=disabled_tables,\n            )\n            query = DataSourceQuery(\n                self.warehouse, None, self.ds_dimensions, self.criteria, table_set\n            )\n            queries.append(query)\n\n        for query in queries:\n            dbgsql(sqla_compile(query.select))\n\n        return queries\n\n    def _create_combined_result(self, ds_query_results):\n        \"\"\"Create a single combined result from the datasource query resultss\n\n        **Parameters:**\n\n        * **ds_query_results** - (*list*) A list of DataSourceQueryResult\n        objects\n\n        \"\"\"\n        start = time.time()\n        result = SQLiteMemoryCombinedResult(\n            self.warehouse,\n            ds_query_results,\n            list(self.ds_dimensions.keys()),\n            adhoc_datasources=self.adhoc_datasources,\n        )\n        dbg(\"Combined result took %.3fs\" % (time.time() - start))\n        return result\n\n    @classmethod\n    def from_params(cls, warehouse, params, adhoc_datasources=None, report_depth=1):\n        \"\"\"Build a report from a set of report params\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse object\n        * **params** - (*dict*) A dict of Report params\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        * **report_depth** - (*int, optional*) The depth of the subreport,\n        used internally to prevent too much recursion.\n\n        \"\"\"\n        used_dses = set(params.get(\"used_datasources\", []))\n        wh_dses = warehouse.datasource_names\n        all_dses = set(wh_dses) | {x.name for x in (adhoc_datasources or [])}\n        if not used_dses.issubset(all_dses):\n            raise ReportException(\n                \"Report requires datasources that are not present: %s Found: %s\"\n                % (used_dses - all_dses, all_dses)\n            )\n        return Report(\n            warehouse,\n            **params[\"kwargs\"],\n            adhoc_datasources=adhoc_datasources,\n            report_depth=report_depth,\n        )\n\n    @classmethod\n    def from_text(\n        cls,\n        warehouse,\n        text,\n        adhoc_datasources=None,\n        allow_partial=False,\n        report_depth=1,\n    ):\n        \"\"\"Build a report from a set of report params\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse object\n        * **text** - (*str*) A natural language query\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        * **allow_partial** - (*bool, optional*) Allow partial report results\n        * **report_depth** - (*int, optional*) The depth of the subreport,\n        used internally to prevent too much recursion.\n\n        **Returns:**\n\n        * **report** - (*Report*) A report object\n\n        \"\"\"\n\n        params = None\n        prompts = [\"all_fields\", \"dimension_fields\", \"no_fields\"]\n        for prompt in prompts:\n            try:\n                params = text_to_report_params(text, warehouse, prompt_version=prompt)\n                break\n            except MaxTokensException as e:\n                warn(f\"Max tokens exceeded, retrying with fallback prompt\")\n\n        raiseifnot(params, \"Could not parse report params from text: %s\" % text)\n\n        report_params = map_warehouse_report_params(warehouse, params)\n        return Report(\n            warehouse,\n            **report_params,\n            adhoc_datasources=adhoc_datasources,\n            allow_partial=allow_partial,\n            report_depth=report_depth,\n        )\n\n    @classmethod\n    def load(cls, warehouse, spec_id, adhoc_datasources=None, report_depth=1):\n        \"\"\"Load a report from a spec ID\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse object\n        * **spec_id** - (*int*) A ReportSpec ID\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        * **report_depth** - (*int, optional*) The depth of the subreport,\n        used internally to prevent too much recursion.\n\n        \"\"\"\n        spec = cls._load_report_spec(warehouse, spec_id)\n        if not spec:\n            raise InvalidReportIdException(\n                \"Could not find report for spec id: %s\" % spec_id\n            )\n        params = json.loads(spec[\"params\"])\n        meta = json.loads(spec[\"meta\"]) if spec[\"meta\"] else None\n        result = cls.from_params(\n            warehouse,\n            params,\n            adhoc_datasources=adhoc_datasources,\n            report_depth=report_depth,\n        )\n        result.meta = meta\n        return result\n\n    @classmethod\n    def load_warehouse_id_for_report(cls, spec_id):\n        \"\"\"Get the Warehouse ID for a particular report spec\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) A ReportSpec ID\n\n        **Returns:**\n\n        (*dict*) - A Warehouse ID\n\n        \"\"\"\n        s = sa.select([ReportSpecs.c.warehouse_id]).where(ReportSpecs.c.id == spec_id)\n        conn = zillion_engine.connect()\n        try:\n            result = conn.execute(s)\n            row = result.fetchone()\n            if not row:\n                return None\n            return row[\"warehouse_id\"]\n        finally:\n            conn.close()\n\n    @classmethod\n    def delete(cls, warehouse, spec_id):\n        \"\"\"Delete a saved report spec\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) The ID of a ReportSpec to delete\n\n        \"\"\"\n        s = ReportSpecs.delete().where(\n            sa.and_(\n                ReportSpecs.c.warehouse_id == warehouse.id, ReportSpecs.c.id == spec_id\n            )\n        )\n        conn = zillion_engine.connect()\n        try:\n            conn.execute(s)\n        finally:\n            conn.close()\n\n    @classmethod\n    def _load_report_spec(cls, warehouse, spec_id):\n        \"\"\"Get a ReportSpec row from a ReportSpec ID. The report spec must\n        exist within the context of the given warehouse.\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse object\n        * **spec_id** - (*int*) The ID of the ReportSpec to load\n\n        **Returns:**\n\n        (*dict*) - A ReportSpec row\n\n        \"\"\"\n        raiseifnot(\n            warehouse.id, \"trying to load ReportSpec for unspecified Warehouse ID\"\n        )\n        s = sa.select(ReportSpecs.c).where(\n            sa.and_(\n                ReportSpecs.c.warehouse_id == warehouse.id, ReportSpecs.c.id == spec_id\n            )\n        )\n        conn = zillion_engine.connect()\n        try:\n            result = conn.execute(s)\n            row = result.fetchone()\n            return row\n        finally:\n            conn.close()\n\n    @classmethod\n    def _load_params(cls, warehouse, spec_id):\n        \"\"\"Get Report params from a ReportSpec ID\n\n        **Parameters:**\n\n        * **warehouse** - (*Warehouse*) A zillion warehouse object\n        * **spec_id** - (*int*) The ID of the ReportSpec to load params for\n\n        **Returns:**\n\n        (*dict*) - A dict of Report params\n\n        \"\"\"\n        spec = cls._load_report_spec(warehouse, spec_id)\n        if not spec:\n            raise InvalidReportIdException(\n                \"Could not find report for spec id: %s\" % spec_id\n            )\n        return json.loads(spec[\"params\"])\n\n\nclass ReportResult(PrintMixin):\n    \"\"\"Encapsulates a report result as well as some additional helpers and\n    summary statistics.\n\n    **Parameters:**\n\n    * **df** - (*DataFrame*) The DataFrame containing the final report result\n    * **duration** - (*float*) The report execution duration in seconds\n    * **query_summaries** - (*list of DataSourceQuerySummary*) Summaries of the\n    underyling query results.\n    * **metrics** - (*OrderedDict*) A mapping of requested metrics to Metric objects\n    * **dimensions** - (*OrderedDict*) A mapping of requested dimensions to Dimension\n    objects\n    * **rollup** - (*str or int*) See the Report docs for more details.\n    * **unsupported_grain_metrics** - (*dict*) A dictionary mapping metric names to\n    reasons why they could not meet the requested grain of the Report.\n\n    \"\"\"\n\n    repr_attrs = [\"rowcount\", \"duration\", \"is_partial\", \"query_summaries\"]\n\n    @initializer\n    def __init__(\n        self,\n        df,\n        duration,\n        query_summaries,\n        metrics,\n        dimensions,\n        rollup,\n        unsupported_grain_metrics=None,\n        warnings=None,\n    ):\n        raiseif(metrics and (not isinstance(metrics, OrderedDict)))\n        raiseif(dimensions and (not isinstance(dimensions, OrderedDict)))\n        self.duration = round(duration, 4)\n        self.rowcount = len(df)\n        self.is_partial = True if unsupported_grain_metrics else False\n\n    @property\n    def rollup_mask(self):\n        \"\"\"Get a mask of rows that contain the rollup marker\"\"\"\n        mask = None\n        index = self.df.index\n        for i in range(index.nlevels):\n            if mask is None:\n                mask = index.isin([ROLLUP_INDEX_LABEL], i)\n            else:\n                mask = mask | index.isin([ROLLUP_INDEX_LABEL], i)\n        return mask\n\n    @property\n    def rollup_rows(self):\n        \"\"\"Get the rows of the dataframe that are rollups\"\"\"\n        return self.df.loc[self.rollup_mask]\n\n    @property\n    def non_rollup_rows(self):\n        \"\"\"Get the rows of the dataframe that are not rollups\"\"\"\n        return self.df.loc[~self.rollup_mask]\n\n    @property\n    def display_name_map(self):\n        \"\"\"Get the map from default to display names\"\"\"\n        name_map = {v.name: v.display_name or v.name for v in self.dimensions.values()}\n        for column in self.df.columns:\n            if column in self.metrics:\n                field = self.metrics[column]\n                name_map[column] = field.display_name or field.name\n            else:\n                # Some technicals add additional columns, this ensures they\n                # use a reasonable display format instead of getting ignored.\n                name_map[column] = default_field_display_name(column)\n        return name_map\n\n    @property\n    def df_display(self):\n        \"\"\"Get the rows of the dataframe with data in display format. This\n        includes replacing rollup markers with display values\"\"\"\n        df = self.df\n        if self.rollup:\n            df = df.rename(index={ROLLUP_INDEX_LABEL: ROLLUP_INDEX_DISPLAY_LABEL})\n        if self.dimensions:\n            df.index.names = [\n                v.display_name or v.name for v in self.dimensions.values()\n            ]\n        return df.rename(columns=self.display_name_map)\n"
  },
  {
    "path": "zillion/scripts/__init__.py",
    "content": ""
  },
  {
    "path": "zillion/scripts/bootstrap_datasource_config.py",
    "content": "\"\"\"\nThis is a helper script to bootstrap the creation of a config for a datasource.\nThis is useful when you have an existing database that you want to create a \nDataSource or Warehouse for, but would like to save some time on the boilerplate \nwork that goes into creating and structuring the config file. This script will reflect\nthe database schema and do its best to infer the metric, dimension, and table\nconfigurations. \n\nNote that this does not produce a full Warehouse config -- you'll still need to\nadd the datasource config to a warehouse config.\n\nWARNING: Any secret information (e.g. passwords) in the given connection url will \nbe stored in plaintext in the output file. See https://totalhack.github.io/zillion/#config-variables\nfor more information on how to use config variables as secret placeholders.\n\nWARNING: This is not intended to produce a production-ready config output! It is strongly \nrecommended that you review the output and customize to your needs.\n\n\"\"\"\n\nimport argparse\nimport getpass\nimport os\n\nfrom tlbx import Script, Arg, prompt_user, json, st\nimport yaml\n\nfrom zillion.configs import (\n    field_safe_name,\n    default_field_display_name,\n    DataSourceConfigSchema,\n)\nfrom zillion.core import (\n    set_log_level,\n    info,\n    warn,\n    FieldTypes,\n    TableTypes,\n    IfFileExistsModes,\n)\nfrom zillion.datasource import (\n    entity_name_from_file,\n    data_url_to_metadata,\n    connect_url_to_metadata,\n    reflect_metadata,\n    DataSource,\n)\nfrom zillion.nlp import get_nlp_table_info, get_nlp_table_relationships\nfrom zillion.sql_utils import (\n    column_fullname,\n    is_probably_metric,\n    to_generic_sa_type,\n    infer_aggregation_and_rounding,\n)\nfrom zillion.warehouse import Warehouse\n\n\nset_log_level(\"INFO\")\n\n\ndef get_primary_key(table, full_names=False):\n    \"\"\"Get the primary key fields for a table, optionally with fully qualified names\"\"\"\n    if full_names:\n        return [field_safe_name(column_fullname(x)) for x in table.primary_key.columns]\n    return [\n        field_safe_name(table.name + \"_\" + x.name) for x in table.primary_key.columns\n    ]\n\n\ndef get_field_name(table, column, full_names=False):\n    \"\"\"Get the field name for a column, optionally with fully qualified names\"\"\"\n    if full_names:\n        return field_safe_name(column_fullname(column))\n    return field_safe_name(table.name + \"_\" + column.name)\n\n\ndef get_foreign_key_relationships(metadata, table_configs):\n    \"\"\"Get the foreign key relationships between tables\n\n    **Parameters:**\n\n    * **metadata** - (*SQLAlchemy metadata*) The SQLAlchemy metadata object\n    * **table_configs** - (*dict*) The table configs to use\n\n    **Returns:**\n\n    * **metric_rel** - (*dict*) A dictionary mapping metric child->parent relationships\n    * **dim_rel** - (*dict*) A dictionary mapping dimension child->parent relationships\n\n    \"\"\"\n    metric_rel = {}\n    dim_rel = {}\n\n    for table_name, table_config in table_configs.items():\n        table = metadata.tables[table_name]\n        if not table.foreign_keys:\n            continue\n\n        for fk in table.foreign_keys:\n            # SQLAlchemy does it backwards from how we view parent/child!\n            child = column_fullname(fk.parent)\n            parent = column_fullname(fk.column)\n            if table_config[\"type\"] == TableTypes.METRIC:\n                metric_rel[child] = parent\n            else:\n                dim_rel[child] = parent\n\n    return metric_rel, dim_rel\n\n\ndef infer_table_relationships(metadata, table_configs, nlp=False):\n    \"\"\"Infer table relationships from the database schema and modify\n    the table configs in place. Foreign key relationships defined in the\n    metadata take precedence over relationships inferred from NLP.\n\n    **Parameters:**\n\n    * **metadata** - (*SQLAlchemy metadata*) The SQLAlchemy metadata object\n    * **table_configs** - (*list of dicts*) The table configs to use\n    * **nlp** - (*bool, optional*) Whether to use NLP to infer relationships. Requires\n    the NLP extension to be installed.\n\n    \"\"\"\n    metric_rel, dim_rel = get_foreign_key_relationships(metadata, table_configs)\n\n    if nlp:\n        info(f\"---- Inferring metric table relationships from NLP\")\n        # Metric tables can join to either type, so include all configs\n        nlp_metric_rel = get_nlp_table_relationships(metadata, table_configs)\n        # FK relationships take precedence over NLP\n        nlp_metric_rel.update(metric_rel)\n        metric_rel = nlp_metric_rel\n\n        dim_tables = {\n            k for k, v in table_configs.items() if v[\"type\"] == TableTypes.DIMENSION\n        }\n\n        info(f\"---- Inferring dimension relationships from NLP\")\n        nlp_dim_rel = get_nlp_table_relationships(metadata, dim_tables)\n        # FK relationships take precedence over NLP\n        nlp_dim_rel.update(dim_rel)\n        dim_rel = nlp_dim_rel\n\n    all_rel = {**metric_rel, **dim_rel}\n\n    for child_column_full, parent_column_full in all_rel.items():\n        child_table = \".\".join(child_column_full.split(\".\")[:-1])\n        parent_table = \".\".join(parent_column_full.split(\".\")[:-1])\n        if child_table not in table_configs:\n            warn(\n                f\"Table {child_table} not found for {child_column_full}->{parent_column_full}, LLM may have made it up.\"\n            )\n            continue\n        child_config = table_configs[child_table]\n        if parent_table not in table_configs:\n            warn(\n                f\"Table {parent_table} not found for {child_column_full}->{parent_column_full}, LLM may have made it up.\"\n            )\n            continue\n        parent_config = table_configs[parent_table]\n\n        if child_table == parent_table:\n            warn(f\"Skipping self-referential relationship for {child_column_full}\")\n            continue\n\n        if child_config.get(\"parent\", None):\n            warn(f\"Parent already set for {child_table}, skipping\")\n            continue\n\n        parent_pk = parent_config[\"primary_key\"]\n        if len(parent_pk) != 1:\n            warn(f\"Multiple primary key columns found for {parent_table}, skipping\")\n            continue\n\n        if (\n            child_config[\"type\"] == TableTypes.DIMENSION\n            and parent_config[\"type\"] == TableTypes.METRIC\n        ):\n            warn(\n                f\"Skipping dimension->metric relationship for {child_column_full}->{parent_column_full}\"\n            )\n            continue\n\n        set_parent = True\n        if (\n            child_config[\"type\"] == TableTypes.METRIC\n            and parent_config[\"type\"] == TableTypes.DIMENSION\n        ):\n            # This is not a parent-child relationship, just a joinable dimension\n            # Ensure the \"parent\" pk is in the child fields\n            set_parent = False\n\n        child_column = child_column_full.split(\".\")[-1]\n        parent_pk = parent_pk[0]\n        if set_parent:\n            child_config[\"parent\"] = parent_table\n        for cname, cconfig in child_config[\"columns\"].items():\n            if cname != child_column:\n                continue\n            fields = cconfig[\"fields\"]\n            if parent_pk in fields:\n                # Field already references the parent pk\n                continue\n\n            fields.append(parent_pk)\n\n\ndef get_configs(\n    metadata,\n    tables=None,\n    ignore_tables=None,\n    manual_table_types=False,\n    full_names=False,\n    nlp=False,\n):\n    \"\"\"Get the fields and table configs for a database schema\n\n    **Parameters:**\n\n    * **metadata** - (SQLAlchemy metadata) The SQLAlchemy metadata object\n    * **tables** - (list of str) The tables to include, if None include all\n    * **ignore_tables** - (list of str) The tables to ignore, if None ignore none\n    * **manual_table_types** - (bool) Whether to prompt the user for table types\n    * **full_names** - (bool) Whether to use fully qualified names for fields\n    * **nlp** - (bool) Whether to use NLP to infer relationships. Requires\n    the NLP extension to be installed.\n\n    **Returns:**\n\n    * **table_configs** - (dict) The table configs\n    * **metrics** - (list of str) The metric fields\n    * **dimensions** - (list of str) The dimension fields\n\n    \"\"\"\n    metrics = []\n    dimensions = []\n    table_configs = {}\n\n    for table_name, table in metadata.tables.items():\n        if tables and table_name not in tables:\n            info(f\"Skipping table: {table_name}\")\n            continue\n\n        if ignore_tables and table_name in ignore_tables:\n            info(f\"Skipping table: {table_name}\")\n            continue\n\n        info(f\"\\n---- Table: {table_name}\")\n\n        table_type = None\n        table_metrics = []\n        table_dimensions = []\n        table_columns = {}\n        primary_key = get_primary_key(table, full_names=full_names)\n\n        nlp_table_info = get_nlp_table_info(table) if nlp else {}\n\n        if manual_table_types:\n            type_prompt = prompt_user(\n                \"Metric table (m), Dimension table (d), or skip (s)?\", [\"m\", \"d\", \"s\"]\n            )\n            if type_prompt == \"s\":\n                continue\n\n            table_type = (\n                TableTypes.METRIC if type_prompt == \"m\" else TableTypes.DIMENSION\n            )\n\n        for column in table.c:\n            field_name = get_field_name(table, column, full_names=full_names)\n            table_columns[str(column.name)] = dict(fields=[field_name])\n            coltype = str(to_generic_sa_type(column.type)).lower()\n            nlp_column_info = nlp_table_info.get(column.name, {})\n\n            if (\n                table_type == TableTypes.METRIC or (not manual_table_types)\n            ) and is_probably_metric(column, nlp_column_info=nlp_column_info):\n                if table_type is None:\n                    info(f\"{table_name} inferred as metric table\")\n                    table_type = TableTypes.METRIC\n\n                field_type = FieldTypes.METRIC\n                aggregation = nlp_column_info.get(\"aggregation\", None)\n                rounding = nlp_column_info.get(\"rounding\", None)\n                _aggregation, _rounding = infer_aggregation_and_rounding(column)\n                table_metrics.append(\n                    dict(\n                        name=field_name,\n                        display_name=default_field_display_name(field_name),\n                        type=coltype,\n                        aggregation=(\n                            aggregation.lower() if aggregation != None else _aggregation\n                        ),\n                        rounding=int(rounding) if rounding != None else _rounding,\n                    )\n                )\n            else:\n                field_type = FieldTypes.DIMENSION\n                table_dimensions.append(\n                    dict(\n                        name=field_name,\n                        display_name=default_field_display_name(field_name),\n                        type=coltype,\n                    )\n                )\n\n            info(f\"Adding {field_type} for {table_name}.{column.name}\")\n\n        if table_type is None:\n            info(f\"{table_name} inferred as dimension table\")\n            table_type = TableTypes.DIMENSION\n\n        table_configs[table_name] = dict(\n            type=table_type,\n            primary_key=primary_key,\n            columns=table_columns,\n        )\n        metrics.extend(table_metrics)\n        dimensions.extend(table_dimensions)\n\n    return table_configs, metrics, dimensions\n\n\nclass SecureAction(argparse.Action):\n    def __call__(self, parser, namespace, values, option_string=None):\n        if values is None:\n            values = getpass.getpass(self.dest + \": \")\n        setattr(namespace, self.dest, values)\n\n\n@Script(\n    Arg(\n        \"url\",\n        action=SecureAction,\n        nargs=\"?\",\n        type=str,\n        help=\"Database connection string or url. You will be prompted for this on script run.\",\n    ),\n    Arg(\"filename\", type=str, help=\"Filename to output config to\"),\n    Arg(\n        \"--tables\",\n        nargs=\"+\",\n        default=None,\n        help=\"A list of full table names to filter to (<schema>.<table>)\",\n    ),\n    Arg(\n        \"--ignore-tables\",\n        nargs=\"+\",\n        default=None,\n        help=\"A list of full table names to ignore (<schema>.<table>)\",\n    ),\n    Arg(\"--ds-name\", type=str, default=None, help=\"Name to give the DataSource\"),\n    Arg(\n        \"--full-names\", action=\"store_true\", default=False, help=\"Use full column names\"\n    ),\n    Arg(\n        \"--verify\",\n        action=\"store_true\",\n        default=False,\n        help=\"Verify config by loading as a Warehouse to run integrity checks\",\n    ),\n    Arg(\n        \"--manual-table-types\",\n        action=\"store_true\",\n        default=False,\n        help=\"Prompt to confirm table types instead of inferring from presence of metrics\",\n    ),\n    Arg(\n        \"--yaml\",\n        action=\"store_true\",\n        dest=\"use_yaml\",\n        default=False,\n        help=\"Output config as YAML instead of JSON\",\n    ),\n    Arg(\"--indent\", type=int, default=4, help=\"Config file indentation\"),\n    Arg(\n        \"--nlp\",\n        action=\"store_true\",\n        default=False,\n        help=\"Leverage NLP/AI to bootstrap the configuration. Requires OpenAI settings in your zillion config file.\",\n    ),\n)\ndef main(\n    url,\n    filename,\n    tables=None,\n    ignore_tables=None,\n    ds_name=None,\n    full_names=False,\n    verify=False,\n    manual_table_types=False,\n    use_yaml=False,\n    indent=None,\n    nlp=False,\n):\n    connect_params = {}\n\n    if os.path.isfile(url) or url.startswith(\"http\"):\n        ds_name = ds_name or entity_name_from_file(url)\n        metadata = data_url_to_metadata(\n            url, ds_name, if_exists=IfFileExistsModes.IGNORE\n        )\n        connect_params = dict(data_url=url, if_exists=IfFileExistsModes.IGNORE)\n    else:\n        metadata = connect_url_to_metadata(url, ds_name=ds_name)\n        connect_params = dict(connect_url=url)\n\n    reflect_metadata(metadata)\n\n    table_configs, metrics, dimensions = get_configs(\n        metadata,\n        tables=tables,\n        ignore_tables=ignore_tables,\n        manual_table_types=manual_table_types,\n        full_names=full_names,\n        nlp=nlp,\n    )\n\n    infer_table_relationships(metadata, table_configs, nlp=nlp)\n\n    res = dict(\n        connect=dict(params=connect_params),\n        metrics=metrics,\n        dimensions=dimensions,\n        tables=table_configs,\n    )\n    schema = DataSourceConfigSchema()\n    schema.load(res)\n\n    info(\"Creating Datasource\")\n    ds = DataSource(ds_name or \"bootstrap\", config=res)\n\n    with open(filename, \"w\") as f:\n        if use_yaml:\n            f.write(yaml.dump(res, indent=indent, sort_keys=False))\n        else:\n            f.write(json.dumps(res, indent=indent))\n    info(f\"Wrote output to {filename}\")\n    warn(\n        f\"WARNING: your connection string is stored in {filename}! If it has sensitive information you should use datasource context vars with placeholders instead.\\nSee https://totalhack.github.io/zillion/#config-variables\"\n    )\n\n    if verify:\n        info(\"Verifying Warehouse\")\n        Warehouse(datasources=[ds])\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "zillion/scripts/json_to_yaml.py",
    "content": "#!/usr/bin/env python\n\nimport sys, yaml, json\n\nprint(yaml.dump(json.loads(sys.stdin.read()), indent=2, sort_keys=False))\n"
  },
  {
    "path": "zillion/scripts/load_config.py",
    "content": "#!/usr/bin/env python\n\"\"\"Helper script to load a config for testing/inspection. This will drop \nyou into a PDB shell with the loaded Warehouse object available as `wh`.\"\"\"\n\nimport ast\nimport logging\nimport time\n\nfrom tlbx import Script, Arg, raiseif, st\n\nfrom zillion.core import info, set_log_level\nfrom zillion.datasource import DataSource\nfrom zillion.warehouse import Warehouse\n\n\n@Script(\n    Arg(\"config\", help=\"Path to warehouse config file\"),\n    Arg(\n        \"-ds\",\n        \"--ds_config\",\n        action=\"store_true\",\n        default=False,\n        help=\"Interpret the config as a DataSource config and create a Warehouse from the DataSource\",\n    ),\n    Arg(\"-ll\", \"--log_level\", type=int, default=logging.INFO, help=\"Set log level\"),\n)\ndef main(\n    config=None,\n    ds_config=False,\n    log_level=None,\n):\n    if log_level:\n        set_log_level(log_level)\n\n    start = time.time()\n    if ds_config:\n        ds = DataSource(\"bootstrap\", config=config)\n        wh = Warehouse(datasources=[ds])\n    else:\n        wh = Warehouse(config=config)\n\n    info(f\"Loaded config in {time.time() - start:.2f} seconds\")\n    info(f\"Use the 'wh' variable to inspect the loaded Warehouse object.\")\n    st()\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "zillion/scripts/run_report.py",
    "content": "#!/usr/bin/env python\n\"\"\"Helper script to run reports in the command line\"\"\"\n\nimport ast\nimport logging\n\nfrom tlbx import Script, Arg, raiseif, st\n\nfrom zillion.core import info, set_log_level, nlp_installed\nfrom zillion.datasource import DataSource\nfrom zillion.warehouse import Warehouse\n\n\n@Script(\n    Arg(\"config\", help=\"Path to warehouse config file\"),\n    Arg(\n        \"-ds\",\n        \"--ds-config\",\n        action=\"store_true\",\n        default=False,\n        help=\"Interpret the config as a DataSource config and create a Warehouse from the DataSource\",\n    ),\n    Arg(\"-m\", \"--metrics\", nargs=\"+\", help=\"Metrics to include in report\"),\n    Arg(\"-d\", \"--dimensions\", nargs=\"+\", help=\"Dimensions to include in report\"),\n    Arg(\"-c\", \"--criteria\", help=\"String to be eval'd as criteria param\"),\n    Arg(\"-o\", \"--order-by\", help=\"String to be eval'd as order by param\"),\n    Arg(\"-r\", \"--rollup\", help=\"Rollup setting\"),\n    Arg(\"-rf\", \"--row-filters\", help=\"String to be eval'd as row filter param\"),\n    Arg(\"-l\", \"--limit\", type=int, help=\"Limit setting\"),\n    Arg(\n        \"-t\",\n        \"--text\",\n        type=str,\n        help=\"Execute a report from natural language text. Requires the NLP extension.\",\n    ),\n    Arg(\"-ll\", \"--log-level\", type=int, default=20, help=\"Set log level\"),\n    Arg(\n        \"-s\",\n        \"--set-trace\",\n        action=\"store_true\",\n        default=False,\n        help=\"Drop into debugger to inspect the DataFrame\",\n    ),\n)\ndef main(\n    config=None,\n    ds_config=False,\n    metrics=None,\n    dimensions=None,\n    criteria=None,\n    order_by=None,\n    row_filters=None,\n    rollup=None,\n    limit=None,\n    text=None,\n    log_level=None,\n    set_trace=None,\n):\n    if log_level:\n        set_log_level(log_level)\n\n    raiseif(\n        text and not nlp_installed,\n        \"The NLP extension is not installed. Please install it with `pip install zillion[nlp]` to use the --text option.\",\n    )\n\n    if ds_config:\n        ds = DataSource(\"bootstrap\", config=config)\n        wh = Warehouse(datasources=[ds])\n    else:\n        wh = Warehouse(config=config)\n\n    if text:\n        info(f\"Executing report from text: {text}\")\n        result = wh.execute_text(text)\n    else:\n        if criteria:\n            criteria = ast.literal_eval(criteria)\n        if order_by:\n            order_by = ast.literal_eval(order_by)\n        if row_filters:\n            row_filters = ast.literal_eval(row_filters)\n\n        params = dict(\n            metrics=metrics,\n            dimensions=dimensions,\n            criteria=criteria,\n            order_by=order_by,\n            row_filters=row_filters,\n            rollup=rollup,\n            limit=limit,\n        )\n        info(\"Executing report with params:\")\n        info(params)\n        result = wh.execute(**params)\n\n    info(result.df_display)\n    if set_trace:\n        info(\"Dropping into debugger. The DataFrame is available as `result.df`\")\n        st()\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "zillion/scripts/yaml_to_json.py",
    "content": "#!/usr/bin/env python\n\nimport sys, yaml, json\n\nprint(json.dumps(yaml.safe_load(sys.stdin.read()), indent=4))\n"
  },
  {
    "path": "zillion/sql_utils.py",
    "content": "import ast\nimport os\nimport re\n\nimport sqlalchemy as sa\nfrom sqlalchemy.dialects.mysql import dialect as mysql_dialect\nfrom sqlalchemy.dialects.postgresql import dialect as postgresql_dialect\nfrom sqlalchemy.dialects.sqlite import dialect as sqlite_dialect\nfrom sqlalchemy.engine import reflection\nfrom sqlalchemy.engine.url import make_url\nfrom sqlalchemy.ext.compiler import compiles\nfrom sqlalchemy.sql import expression as exp\nimport sqlparse as sp\n\nfrom zillion.core import *\n\n# from zillion.nlp import build_chain, PromptTemplate\n\nDIGIT_THRESHOLD_FOR_MEAN_AGGR = 1\n\nINTEGER_SA_TYPES = [\n    sa.BigInteger,\n    sa.BIGINT,\n    sa.Integer,\n    sa.INT,\n    sa.INTEGER,\n    sa.SmallInteger,\n    sa.SMALLINT,\n]\n\nFLOAT_SA_TYPES = [\n    sa.DECIMAL,\n    sa.Float,\n    sa.FLOAT,\n    sa.Numeric,\n    sa.NUMERIC,\n    sa.REAL,\n    sa.dialects.postgresql.DOUBLE_PRECISION,\n    sa.dialects.postgresql.MONEY,\n]\n\nNUMERIC_SA_TYPES = INTEGER_SA_TYPES + FLOAT_SA_TYPES\n\nDATETIME_SA_TYPES = [sa.DateTime, sa.DATETIME, sa.Time, sa.TIME, sa.TIMESTAMP]\n\nDATE_SA_TYPES = [sa.Date, sa.DATE]\n\nAGGREGATION_SQLA_FUNC_MAP = {\n    AggregationTypes.MEAN: sa.func.AVG,\n    AggregationTypes.COUNT: sa.func.COUNT,\n    AggregationTypes.COUNT_DISTINCT: lambda x: sa.func.COUNT(sa.distinct(x)),\n    AggregationTypes.MIN: sa.func.MIN,\n    AggregationTypes.MAX: sa.func.MAX,\n    AggregationTypes.SUM: sa.func.SUM,\n}\n\nSQL_AGGREGATION_FUNCS = set(\n    [\n        \"AVG\",\n        \"SUM\",\n        \"MIN\",\n        \"MAX\",\n        \"COUNT\",\n        \"COUNT_DISTINCT\",\n        \"STD\",\n        \"MEDIAN\",\n        \"MODE\",\n        \"VAR\",\n    ]\n)\n\n# This establishes a baseline of schemas to ignore during reflection\nDIALECT_IGNORE_SCHEMAS = {\n    \"mysql\": set([\"information_schema\", \"performance_schema\", \"mysql\", \"sys\"]),\n    \"postgresql\": set([\"information_schema\", r\"pg_(.*)\"]),\n}\n\n\nclass InvalidSQLAlchemyTypeString(Exception):\n    pass\n\n\ndef contains_sql_keywords(sql):\n    \"\"\"Determine whether a SQL query contains special SQL keywords (DML, DDL,\n    etc.)\n\n    **Parameters:**\n\n    * **sql** - (*str or sqlparse result*) The SQL query to check for keywords\n\n    **Returns:**\n\n    (*bool*) - True if the SQL string contains keywords\n\n    \"\"\"\n    if isinstance(sql, str):\n        sql = sp.parse(sql)\n\n    for token in sql:\n        if token.ttype in (sp.tokens.DML, sp.tokens.DDL, sp.tokens.CTE):\n            return True\n\n        if isinstance(token, sp.sql.TokenList):\n            token_result = contains_sql_keywords(token)\n            if token_result:\n                return True\n    return False\n\n\ndef contains_aggregation(sql):\n    \"\"\"Determine whether a SQL query contains aggregation functions.\n\n    **Warning:**\n\n    This relies on a non-exhaustive list of SQL aggregation functions\n    to look for. This will likely need updating.\n\n    **Parameters:**\n\n    * **sql** - (*str or sqlparse result*) The SQL query to check for\n    aggregation functions\n\n    **Returns:**\n\n    (*bool*) - True if the SQL string contains aggregation\n\n    \"\"\"\n    if isinstance(sql, str):\n        sql = sp.parse(sql)\n\n    for token in sql:\n        if isinstance(token, sp.sql.Function):\n            name = token.get_name()\n            if name.upper() in SQL_AGGREGATION_FUNCS:\n                return True\n        if isinstance(token, sp.sql.TokenList):\n            token_result = contains_aggregation(token)\n            if token_result:\n                return True\n    return False\n\n\ndef type_string_to_sa_type(type_string):\n    \"\"\"Convert a field type string to a SQLAlchemy type. The type string will be\n    evaluated as a python statement or class name to init from the SQLAlchemy\n    top level module. Dialect-specific SQLAlchemy types are not currently\n    supported.\n\n    **Parameters:**\n\n    * **type_string** - (*str*) A string representing a SQLAlchemy type, such as\n    \"Integer\", or \"String(32)\". This does a case-insensitive search and will\n    return the first matching SQLAlchemy type.\n\n    **Returns:**\n\n    (*SQLAlchemy type object*) - An init'd SQLAlchemy type object\n\n    \"\"\"\n    PANDAS_TYPE_MAP = {\n        \"int\": \"Integer\",\n        \"int64\": \"BigInteger\",\n        \"float\": \"Float\",\n        \"float64\": \"Float\",\n        \"object\": \"String\",\n        \"bool\": \"Boolean\",\n        \"datetime\": \"DateTime\",\n        \"datetime64[ns]\": \"DateTime\",\n    }\n\n    type_string = PANDAS_TYPE_MAP.get(type_string, type_string)\n\n    try:\n        tree = ast.parse(type_string)\n        ast_obj = tree.body[0].value\n        if isinstance(ast_obj, ast.Name):\n            type_name = ast_obj.id\n            type_args = []\n            type_kwargs = {}\n        else:\n            type_name = ast_obj.func.id\n            type_args = [arg.n for arg in ast_obj.args]\n            type_kwargs = {k.arg: k.value.n for k in ast_obj.keywords}\n\n        type_cls = igetattr(sa.types, type_name, None)\n        if not type_cls:\n            raise InvalidSQLAlchemyTypeString(\n                \"Could not find matching type for %s\" % type_name\n            )\n        return type_cls(*type_args, **type_kwargs)\n    except Exception as e:\n        raise InvalidSQLAlchemyTypeString(\"Unable to parse %s\" % type_string) from e\n\n\ndef to_generic_sa_type(type):\n    \"\"\"Return a generic SQLAlchemy type object from a type that may be dialect-\n    specific. This will attempt to preserve common type settings such as\n    specified field length, scale, and precision. On error it will fall back to\n    trying to init the generic type with no params.\n    \"\"\"\n    params = {}\n    for param in [\"length\", \"precision\", \"scale\"]:\n        if hasattr(type, param):\n            params[param] = getattr(type, param)\n    try:\n        return type._type_affinity(**params)\n    except Exception as e:\n        if \"unexpected keyword\" not in str(e):\n            raise\n        return type._type_affinity()\n\n\ndef infer_aggregation_and_rounding(column):\n    \"\"\"Infer the aggregation and rounding settings based on the column type.\n    This is just a rough / best guess based on the column type, precision\n    and rounding settings.\n\n    **Parameters:**\n\n    * **column** - (*SQLAlchemy column*) The column to analyze\n\n    **Returns:**\n\n    (*AggregationType, int*) - A 2-item tuple of the aggregation type and\n    rounding to use\n\n    \"\"\"\n    if isinstance(column.type, tuple(INTEGER_SA_TYPES)):\n        return AggregationTypes.SUM, 0\n    if isinstance(column.type, tuple(FLOAT_SA_TYPES)):\n        rounding = column.type.scale\n        precision = column.type.precision\n        if rounding is None and precision is None:\n            aggregation = AggregationTypes.SUM\n        else:\n            if rounding:\n                whole_digits = precision - rounding\n                if whole_digits <= DIGIT_THRESHOLD_FOR_MEAN_AGGR:\n                    aggregation = AggregationTypes.MEAN\n                else:\n                    aggregation = AggregationTypes.SUM\n            else:\n                # We really don't know what to do here, so we'll just\n                # guess SUM.\n                aggregation = AggregationTypes.SUM\n        return aggregation, rounding\n    raise ZillionException(\"Column %s is not a numeric type\" % column)\n\n\ndef aggregation_to_sqla_func(aggregation):\n    \"\"\"Convert an AggregationType string to a SQLAlchemy function\"\"\"\n    return AGGREGATION_SQLA_FUNC_MAP[aggregation]\n\n\ndef is_numeric_type(type):\n    \"\"\"Determine if this is a numeric SQLAlchemy type\"\"\"\n    raiseif(isinstance(type, str), \"Expected a SQLAlchemy type, got string\")\n    if isinstance(type, tuple(NUMERIC_SA_TYPES)):\n        return True\n    return False\n\n\ndef is_probably_metric(column, formula=None, nlp_column_info=None):\n    \"\"\"Determine if a column is probably a metric. This is used when trying to\n    automatically init/reflect a datasource and determine the field types for\n    columns. The logic is very coarse, and should not be relied on for more than\n    quick/convenient use cases.\n\n    **Parameters:**\n\n    * **column** - (*SQLAlchemy column*) The column to analyze\n    * **formula** - (*str, optional*) A formula to calculate the column\n    * **nlp_column_info** - (*dict, optional*) Column attributes inferred from\n    natural language processing of the table/column definitions\n\n    **Returns:**\n\n    (*bool*) - True if the column is probably a metric\n\n    \"\"\"\n    if formula and contains_aggregation(formula):\n        return True\n    if column.primary_key:\n        return False\n    if column.name.endswith(\"_id\") or column.name.endswith(\"Id\") or column.name == \"id\":\n        return False\n    if nlp_column_info:\n        if nlp_column_info.get(\"type\", None) == FieldTypes.METRIC:\n            return True\n        return False\n    if not isinstance(column.type, tuple(NUMERIC_SA_TYPES)):\n        return False\n    return True\n\n\ndef sqla_compile(expr):\n    \"\"\"Compile a SQL expression\n\n    **Parameters:**\n\n    * **expr** - (*SQLAlchemy expression*) The SQLAlchemy expression to compile\n\n    **Returns:**\n\n    (*str*) - The compiled expression string\n\n    \"\"\"\n    return str(expr.compile(compile_kwargs={\"literal_binds\": True}))\n\n\ndef printexpr(expr):\n    \"\"\"Print a SQLAlchemy expression\"\"\"\n    print(sqla_compile(expr))\n\n\ndef column_fullname(column, prefix=None):\n    \"\"\"Get a fully qualified name for a column\n\n    **Parameters:**\n\n    * **column** - (*SQLAlchemy column*) A SQLAlchemy column object to get the\n    full name for\n    * **prefix** - (*str, optional*) If specified, a manual prefix to prepend to\n    the output string. This will automatically be separted with a \".\".\n\n    **Returns:**\n\n    (*str*) - A fully qualified column name. The exact format will vary\n    depending on your SQLAlchemy metadata, but an example would be:\n    schema.table.column\n\n    \"\"\"\n    name = \"%s.%s\" % (column.table.fullname, column.name)\n    if prefix:\n        name = prefix + \".\" + name\n    return name\n\n\ndef get_schema_and_table_name(table):\n    \"\"\"Extract the schema and table name from a full table name. If the table\n    name is not schema-qualified, return None for the schema name\"\"\"\n    schema = None\n    table_name = table\n    if \".\" in table:\n        parts = table.split(\".\")\n        raiseifnot(len(parts) == 2, \"Invalid table name: %s\" % table)\n        schema, table_name = parts\n    return schema, table_name\n\n\ndef get_sqla_criterion_expr(column, criterion, negate=False):\n    \"\"\"Create a SQLAlchemy criterion expression\n\n    **Parameters:**\n\n    * **column** - (*SQLAlchemy column*) A SQLAlchemy column object to be used\n    in the expression\n    * **criterion** - (*3-item iterable*) A 3-item tuple or list of the format\n    [field, operation, value(s)]. See `core.CRITERIA_OPERATIONS` for supported\n    operations. The value item may take on different formats depending on the\n    operation. In most cases passing an iterable will result in multiple\n    criteria of that operation being formed. For example, (\"my_field\", \"=\",\n    [1,2,3]) would logically or 3 conditions of equality to the 3 values in the\n    list. The \"between\" operations expect each value to be a 2-item iterable\n    representing the lower and upper bound of the criterion.\n    * **negate** - (*bool, optional*) Negate the expression\n\n    **Returns:**\n\n    (*SQLAlchemy expression*) - A SQLALchemy expression representing the\n    criterion\n\n    **Notes:**\n\n    Postgresql \"like\" is case sensitive, but mysql \"like\" is not. Postgresql\n    also supports \"ilike\" to specify case insensitive, so one option is to look\n    at the dialect to determine the function, but that is not supported yet.\n\n    \"\"\"\n    field, op, values = criterion\n    op = op.lower()\n    if not isinstance(values, (list, tuple)):\n        values = [values]\n\n    use_or = True\n    has_null = any([v is None for v in values])\n\n    if op == \"=\":\n        clauses = [column == v if v is not None else column.is_(None) for v in values]\n    elif op == \"!=\":\n        clauses = [column != v if v is not None else column.isnot(None) for v in values]\n    elif op == \">\":\n        clauses = [column > v for v in values]\n    elif op == \"<\":\n        clauses = [column < v for v in values]\n    elif op == \">=\":\n        clauses = [column >= v for v in values]\n    elif op == \"<=\":\n        clauses = [column <= v for v in values]\n    elif op == \"in\":\n        if has_null:\n            clauses = [\n                column == v if v is not None else column.is_(None) for v in values\n            ]\n        else:\n            clauses = [column.in_(values)]\n    elif op == \"not in\":\n        use_or = False\n        if has_null:\n            clauses = [\n                column != v if v is not None else column.isnot(None) for v in values\n            ]\n        else:\n            clauses = [sa.not_(column.in_(values))]\n    elif op == \"between\":\n        raiseifnot(len(values) == 2, \"Between clause value must have length of 2\")\n        clauses = [column.between(values[0], values[1])]\n    elif op == \"not between\":\n        raiseifnot(len(values) == 2, \"Between clause value must have length of 2\")\n        clauses = [sa.not_(column.between(values[0], values[1]))]\n    elif op == \"like\":\n        clauses = [column.like(v) for v in values]\n    elif op == \"not like\":\n        use_or = False\n        clauses = [sa.not_(column.like(v)) for v in values]\n    else:\n        raise ZillionException(\"Invalid criterion operand: %s\" % op)\n\n    if use_or:\n        clause = sa.or_(*clauses)\n    else:\n        clause = sa.and_(*clauses)\n\n    if negate:\n        clause = sa.not_(clause)\n\n    return clause\n\n\ndef check_metadata_url(url, confirm_exists=False):\n    \"\"\"Check validity of the metadata URL\"\"\"\n    url = make_url(url)\n    dialect = url.get_dialect().name\n    if confirm_exists:\n        if dialect == \"sqlite\":\n            raiseifnot(\n                os.path.isfile(url.database),\n                \"SQLite DB does not exist: %s\" % url.database,\n            )\n        else:\n            raise AssertionError(\n                \"confirm_exists not supported for dialect: %s\" % dialect\n            )\n\n\ndef comment(self, c):\n    \"\"\"See https://github.com/sqlalchemy/sqlalchemy/wiki/CompiledComments\"\"\"\n    self._added_comment = c\n    return self\n\n\nexp.ClauseElement.comment = comment\nexp.ClauseElement._added_comment = None\n\n\ndef _compile_element(elem, prepend_newline=False):\n    \"\"\"See https://github.com/sqlalchemy/sqlalchemy/wiki/CompiledComments\"\"\"\n\n    @compiles(elem)\n    def add_comment(element, compiler, **kw):\n        meth = getattr(compiler, \"visit_%s\" % element.__visit_name__)\n        text = meth(element, **kw)\n        if element._added_comment:\n            # Modified this line to not add newline\n            text = \"-- %s\\n\" % element._added_comment + text\n        elif prepend_newline:\n            text = \"\\n\" + text\n        return text\n\n\n_compile_element(exp.Case)\n_compile_element(exp.Label, True)\n_compile_element(exp.ColumnClause)\n_compile_element(exp.Join)\n_compile_element(exp.Select)\n_compile_element(exp.Alias)\n_compile_element(exp.Exists)\n\n\ndef get_schemas(engine):\n    \"\"\"Inspect the SQLAlchemy engine to get a list of schemas\"\"\"\n    insp = reflection.Inspector.from_engine(engine)\n    return insp.get_schema_names()\n\n\n# -------- Some DB-specific stuff\n\n\ndef to_mysql_type(type):\n    \"\"\"Compile into a MySQL SQLAlchemy type\"\"\"\n    return type.compile(dialect=mysql_dialect())\n\n\ndef to_postgresql_type(type):\n    \"\"\"Compile into a PostgreSQL SQLAlchemy type\"\"\"\n    return type.compile(dialect=postgresql_dialect())\n\n\ndef to_sqlite_type(type):\n    \"\"\"Compile into a SQLite SQLAlchemy type\"\"\"\n    return type.compile(dialect=sqlite_dialect())\n\n\ndef to_duckdb_type(type):\n    \"\"\"Compile into a DuckDB SQLAlchemy type\"\"\"\n    from duckdb_engine import Dialect as duckdb_dialect\n\n    return type.compile(dialect=duckdb_dialect())\n\n\ndef filter_dialect_schemas(schemas, dialect):\n    \"\"\"Filter out a set of baseline/system schemas for a dialect\n\n    **Parameters:**\n\n    * **schemas** - (*list*) A list of schema names\n    * **dialect** - (*str*) The name of a SQLAlchemy dialect\n\n    **Returns:**\n\n    (*list*) - A filtered list of schema names\n\n    \"\"\"\n    ignores = DIALECT_IGNORE_SCHEMAS.get(dialect, None)\n    if not ignores:\n        return schemas\n\n    final = []\n    for schema in schemas:\n        add = True\n        for ignore in ignores:\n            if re.match(ignore, schema):\n                add = False\n                break\n        if add:\n            final.append(schema)\n\n    return final\n\n\ndef get_postgres_schemas(conn):\n    \"\"\"Helper to list PostgreSQL schemas\"\"\"\n    qr = conn.execute(\n        sa.text(\n            \"SELECT schema_name FROM information_schema.schemata \"\n            \"WHERE schema_name not LIKE 'pg_%' and schema_name != 'information_schema'\"\n        )\n    )\n    return [x[\"schema_name\"] for x in qr.fetchall()]\n\n\ndef get_postgres_pid(conn):\n    \"\"\"Helper to get the PostgreSQL connection PID\"\"\"\n    qr = conn.execute(\"select pg_backend_pid()\")\n    pid = qr.fetchone()[0]\n    return pid\n"
  },
  {
    "path": "zillion/version.py",
    "content": "\"\"\"Package version\"\"\"\n\n__version__ = \"0.14.0\"\n"
  },
  {
    "path": "zillion/warehouse.py",
    "content": "from collections import defaultdict, OrderedDict\nimport time\n\nimport sqlalchemy as sa\n\nfrom zillion.configs import load_warehouse_config, is_active\nfrom zillion.core import *\nfrom zillion.datasource import DataSource\nfrom zillion.field import get_table_dimensions, get_table_fields, FieldManagerMixin\nfrom zillion.model import zillion_engine, Warehouses\nfrom zillion.nlp import init_warehouse_embeddings\nfrom zillion.report import Report\nfrom zillion.sql_utils import is_numeric_type, column_fullname\n\n\nclass Warehouse(FieldManagerMixin):\n    \"\"\"A reporting warehouse that contains various datasources to run queries\n    against and combine data in report results. The warehouse may contain global\n    definitions for metrics and dimensions, and will also perform integrity\n    checks of any added datasources.\n\n    Note that the id, name, and meta attributes will only be populated when\n    the Warehouse is persisted or loaded from a database.\n\n    **Parameters:**\n\n    * **config** - (*dict, str, or buffer, optional*) A dict adhering to the\n    WarehouseConfigSchema or a file location to load the config from\n    * **datasources** - (*list, optional*) A list of DataSources that will make\n    up the warehouse\n    * **ds_priority** - (*list, optional*) An ordered list of datasource names\n    establishing querying priority. This comes into play when part of a report\n    may be satisfied by multiple datasources. Datasources earlier in this list\n    will be higher priority.\n    * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n    fields\n\n    \"\"\"\n\n    def __init__(self, config=None, datasources=None, ds_priority=None, nlp=False):\n        # Note: id/name get updated on save/load\n        self.id = None\n        self.name = None\n        self.meta = None\n        self.nlp = nlp\n        self._datasources = OrderedDict()\n        self._metrics = {}\n        self._dimensions = {}\n        self._supported_dimension_cache = {}\n\n        for ds in datasources or []:\n            self.add_datasource(ds, skip_integrity_checks=True)\n\n        if config:\n            config = load_warehouse_config(config)\n            self.apply_config(config, skip_integrity_checks=True, nlp=nlp)\n\n        raiseifnot(self._datasources, \"No datasources provided or found in config\")\n\n        self._add_default_display_names()\n        self.run_integrity_checks()\n\n        self.ds_priority = ds_priority or list(self._datasources.keys())\n\n        raiseifnot(\n            isinstance(self.ds_priority, list),\n            (\n                \"Invalid format for ds_priority, must be list of datasource names: %s\"\n                % self.ds_priority\n            ),\n        )\n        raiseifnot(\n            len(self.ds_priority) == len(self._datasources),\n            \"Length mismatch between ds_priority and datasources\",\n        )\n        for ds_name in self.ds_priority:\n            raiseifnot(\n                ds_name in self._datasources,\n                \"Datasource %s is in ds_priority but not in datasource map\" % ds_name,\n            )\n\n    def __repr__(self):\n        return \"<%s(name=%s)> Datasources: %s\" % (\n            self.__class__.__name__,\n            self.name,\n            self.datasource_names,\n        )\n\n    @property\n    def datasources(self):\n        \"\"\"The datasource objects in this warehouse\"\"\"\n        return self._datasources.values()\n\n    @property\n    def datasource_names(self):\n        \"\"\"The names of datasources in this warehouse\"\"\"\n        return self._datasources.keys()\n\n    def print_info(self):\n        \"\"\"Print the warehouse structure\"\"\"\n        print(\"---- Warehouse\")\n        print(\"metrics:\")\n        self.print_metrics(indent=2)\n        print(\"dimensions:\")\n        self.print_dimensions(indent=2)\n\n        for ds in self.datasources:\n            print()\n            ds.print_info()\n\n    def get_datasource(self, name, adhoc_datasources=None):\n        \"\"\"Get the datasource object corresponding to this datasource name\n\n        **Parameters:**\n\n        * **name** - (*str*) The name of the datasource\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n\n        **Returns:**\n\n        (*DataSource*) - The matching datasource object\n\n        \"\"\"\n        if name in self._datasources:\n            return self._datasources[name]\n\n        for adhoc_datasource in adhoc_datasources or []:\n            if adhoc_datasource.name == name:\n                return adhoc_datasource\n\n        raise ZillionException('Could not find datasource with name \"%s\"' % name)\n\n    def get_child_field_managers(self):\n        \"\"\"Get a list of all datasources in this warehouse\"\"\"\n        return list(self.datasources)\n\n    def add_datasource(self, ds, skip_integrity_checks=False):\n        \"\"\"Add a datasource to this warehouse\n\n        **Parameters:**\n\n        * **ds** - (*DataSource*) The datasource object to add\n        * **skip_integrity_checks** - (*bool, optional*) If True, skip warehouse\n        integrity checks\n\n        \"\"\"\n        dbg(\"Adding datasource %s\" % ds.name)\n        self._datasources[ds.name] = ds\n        self._clear_supported_dimension_cache()\n        if not skip_integrity_checks:\n            self.run_integrity_checks()\n\n    def remove_datasource(self, ds, skip_integrity_checks=False):\n        \"\"\"Remove a datasource from this config\n\n        **Parameters:**\n\n        * **ds** - (*DataSource*) The datasource object to remove\n        * **skip_integrity_checks** - (*bool, optional*) If True, skip warehouse\n        integrity checks\n\n        \"\"\"\n        dbg(\"Removing datasource %s\" % ds.name)\n        del self._datasources[ds.name]\n        self._clear_supported_dimension_cache()\n        if not skip_integrity_checks:\n            self.run_integrity_checks()\n\n    def apply_config(self, config, skip_integrity_checks=False, nlp=False):\n        \"\"\"Apply a warehouse config\n\n        **Parameters:**\n\n        * **config** - (*dict*) A dict adhering to the WarehouseConfigSchema\n        * **skip_integrity_checks** - (*bool, optional*) If True, skip warehouse\n        integrity checks\n         * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        \"\"\"\n        self._create_or_update_datasources(\n            config.get(\"datasources\", {}),\n            skip_integrity_checks=skip_integrity_checks,\n            nlp=nlp,\n        )\n\n        if config.get(\"meta\", None):\n            meta = self.meta or {}\n            # The config meta takes precedence over any existing meta settings\n            self.meta = dictmerge(meta, config[\"meta\"], overwrite=True)\n\n        # NOTE: this goes second in case any formula fields reference fields\n        # defined or created in the datasources. It may make more sense to\n        # only defer population of formula fields.\n        self._populate_global_fields(config, force=True)\n        self._clear_supported_dimension_cache()\n\n    def run_integrity_checks(self, adhoc_datasources=None):\n        \"\"\"Run a series of integrity checks on the warehouse and its\n        datasources. This will raise a WarehouseException with all failed\n        checks.\n\n        **Parameters:**\n\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers to\n        include for this request\n\n        \"\"\"\n        errors = []\n        if adhoc_datasources:\n            for ds in adhoc_datasources:\n                if ds.name in self.datasource_names:\n                    errors.append(\n                        \"Adhoc DataSource '%s' name conflicts with existing DataSource\"\n                        % ds.name\n                    )\n\n        errors.extend(\n            self._check_reserved_field_names(adhoc_datasources=adhoc_datasources)\n        )\n        errors.extend(\n            self._check_conflicting_fields(adhoc_datasources=adhoc_datasources)\n        )\n        errors.extend(self._check_fields_have_type(adhoc_datasources=adhoc_datasources))\n        errors.extend(\n            self._check_primary_key_dimensions(adhoc_datasources=adhoc_datasources)\n        )\n        errors.extend(\n            self._check_weighting_metrics(adhoc_datasources=adhoc_datasources)\n        )\n        errors.extend(self._check_required_grain(adhoc_datasources=adhoc_datasources))\n        errors.extend(\n            self._check_incomplete_dimensions(adhoc_datasources=adhoc_datasources)\n        )\n        errors.extend(\n            self._check_valid_table_parents(adhoc_datasources=adhoc_datasources)\n        )\n\n        if errors:\n            raise WarehouseException(\"Integrity check(s) failed.\\n%s\" % pf(errors))\n\n    def load_report(self, spec_id, adhoc_datasources=None):\n        \"\"\"Load a report from a spec ID\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) The ID of a report spec\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n\n        **Returns:**\n\n        (*Report*) - A report built from this report spec\n\n        \"\"\"\n        raiseifnot(\n            self.id,\n            \"The Warehouse must be saved before ReportSpecs can be loaded for the Warehouse\",\n        )\n        return Report.load(self, spec_id, adhoc_datasources=adhoc_datasources)\n\n    def delete_report(self, spec_id):\n        \"\"\"Delete a report by spec ID\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) The ID of a report spec to delete\n\n        \"\"\"\n        raiseifnot(\n            self.id,\n            \"The Warehouse must be saved before ReportSpecs can be deleted for the Warehouse\",\n        )\n        Report.delete(self, spec_id)\n\n    def save_report(self, meta=None, **kwargs):\n        \"\"\"Init a Report and save it as a ReportSpec. Note that the Warehouse\n        must be saved before any ReportSpecs can be saved for the Warehouse.\n\n        **Parameters:**\n\n        * **meta** - (*object, optional*) A metadata object to be\n        serialized as JSON and stored with the report\n        * ****kwargs** - Passed through to Report\n\n        **Returns:**\n\n        (*Report*) - The built report with the spec ID populated\n\n        \"\"\"\n        raiseifnot(\n            self.id,\n            \"The Warehouse must be saved before ReportSpecs can be saved for the Warehouse\",\n        )\n        report = Report(self, **kwargs)\n        report.save(meta=meta)\n        return report\n\n    def save(self, name, config_url, meta=None):\n        \"\"\"Save the warehouse config and return the ID\n\n        **Parameters:**\n\n        * **name** - (*str*) A name to give the Warehouse\n        * **config_url** - (*str*) A URL pointing to a config file that can\n        be used to recreate the warehouse\n        * **meta** - (*object, optional*) A metadata object to be\n        serialized as JSON and stored with the warehouse. This will be merged\n        into existing meta settings if present and take precedence.\n\n        **Returns:**\n\n        (*int*) - The ID of the saved Warehouse\n\n        \"\"\"\n        raiseifnot(name, \"A unique name must be specified to save a Warehouse\")\n        raiseifnot(\n            # TODO: better check for valid URL\n            config_url and isinstance(config_url, str),\n            \"A config URL must be specified to save a Warehouse\",\n        )\n\n        params = dict(ds_priority=self.ds_priority, config=config_url, nlp=self.nlp)\n\n        self.meta = dictmerge(self.meta or {}, meta or {}, overwrite=True)\n\n        conn = zillion_engine.connect()\n        try:\n            result = conn.execute(\n                Warehouses.insert(),\n                name=name,\n                params=json.dumps(params),\n                meta=json.dumps(self.meta),\n            )\n            wh_id = result.inserted_primary_key[0]\n            raiseifnot(wh_id, \"No warehouse ID found\")\n        finally:\n            conn.close()\n\n        self.id = wh_id\n        self.name = name\n        return wh_id\n\n    def execute(\n        self,\n        metrics=None,\n        dimensions=None,\n        criteria=None,\n        row_filters=None,\n        rollup=None,\n        pivot=None,\n        order_by=None,\n        limit=None,\n        limit_first=False,\n        adhoc_datasources=None,\n        allow_partial=False,\n        disabled_tables=None,\n    ):\n        \"\"\"Build and execute a Report\n\n        **Returns:**\n\n        (*ReportResult*) - The result of the report\n\n        \"\"\"\n        start = time.time()\n\n        report = Report(\n            self,\n            metrics=metrics,\n            dimensions=dimensions,\n            criteria=criteria,\n            row_filters=row_filters,\n            rollup=rollup,\n            pivot=pivot,\n            order_by=order_by,\n            limit=limit,\n            limit_first=limit_first,\n            adhoc_datasources=adhoc_datasources,\n            allow_partial=allow_partial,\n            disabled_tables=disabled_tables,\n        )\n        result = report.execute()\n\n        dbg(\"warehouse report took %.3fs\" % (time.time() - start))\n        return result\n\n    def execute_id(self, spec_id, adhoc_datasources=None):\n        \"\"\"Build and execute a report from a spec ID\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) The ID of a report spec\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n\n        **Returns:**\n\n        (*ReportResult*) - The result of the report\n\n        \"\"\"\n        start = time.time()\n        report = self.load_report(spec_id, adhoc_datasources=adhoc_datasources)\n        result = report.execute()\n        dbg(\"warehouse report took %.3fs\" % (time.time() - start))\n        return result\n\n    def execute_text(self, text, adhoc_datasources=None, allow_partial=False):\n        \"\"\"Build and execute a report from a natural language query. Requires\n        the nlp extension to be installed.\n\n        **Parameters:**\n\n        * **text** - (*str*) A natural language query\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n        * **allow_partial** - (*bool, optional*) If True, allow partial\n\n        **Returns:**\n\n        (*ReportResult*) - The result of the report\n\n        \"\"\"\n        if not nlp_installed:\n            raise WarehouseException(\"nlp extension is not installed\")\n\n        if not self._get_embeddings_collection_name():\n            info(\"Initializing Warehouse embeddings\")\n            self.init_embeddings()\n\n        start = time.time()\n        report = Report.from_text(\n            self, text, adhoc_datasources=adhoc_datasources, allow_partial=allow_partial\n        )\n        result = report.execute()\n        dbg(\"warehouse report took %.3fs\" % (time.time() - start))\n        return result\n\n    def get_metric_table_set(\n        self,\n        metric,\n        grain,\n        dimension_grain,\n        adhoc_datasources=None,\n        disabled_tables=None,\n    ):\n        \"\"\"Get a TableSet that can satisfy a metric at a given grain\n\n        **Parameters:**\n\n        * **metric** - (*str*) A metric name\n        * **grain** - (*list*) A list of dimension names representing the full\n        grain required including dimension and criteria grain\n        * **dimension_grain** - (*list of str*) A list of dimension names\n        representing the requested dimensions for report grouping\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers for\n        this request\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request.\n\n        **Returns:**\n\n        (*TableSet*) - A TableSet that can satisfy this request\n\n        \"\"\"\n        dbg(\"metric:%s grain:%s\" % (metric, grain))\n        ds_metric_tables = self._get_ds_tables_with_metric(\n            metric, adhoc_datasources=adhoc_datasources, disabled_tables=disabled_tables\n        )\n        ds_table_sets = self._get_ds_table_sets(\n            ds_metric_tables,\n            metric,\n            grain,\n            dimension_grain,\n            adhoc_datasources=adhoc_datasources,\n        )\n        if not ds_table_sets:\n            msg = self._generate_unsupported_grain_msg(\n                grain,\n                metric,\n                adhoc_datasources=adhoc_datasources,\n                disabled_tables=disabled_tables,\n            )\n            raise UnsupportedGrainException(msg)\n        table_set = self._choose_best_table_set(ds_table_sets)\n        return table_set\n\n    def get_dimension_table_set(\n        self, grain, dimension_grain, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Get a TableSet that can satisfy dimension table joins across this\n        grain\n\n        **Parameters:**\n\n        * **grain** - (*list*) A list of dimension names representing the full\n        grain required including dimension and criteria grain\n        * **dimension_grain** - (*list of str*) A list of dimension names\n        representing the requested dimensions for report grouping\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers for\n        this request\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request.\n\n        **Returns:**\n\n        (*TableSet*) - A TableSet that can satisfy this request\n\n        \"\"\"\n        dbg(\"grain:%s\" % grain)\n\n        table_set = None\n        for dim_name in grain:\n            ds_dim_tables = self._get_ds_dim_tables_with_dim(\n                dim_name,\n                adhoc_datasources=adhoc_datasources,\n                disabled_tables=disabled_tables,\n            )\n            ds_table_sets = self._get_ds_table_sets(\n                ds_dim_tables,\n                dim_name,\n                grain,\n                dimension_grain,\n                adhoc_datasources=adhoc_datasources,\n            )\n            if not ds_table_sets:\n                continue\n            table_set = self._choose_best_table_set(ds_table_sets)\n            break\n\n        if not table_set:\n            raise UnsupportedGrainException(\n                \"No dimension table set found to meet grain: %s\" % grain\n            )\n        return table_set\n\n    def init_embeddings(self, force_recreate=False):\n        \"\"\"Initialize the warehouse embeddings collection. This is necessary\n        to use natural language query to report features.\n\n        **Parameters:**\n\n        * **force_recreate** - (*bool, optional*) If True, force the embeddings\n        collection to be recreated from scratch.\n\n        \"\"\"\n        collection_name = init_warehouse_embeddings(self, force_recreate=force_recreate)\n        self._set_embeddings_collection_name(collection_name)\n\n    def _get_embeddings_collection_name(self):\n        \"\"\"Get the name of the embeddings collection for this warehouse\"\"\"\n        return (self.meta or {}).get(\"nlp\", {}).get(\"collection_name\", None)\n\n    def _set_embeddings_collection_name(self, name):\n        \"\"\"Set the name of the embeddings collection for this warehouse\"\"\"\n        self.meta = self.meta or {}\n        self.meta.setdefault(\"nlp\", {})[\"collection_name\"] = name\n\n    def _create_or_update_datasources(\n        self, ds_configs, skip_integrity_checks=False, nlp=False\n    ):\n        \"\"\"Given a set of datasource configs, create or update the datasources\n        on this warehouse. If a datasource exists already it will be updated by\n        applying the datasource config. Otherwise this attempts to create a\n        datasource from the config.\n\n        **Parameters:**\n\n        * **ds_configs** - (*dict*) A dict mapping datasource names to\n        datasource configs\n        * **skip_integrity_checks** - (*bool, optional*) If True, skip warehouse\n        integrity checks\n        * **nlp** - (*bool, optional*) If true, allow NLP analysis when creating\n        fields\n\n        \"\"\"\n        for ds_name in ds_configs:\n            if ds_name in self.datasource_names:\n                self.get_datasource(ds_name).apply_config(ds_configs[ds_name])\n                continue\n\n            ds = DataSource(ds_name, config=ds_configs[ds_name], nlp=nlp)\n            self.add_datasource(ds, skip_integrity_checks=skip_integrity_checks)\n\n    def _clear_supported_dimension_cache(self):\n        \"\"\"Clear the cache of supported dimensions\"\"\"\n        self._supported_dimension_cache = {}\n\n    def _check_reserved_field_names(self, adhoc_datasources=None):\n        \"\"\"Integrity check against reserved field names\"\"\"\n        errors = []\n        for field in self.get_field_names(adhoc_fms=adhoc_datasources):\n            if field in RESERVED_FIELD_NAMES:\n                errors.append(\"Field name %s is reserved\" % field)\n        return errors\n\n    def _check_conflicting_fields(self, adhoc_datasources=None):\n        \"\"\"Integrity check for conflicting field definitions\"\"\"\n        errors = []\n\n        for field in self.get_field_names(adhoc_fms=adhoc_datasources):\n            if self.has_metric(\n                field, adhoc_fms=adhoc_datasources\n            ) and self.has_dimension(field, adhoc_fms=adhoc_datasources):\n                errors.append(\"Field %s is in both metrics and dimensions\" % field)\n\n            instances = self.get_field_instances(field, adhoc_fms=adhoc_datasources)\n\n            field_type_mismatch = False\n            data_type_mismatch = False\n            aggregation_mismatch = False\n            field_type = None\n            field_aggr = None\n            field_is_numeric = None\n\n            for fm, field_def in instances.items():\n                if not field_type:\n                    field_type = field_def.field_type\n                    field_is_numeric = is_numeric_type(field_def.sa_type)\n                    field_aggr = getattr(field_def, \"aggregation\", None)\n                    continue\n\n                if field_def.field_type != field_type:\n                    field_type_mismatch = True\n\n                if is_numeric_type(field_def.sa_type) != field_is_numeric:\n                    data_type_mismatch = True\n\n                if field_def.field_type == FieldTypes.METRIC:\n                    if field_def.aggregation != field_aggr:\n                        aggregation_mismatch = True\n\n            if field_type_mismatch:\n                errors.append(\"Field %s is in both metrics and dimensions\" % field)\n            if data_type_mismatch:\n                errors.append(\"Field %s has data type mismatches\" % field)\n            if aggregation_mismatch:\n                errors.append(\"Field %s has aggregation mismatches\" % field)\n\n        return errors\n\n    def _check_fields_have_type(self, adhoc_datasources=None):\n        \"\"\"Integrity check for field types\"\"\"\n        errors = []\n\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            for table in ds.metadata.tables.values():\n                if not is_active(table):\n                    continue\n\n                for column in table.c:\n                    if not is_active(column):\n                        continue\n\n                    for field in column.zillion.get_field_names():\n                        if not (\n                            self.has_metric(field, adhoc_fms=adhoc_datasources)\n                            or self.has_dimension(field, adhoc_fms=adhoc_datasources)\n                        ):\n                            errors.append(\n                                \"Field %s for column %s->%s is not defined as a metric or dimension\"\n                                % (field, ds.name, column_fullname(column))\n                            )\n\n        return errors\n\n    def _check_primary_key_dimensions(self, adhoc_datasources=None):\n        \"\"\"Integrity check for primary keys\"\"\"\n        errors = []\n\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            for table in ds.metadata.tables.values():\n                if not is_active(table):\n                    continue\n\n                primary_key = table.zillion.primary_key\n                table_dims = get_table_dimensions(\n                    self, table, adhoc_fms=adhoc_datasources\n                )\n\n                for pk_field in primary_key:\n                    if not self.has_dimension(pk_field):\n                        errors.append(\n                            \"Primary key field is not a dimension: %s\" % pk_field\n                        )\n                    if pk_field not in table_dims:\n                        errors.append(\n                            \"Primary key dimension %s is not in table %s\"\n                            % (pk_field, table.fullname)\n                        )\n\n        return errors\n\n    def _check_weighting_metrics(self, adhoc_datasources=None):\n        \"\"\"Integrity check for weighting metrics\"\"\"\n        errors = []\n\n        for metric in self.get_metrics(adhoc_fms=adhoc_datasources).values():\n            if not metric.weighting_metric:\n                continue\n\n            for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n                tables = ds.get_tables_with_field(metric.name)\n                if not tables:\n                    continue\n\n                for table in tables:\n                    if metric.weighting_metric not in get_table_fields(table):\n                        errors.append(\n                            \"Table %s->%s has metric %s but not weighting metric %s\"\n                            % (\n                                ds.name,\n                                table.fullname,\n                                metric.name,\n                                metric.weighting_metric,\n                            )\n                        )\n\n        return errors\n\n    def _check_required_grain(self, adhoc_datasources=None):\n        \"\"\"Integrity check for required_grain settings\"\"\"\n        errors = []\n\n        for metric in self.get_metrics(adhoc_fms=adhoc_datasources).values():\n            if not metric.required_grain:\n                continue\n\n            for field in metric.required_grain:\n                if not self.has_dimension(field, adhoc_fms=adhoc_datasources):\n                    errors.append(\n                        \"Metric %s references unknown dimension %s in required_grain\"\n                        % (metric.name, field)\n                    )\n\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            for table in ds.metadata.tables.values():\n                if not is_active(table):\n                    continue\n\n                for column in table.c:\n                    if not is_active(column):\n                        continue\n                    if not column.zillion.required_grain:\n                        continue\n\n                    for field in column.zillion.required_grain:\n                        if not self.has_dimension(field, adhoc_fms=adhoc_datasources):\n                            errors.append(\n                                \"Column %s->%s references unknown dimension %s in required_grain\"\n                                % (ds.name, column_fullname(column), field)\n                            )\n\n        return errors\n\n    def _check_incomplete_dimensions(self, adhoc_datasources=None):\n        \"\"\"Integrity check for incomplete_dimensions settings\"\"\"\n        errors = []\n\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            for table in ds.metadata.tables.values():\n                if not is_active(table):\n                    continue\n\n                if not table.zillion.incomplete_dimensions:\n                    continue\n\n                for field in table.zillion.incomplete_dimensions:\n                    if not self.has_dimension(field, adhoc_fms=adhoc_datasources):\n                        errors.append(\n                            \"Table %s->%s references unknown dimension %s in incomplete_dimensions\"\n                            % (ds.name, table.fullname, field)\n                        )\n\n        return errors\n\n    def _check_valid_table_parents(self, adhoc_datasources=None):\n        \"\"\"Integrity check for table parents\"\"\"\n        errors = []\n\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            for table in ds.metadata.tables.values():\n                if not is_active(table):\n                    continue\n\n                if not table.zillion.parent:\n                    continue\n\n                if not ds.has_table(table.zillion.parent, check_active=False):\n                    errors.append(\n                        \"Table %s->%s references unknown parent %s\"\n                        % (ds.name, table.fullname, table.zillion.parent)\n                    )\n\n                parent = ds.get_table(table.zillion.parent, check_active=False)\n                if table.zillion.type != parent.zillion.type:\n                    errors.append(\n                        \"Table %s->%s references parent %s with different table type\"\n                        % (ds.name, table.fullname, table.zillion.parent)\n                    )\n\n        return errors\n\n    def _get_supported_dimensions_for_metric(\n        self, metric, use_cache=True, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Get a set of all supported dimensions for a metric\n\n        **Parameters:**\n\n        * **metric** - (*str or Metric*) A metric name or Metric object\n        * **use_cache** - (*bool, optional*) If True, try to pull the result\n        from the supported dimension cache\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request. Using this causes supported dimension cache logic to be\n        ignored.\n\n        **Returns:**\n\n        (*set*) - A set of dims supported by this metric\n\n        \"\"\"\n        dims = set()\n        metric = self.get_metric(metric, adhoc_fms=adhoc_datasources)\n\n        if (\n            (not disabled_tables)\n            and use_cache\n            and metric.name in self._supported_dimension_cache\n        ):\n            return self._supported_dimension_cache[metric]\n\n        for ds in self.datasources:\n            ds_tables = ds.get_tables_with_field(metric.name)\n            used_tables = set()\n\n            for ds_table in ds_tables:\n                if disabled_tables:\n                    if ds_table.fullname in disabled_tables:\n                        continue\n\n                if ds_table.fullname not in used_tables:\n                    dims |= get_table_dimensions(\n                        self, ds_table, adhoc_fms=adhoc_datasources\n                    )\n                    used_tables.add(ds_table.fullname)\n\n                desc_tables = ds.find_descendent_tables(ds_table)\n                for desc_table in desc_tables:\n                    if desc_table not in used_tables:\n                        dims |= get_table_dimensions(\n                            self, ds.get_table(desc_table), adhoc_fms=adhoc_datasources\n                        )\n                        used_tables.add(desc_table)\n\n        if not disabled_tables:\n            self._supported_dimension_cache[metric] = dims\n        return dims\n\n    def _get_supported_dimensions(\n        self, metrics, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Get all of the supported dimensions shared among these metrics\n\n        **Parameters:**\n\n        * **metrics** - (*list*) A list of metric names or Metric objects\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request. Using this causes supported dimension cache logic to be\n        ignored.\n\n        **Returns:**\n\n        (*set*) - A set of dims supported by all of these metrics\n\n        \"\"\"\n        dims = set()\n        for metric in metrics:\n            supported_dims = self._get_supported_dimensions_for_metric(\n                metric,\n                adhoc_datasources=adhoc_datasources,\n                disabled_tables=disabled_tables,\n            )\n            dims = (dims & supported_dims) if len(dims) > 0 else supported_dims\n        return dims\n\n    def _get_ds_tables_with_metric(\n        self, metric, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Get a list of tables in each datasource that provide this metric\n\n        **Parameters:**\n\n        * **metric** - (*str*) The name of a metric\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n\n        **Returns:**\n\n        (*dict*) - A dict mapping datasource names to a list of tables\n        supporting this metric\n\n        \"\"\"\n        ds_tables = defaultdict(list)\n        count = 0\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            tables = ds.get_tables_with_field(metric)\n            if not tables:\n                continue\n            if disabled_tables:\n                tables = [t for t in tables if t.fullname not in disabled_tables]\n                if not tables:\n                    continue\n            ds_tables[ds.name] = tables\n            count += 1\n        dbg(\n            \"found %d datasources, %d columns for metric %s\"\n            % (len(ds_tables), count, metric)\n        )\n        return ds_tables\n\n    def _get_ds_dim_tables_with_dim(\n        self, dim, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Get a list of tables in each datasource that provide this dimension\n\n        **Parameters:**\n\n        * **dim** - (*str*) The name of a dimension\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers\n        specific to this request\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request.\n\n        **Returns:**\n\n        (*dict*) - A dict mapping datasource names to a list of tables\n        supporting this dimension\n\n        \"\"\"\n        ds_tables = defaultdict(list)\n        count = 0\n        for ds in self.get_field_managers(adhoc_fms=adhoc_datasources):\n            tables = ds.get_dim_tables_with_dim(dim)\n            if not tables:\n                continue\n            if disabled_tables:\n                tables = [t for t in tables if t.fullname not in disabled_tables]\n            ds_tables[ds.name] = tables\n            count += 1\n        dbg(\n            \"found %d datasources, %d columns for dim %s\" % (len(ds_tables), count, dim)\n        )\n        return ds_tables\n\n    def _get_ds_table_sets(\n        self, ds_tables, field, grain, dimension_grain, adhoc_datasources=None\n    ):\n        \"\"\"Get a list of TableSets that can satisfy the grain in each datasource\n\n        **Parameters:**\n\n        * **ds_tables** - (*dict*) A mapping of datasource names to tables\n        containing the field\n        * **field** - (*str*) A field name that is contained in the datasource\n        tables\n        * **grain** - (*list*) A list of dimension names representing the full\n        grain required including dimension and criteria grain\n        * **dimension_grain** - (*list of str*) A list of dimension names\n        representing the requested dimensions for report grouping\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers for\n        this request\n\n        **Returns:**\n\n        (*dict*) - A dict mapping datasource names to possible TableSets that\n        satisfy the field/grain requirements\n\n        \"\"\"\n        ds_table_sets = {}\n        for ds_name, ds_tables_with_field in ds_tables.items():\n            ds = self.get_datasource(ds_name, adhoc_datasources=adhoc_datasources)\n            possible_table_sets = ds.find_possible_table_sets(\n                ds_tables_with_field, field, grain, dimension_grain\n            )\n            if not possible_table_sets:\n                continue\n            ds_table_sets[ds_name] = possible_table_sets\n        dbg(ds_table_sets)\n        return ds_table_sets\n\n    def _choose_best_datasource(self, ds_names):\n        \"\"\"Choose the best datasource to use. Currently this will used the\n        ds_priority attribute to make the decision. If that is not defined it\n        will just take the first datasource in the list. There is room for\n        improvement by taking into account expected query performance.\n\n        **Parameters:**\n\n        * **ds_names** - (*list*) A list of datasource names\n\n        **Returns:**\n\n        (*str*) - The name of the best datasource to use\n\n        \"\"\"\n        if self.ds_priority:\n            for ds_name in self.ds_priority:\n                if ds_name in ds_names:\n                    return ds_name\n\n        dbg(\"No datasource priorities established, choosing first option\")\n        raiseifnot(ds_names, \"No datasource names provided\")\n        return ds_names[0]\n\n    def _choose_best_table_set(self, ds_table_sets):\n        \"\"\"Choose the best TableSet to use among possible options. This will\n        first choose the best datasource among the available options, and then\n        the best TableSet within that. Currently the best TableSet is chosen\n        simply as the one with the fewest number of tables in its join.\n\n        **Parameters:**\n\n        * **ds_table_sets** - (*dict*) A dict mapping datasource names to lists\n        of possible TableSets\n\n        **Returns:**\n\n        (*TableSet*) - The best available TableSet\n\n        \"\"\"\n        ds_name = self._choose_best_datasource(list(ds_table_sets.keys()))\n        table_sets = ds_table_sets[ds_name]\n        best_priority = None\n        table_sets_by_priority = defaultdict(list)\n\n        for ts in table_sets:\n            priority = ts.ds_table.zillion.priority\n            raiseif(\n                priority is None, f\"Expected priority on table {ts.ds_table.fullname}\"\n            )\n            table_sets_by_priority[priority].append(ts)\n            if best_priority is None:\n                best_priority = priority\n            else:\n                best_priority = min(priority, best_priority)\n\n        dbg(f\"Best table set priority = {best_priority}\")\n        top_table_sets = table_sets_by_priority[best_priority]\n\n        if len(top_table_sets) > 1:\n            # TODO: table set priorities based on expected query performance\n            dbg(\"Picking smallest of %d top table sets\" % len(top_table_sets))\n\n        return sorted(top_table_sets, key=len)[0]\n\n    def _generate_unsupported_grain_msg(\n        self, grain, metric, adhoc_datasources=None, disabled_tables=None\n    ):\n        \"\"\"Generate a messaged that aims to help pinpoint why a metric can not\n        meet a specific grain\n\n        **Parameters:**\n\n        * **grain** - (*list*) A list of dimensions\n        * **metric** - (*str*) A metric name\n        * **adhoc_datasources** - (*list, optional*) A list of FieldManagers for\n        this report\n        * **disabled_tables** - (*list, optional*) A list of table names to disable\n        for this request.\n\n        **Returns:**\n\n        (*str*) - A message explaining the unsupported grain issue\n\n        \"\"\"\n        grain = grain or set()\n        supported = self._get_supported_dimensions_for_metric(\n            metric, adhoc_datasources=adhoc_datasources, disabled_tables=disabled_tables\n        )\n        unsupported = grain - supported\n        if unsupported:\n            msg = (\n                \"metric %s can not meet grain %s due to unsupported dimensions: %s\"\n                % (metric, grain, unsupported)\n            )\n        else:\n            msg = \"metric %s can not meet grain %s in any single datasource\" % (\n                metric,\n                grain,\n            )\n        return msg\n\n    @classmethod\n    def load(cls, id):\n        \"\"\"Load a Warehouse from a Warehouse ID\n\n        **Parameters:**\n\n        * **id** - (*int*) A Warehouse ID\n\n        **Returns:**\n\n        (*Warehouse*) - A Warehouse object\n\n        \"\"\"\n        wh = cls._load_warehouse(id)\n        if not wh:\n            raise InvalidWarehouseIdException(\n                \"Could not find Warehouse for id: %s\" % id\n            )\n\n        params = json.loads(wh[\"params\"])\n        meta = json.loads(wh[\"meta\"]) if wh[\"meta\"] else None\n        result = Warehouse(**params)\n        result.meta = meta\n        result.name = wh.name\n        result.id = id\n        return result\n\n    @classmethod\n    def load_warehouse_for_report(cls, spec_id):\n        \"\"\"Load the warehouse corresponding to the ReportSpec\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) A ReportSpec ID\n\n        **Returns:**\n\n        (*Warehouse*) - A Warehouse object\n\n        \"\"\"\n        wh_id = Report.load_warehouse_id_for_report(spec_id)\n        raiseifnot(wh_id, \"No warehouse ID found for spec ID %s\" % spec_id)\n        return cls.load(wh_id)\n\n    @classmethod\n    def load_report_and_warehouse(cls, spec_id):\n        \"\"\"Load a Report and Warehouse from a ReportSpec. The Warehouse\n        will be populated on the returned Report object.\n\n        **Parameters:**\n\n        * **spec_id** - (*int*) A ReportSpec ID\n\n        **Returns:**\n\n        (*Report*) - A Report built from this report spec\n\n        \"\"\"\n        wh = cls.load_warehouse_for_report(spec_id)\n        return wh.load_report(spec_id)\n\n    @classmethod\n    def delete(cls, id):\n        \"\"\"Delete a saved warehouse. Note that this does not delete\n        any report specs that reference this warehouse ID.\n\n        **Parameters:**\n\n        * **id** - (*int*) The ID of a Warehouse to delete\n\n        \"\"\"\n        s = Warehouses.delete().where(Warehouses.c.id == id)\n        conn = zillion_engine.connect()\n        try:\n            conn.execute(s)\n        finally:\n            conn.close()\n\n    @classmethod\n    def _load_warehouse(cls, id):\n        \"\"\"Get a Warehouse row from a Warehouse ID\n\n        **Parameters:**\n\n        * **id** - (*int*) The ID of the Warehouse to load\n\n        **Returns:**\n\n        (*dict*) - A Warehouse row\n\n        \"\"\"\n        s = sa.select(Warehouses.c).where(Warehouses.c.id == id)\n        conn = zillion_engine.connect()\n        try:\n            result = conn.execute(s)\n            row = result.fetchone()\n            return row\n        finally:\n            conn.close()\n\n    @classmethod\n    def from_db_file(cls, *args, **kwargs):\n        \"\"\"Pass args through to DataSource.from_db_file and create a Warehouse\"\"\"\n        ds = DataSource.from_db_file(*args, **kwargs)\n        return cls(datasources=[ds])\n\n    @classmethod\n    def from_data_file(cls, *args, **kwargs):\n        \"\"\"Pass args through to DataSource.from_data_file and create a Warehouse\"\"\"\n        ds = DataSource.from_data_file(*args, **kwargs)\n        return cls(datasources=[ds])\n"
  }
]